Однорядные и многорядные перегородки в Кассандре

Опубликовано: 30 Ноября, 2021

В Cassandra CQL (Cassandra Query Language) имеет два следующих раздела:

  • Однорядные перегородки
  • Многорядные перегородки

Однорядные перегородки:
В Cassandra первичный ключ представляет собой уникальный раздел данных, а часть столбцов кластеризации также полезна для упорядочивания данных и используется для обработки части упорядочивания данных. В однорядных разделах есть только ключ разделения в одном столбце.

Пример -
Давайте возьмем таблицу Employee, имеющую такие поля, как Emp_id, Emp_name, Emp_email, где Emp_id - это первичный ключ.

 СОЗДАТЬ таблицу Сотрудник (
Emp_id UUID, 
Emp_name ТЕКСТ, 
Emp_email ТЕКСТ,
первичный ключ (Emp_id)
);

Вы можете проверить логическую эталонную модель разделения для приведенного выше примера следующим образом:

 K - Первичный ключ
C - Столбец кластеризации
S - Статическая колонна
Работник
Fields_name Тип данных Ключ
Emp_id UUID K
Emp_name ТЕКСТ
Emp_email ТЕКСТ

В Cassandra первичный ключ - это комбинация ключа разделения и столбца кластеризации, если таковой имеется.

Первичный ключ = ключ раздела + [столбцы кластеризации]

Многорядные перегородки:
В многострочных разделах ключ разделения применяется более чем к одному столбцу и столбцу кластеризации для моделирования расположения или разделения данных.

Пример -
Давайте возьмем таблицу событий, имеющую поля, такие как Event_venue, Event_year, Event_artifact, Events_title, Events_country, где Event_venue, Event_year - первичные ключи, а Event_artifact - ключ столбца кластеризации.

 СОЗДАТЬ таблицу События (
Event_venue TEXT, 
Event_year INT,
Event_artifact ТЕКСТ,
Events_title ТЕКСТ,
Events_country ТЕКСТ СТАТИЧЕСКИЙ,
первичный ключ ((Event_venue, Event_year), Event_artifact)
);

Вы можете проверить логическую эталонную модель разделения для приведенного выше примера следующим образом:

 K - Первичный ключ
C - Столбец кластеризации
S - Статическая колонна
События
Fields_name Тип данных Ключ
Event_venue ТЕКСТ K
Event_year INT K
Event_artifact ТЕКСТ
Events_title ТЕКСТ
Events_country ТЕКСТ S