我将JSON存储在一个表(实际上是Cassandra列族)中,如下所示:
____________________________________________________________________
| || prop1 | prop2 | ... |
| collection_id || [val1, val2, ...] | [val1, val2, ...] | ... |
|_________________||_____________________|_____________________|_____|
因此将存储一个对象{ prop1: 1, prop2: 2 }
:
____________________________________________
| || prop1 | prop2 |
| collection_id || [1] | [2] |
|_________________||_______________|_________|
为了节省空间,我将进行Kryo序列化每个属性值数组。我担心的是,当我执行写操作时,我需要先加载所有属性值数组,然后将新对象的值添加到每个数组中,然后将每个数组推送回数据库。如果我已经存储了很多事件,那可能会非常昂贵!
有没有办法"追加"对Cassandra中每个数组的值是新的吗?
答案 0 :(得分:0)
附加功能适用于Cassandra的本机集合:http://docs.datastax.com/en/cql/3.0/cql/cql_using/use_list_t.html所以不应使用Kryo序列化集合,而应该序列化元素。