Крио байтовый уровень

Я храню JSON в таблице (на самом деле это семейство столбцов Кассандры) следующим образом:

 ____________________________________________________________________
|                 || 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 для сериализации коллекции вы должны просто сериализовать элементы.

Другие вопросы по тегам