【发布时间】:2020-03-08 02:07:20
【问题描述】:
我是 Cassandra 数据库的初学者。我准备了事件存储表的示例,如下所示:
CREATE TABLE IF NOT EXISTS eventstore.Event(
Id uuid,
Data text,
Version int,
AggregateId uuid,
EventIdentity uuid,
Date timestamp,
PRIMARY KEY (AggregateId, Version)
) WITH CLUSTERING ORDER BY (Version ASC)
地点:
Id -> 每个事件的唯一 GUID
数据 -> JSON 事件数据
版本 -> 事件版本的 int 值
AggregateId -> 命名为 Aggregate 的 ID
EventIdentity -> 事件类型 ID
日期 -> 事件发生时的时间戳
我不确定我的主键是否正确(AggregateId,Version)以及按版本进行聚类。我想知道我的表是否会正确分区。按 AggregateId 分区,其中包含按版本排序的此聚合的所有事件。
【问题讨论】:
-
在 Cassandra 中,一切都取决于您计划对该表执行的查询。您能用查询示例更新您的问题吗?
标签: cassandra cql event-sourcing