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