我正在寻找关于cassandra数据建模的一些输入,用于时间轴类型的功能。为了存储时间线的数据,我打算在cassandra中使用timeuuid
并将其作为聚类键。这将有助于对数据进行排序。但是可以更新相同的数据,我需要存储与数据相对应的更新的timeuuid,以便可以在时间线中向上推送。这涉及获取先前的data-timeuuid行,删除它并插入新的行。但似乎没有表现。如何处理同一列的排序和更新(在我的情况下为timeuuid)以实现时间轴功能。
答案 0 :(得分:0)
我建议您使用此架构:
CREATE TABLE timeline_idx {
timeline_key text,
time timeuuid,
content_key text,
PRIMARY KEY ((partition_key), time)
}
CREATE TABLE timeline_content {
content_key text,
content blob,
PRIMARY KEY (content_key)
}
Timeline_idx用于为您提供按时间轴排序的内容键。然后,您可以在名为timeline_content的第二个表中检索内容。它没有订购,也没有集群密钥。您可以在不知道其timeuuid的情况下更新您的内容。我为timeline_key和content_key选择了文本类型,但只要它能够唯一地标识时间轴和内容,你就可以选择你想要的任何内容。