Меня немного смущает кластеризация в Cassandra. У меня есть приложение, которое очень интенсивно пишет и обновляет. В традиционной реляционной базе данных я бы разделил данные на две таблицы: одна таблица для данных, которые изменяются нечасто; и одна таблица (с более короткими строками) для часто меняющихся столбцов:
Например:
create table user_def ( id int primary key, email list< varchar > ); # stable
create table user_var ( id int primary key, state int ); # changes all the time
Но Cassandra, кажется, оптимизирована для доступа к редко заполненным столбцам, поэтому я не уверен, что есть какое-то преимущество в имитации этого подхода для схем Cassandra.
Есть ли в Cassandra какое-либо преимущество в разделении часто обновляемых столбцов на отдельную таблицу/семейство столбцов (в отличие от редко обновляемых столбцов) или мне следует объединить все столбцы вместе в одну таблицу/семейство столбцов? Изменятся ли обстоятельства, если у меня будет составной первичный ключ и в дело вступит кластеризация?