Cassandra по-прежнему позволяет использовать широкие строки. Этот ответ ссылается на эту запись в блоге DataStax, написанную после того, как был задан вопрос, в котором подробно описаны связи между CQL и базовой архитектурой.
Устаревшая поддержка
Семейство динамических столбцов, определенное с помощью Thrift с помощью следующей команды (обратите внимание, что нет метаданных, специфичных для столбца):
create column family clicks
with key_validation_class = UTF8Type
and comparator = DateType
and default_validation_class = UTF8Type
Вот точный эквивалент в CQL:
CREATE TABLE clicks (
key text,
column1 timestamp,
value text,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
Обе эти команды создают семейство столбцов с широкими строками, в котором хранятся записи, упорядоченные по дате.
CQL-дополнения
Кроме того, CQL предоставляет возможность назначать метки идентификатору строки, столбцу и элементам значения, чтобы указать, что сохраняется. Следующий альтернативный способ определения той же самой структуры в CQL подчеркивает эту функцию на примере DataStax — семейство столбцов, используемое для хранения кликов пользователей на веб-сайте, упорядоченных по времени:
CREATE TABLE clicks (
user_id text,
time timestamp,
url text,
PRIMARY KEY (user_id, time)
) WITH COMPACT STORAGE
Примечания
- Таблица в CQL всегда сопоставляется с Семейством столбцов в Thrift
- драйвер CQL использует первый элемент определения первичного ключа в качестве ключа строки
- Составные столбцы используются для реализации дополнительных столбцов, которые можно определить в CQL.
- использование WITH COMPACT STORAGE не рекомендуется для новых дизайнов, так как оно фиксирует количество возможных столбцов. Другими словами, ALTER TABLE ... ADD для такой таблицы невозможен. Просто оставьте это, если это не абсолютно необходимо.
person
Alexandre D'Erman
schedule
15.01.2014