В нескольких местах рекомендуется создавать наши таблицы Cassandra в соответствии с запросами, которые мы будем выполнять на них. В this article by DataScale они заявляют следующее:Как скопировать данные из таблицы Cassandra в другую структуру для лучшей производительности
The truth is that having many similar tables with similar data is a good thing in Cassandra. Limit the primary key to exactly what you’ll be searching with. If you plan on searching the data with a similar, but different criteria, then make it a separate table. There is no drawback for having the same data stored differently. Duplication of data is your friend in Cassandra.
[...]
If you need to store the same piece of data in 14 different tables, then write it out 14 times. There isn’t a handicap against multiple writes.
Я это понял, и теперь мой вопрос: при условии, что я существующую таблицу, скажем
CREATE TABLE invoices (
id_invoice int PRIMARY KEY,
year int,
id_client int,
type_invoice text
)
Но я хочу, чтобы запросить в год и ввести вместо , поэтому я хотел бы иметь что-то вроде
CREATE TABLE invoices_yr (
id_invoice int,
year int,
id_client int,
type_invoice text,
PRIMARY KEY (type_invoice, year)
)
с id_invoice
в качестве ключа секционирования и year
в качестве ключа кластеризации, Какой предпочтительный способ скопировать данные из одной таблицы в другую для выполнения оптимизированных запросов позже? версия
Мои Кассандры:
[email protected]> show version;
[cqlsh 5.0.1 | Cassandra 3.5.0 | CQL spec 3.4.0 | Native protocol v4]
У вас есть только ваниль C * (искра?)? Какая версия (если доступны материализованные представления)? –