我将 JSON 存储在表中(实际上是 Cassandra 列族),如下所示:
____________________________________________________________________
| || prop1 | prop2 | ... |
| collection_id || [val1, val2, ...] | [val1, val2, ...] | ... |
|_________________||_____________________|_____________________|_____|
因此将存储一个对象{ prop1: 1, prop2: 2 }
:
____________________________________________
| || prop1 | prop2 |
| collection_id || [1] | [2] |
|_________________||_______________|_________|
为了节省空间,我将对每个属性值数组进行 Kryo 序列化。我担心的是,当我执行写入时,我需要首先加载所有属性值数组,然后将新对象的值添加到每个数组,然后将每个数组推回数据库。如果我已经存储了很多事件,那可能会非常昂贵!
有没有办法将新值“附加”到 Cassandra 中的每个数组?
最佳答案
Append 可用于 Cassandra 的 native 集合:http://docs.datastax.com/en/cql/3.0/cql/cql_using/use_list_t.html因此,您应该只序列化元素,而不是使用 Kryo 序列化集合。
关于java - Kryo 字节级追加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33511530/