Создание таблицы в Кассандре

Опубликовано: 18 Февраля, 2022

В этой статье мы собираемся обсудить, как создать таблицу в Cassandra, а также обсудить определения столбцов, роль ключей, параметры таблицы (компактное хранилище и порядок кластеризации) и т. Д.

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

Для создания таблицы используется оператор «создание таблицы», приведенный ниже.

Ниже приведен типичный оператор создания таблицы.

 Синтаксис: создание таблицы.

СОЗДАТЬ ТАБЛИЦУ [ЕСЛИ НЕ СУЩЕСТВУЕТ] имя_таблицы
'('
column_definition
(',' определение_столбца) *
[',' ПЕРВИЧНЫЙ КЛЮЧ '(' основной_ключ ')']
')' [С table_options]

Теперь здесь вы можете использовать любое существующее пространство ключей, например, с именем App_data.

use App_data;

Теперь вы можете создать таблицу User_data, в которой имя, идентификатор, адрес - это поля в таблице.

 СОЗДАТЬ ТАБЛИЦУ User_data (
                Текст имени,
                id uuid,
                текст адреса,
                ПЕРВИЧНЫЙ КЛЮЧ (id)
               );

Теперь вы можете проверить, создана ли таблица, и, если она создана, проверить определение таблицы.
Используя существующее пространство ключей, такое как App_data.

 cassandra @ cqlsh> использовать App_data;
кассандра @ cqlsh: app_data> 

cassandra @ cqlsh: app_data> СОЗДАТЬ ТАБЛИЦУ User_data (
 ... id uuid,
 ... текст имени,
 ... текст адреса,
 ... ПЕРВИЧНЫЙ КЛЮЧ (id)
 ...);

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

COLUMN_DEFINITION
В Cassandra предложение column_definition состоит из имени столбца и его типа, а также двух модификаторов.

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

Первичный ключ: первичный ключ однозначно идентифицирует строку, и рекомендуется, чтобы все таблицы определяли первичный ключ.

Теперь здесь вы можете проверить созданную таблицу User_data.

 cassandra @ cqlsh: app_data> описать User_data;

СОЗДАТЬ ТАБЛИЦУ app_data.user_data (
    id uuid ПЕРВИЧНЫЙ КЛЮЧ,
    текст адреса,
    текст имени
) С bloom_filter_fp_chance = 0,01
    И кэширование = {'ключи': 'ВСЕ', 'строки_на_раздел': 'НЕТ'}
    И комментарий = ''
    И уплотнение = 
         {
         'класс': 'org.apache.cassandra.db.compaction
                       .SizeTieredCompactionStrategy ', 
         'max_threshold': '32', 'min_threshold': '4'
         }
    И сжатие = {'chunk_length_in_kb': '64', 
                       'класс': 'org.apache.cassandra.io
                                  .compress.LZ4Compressor '}
    И crc_check_chance = 1.0
    И dclocal_read_repair_chance = 0.1
    И default_time_to_live = 0
    И gc_grace_seconds = 864000
    И max_index_interval = 2048
    И memtable_flush_period_in_ms = 0
    И min_index_interval = 128
    И read_repair_chance = 0.0
    И speculative_retry = '99ПЕРСЕНТИЛЬ';