我想使用cassandra的键值对特性。到目前为止,我一直在使用kyotocabinet,但它不支持多次写入,因此,我想使用cassandra来对表格数据进行版本控制。
Roll No, Name, Age, Sex
14BCE1008, Aviral, 22, Male
14BCE1007, Shantanu, 22, Male
以上数据为表格(csv)。是第1版。接下来是版本2:
Roll No, Name, Age, Sex
14BCE1008, Aviral, 22, Male
14BCE1007, Shantanu, 22, Male
14BCE1209, Piyush, 22, Male
因此,我将上述版本称为版本2,其区别如下: insert_patch
: 14BCE1209
作为键(pk)和 14BCE1209, Piyush, 22, Male
作为价值。我熟悉表的创建,但无法理解版本控制部分。
1条答案
按热度按时间gupuwyp21#
如果使用复合主键而不是由一个字段组成的主键,则表中有多个数据版本。
因此,表定义可以如下所示(如果在插入数据之前“知道”版本号):
插入数据为:
要选择给定键的最新值,可以使用
LIMIT 1
:要为所有分区选择最新版本(不推荐,仅举个例子-需要一种特殊的方法来进行有效的处理):
但这只适用于您事先知道版本的情况。如果你不知道,那么你可以用
timeuuid
键入版本,而不是int
:插入数据作为(而不是
now()
您可以使用代码生成的当前时间戳):和选择将工作与上述相同。。。