Обзор типов таблиц
Вы должны указать тип таблицы и определить один или несколько столбцов в качестве ключа сортировки при создании таблицы. Таким образом, когда данные первоначально загружаются в созданную вами таблицу, Selena может сортировать, об рабатывать и хранить данные на основе ключа сортировки. В этом разделе описаны типы таблиц, которые предоставляет Selena для удовлетворения различных бизнес-требований.
Основные концепции
Типы таблиц
Selena предоставляет четыре типа таблиц: Duplicate Key table, Aggregate table, Unique Key table и Primary Key table. Эти четыре типа таблиц хорошо подходят для широкого спектра сценариев аналитики данных, таких как анализ логов, агрегация и анализ данных, и аналитика данных в реальном времени.
Ключи сортировки
Когда данные загружаются в таблицу, созданную с использованием определённого типа таблицы, данные сортируются и хранятся в с оответствии с одним или несколькими столбцами, определёнными как ключ сортировки при создании таблицы. Ключ сортировки обычно представляет собой один или несколько столбцов, которые часто используются в качестве условий фильтрации в запросах, тем самым ускоряя запросы.
Начиная с версии 3.0, Primary Key tables поддерживают определение ключей сортировки с помощью ORDER BY. Начиная с версии 3.3, Duplicate Key tables, Aggregate tables и Unique Key tables поддерживают определение ключей сортировки с помощью ORDER BY.
Для более подробного описания ключей сортировки см. Ключи сортировки и префиксные индексы.
Меры предосторожности
-
После создания таблицы вы не можете изменить её тип. Например, вы не можете изменить Duplicate Key table на Primary Key table. Вы должны создать новую Primary Key table.
-
Столбцы ключа сортировки должны быть определены до других столбцов в операторе создания таблицы.
-
Порядок столбцов ключа сортировки в операторе создания таблицы определяет порядок условий, на основе которых сортируются строки в таблице.
-
Длина префиксного индекса для таблицы ограничена 36 байтами. Если общая длина столбцов ключа сортировки превышает 36 байт, Selena сохраняет только первые несколько столбцов ключа сортировки в пределах ограничения длины для префиксного индекса.
-
Если записи, которые должны быть загружены в таблицу, имеют одинаковый первичный ключ, Selena обрабатывает и хранит записи в зависимости от типа таблицы:
-
Duplicate Key table
Selena загружает каждую из записей как отдельную строку в таблицу. После завершения загрузки данных таблица содержит строки с одинаковым первичным ключом, и строки отображают исходные записи в соотношении один к одному. Вы можете получить все исторические данные, которые вы загрузили.
-
Aggregate table
Selena агрегирует записи в одну запись и загружает агрегированную запись как строку в таблицу. После завершения загрузки таблица не содержит строк с одинаковым первичным ключом. Вы можете получить результаты агрегации всех исторических дан ных, которые вы загрузили. Однако вы не можете получить все исторические данные.
-
Unique Key table и Primary Key table
Selena заменяет каждую ранее загруженную запись вновь загруженной записью и сохраняет только последнюю загруженную запись как строку в таблице. После завершения загрузки таблица не содержит предыдущих строк с одинаковым первичным ключом. Сохраняется только последняя запись, содержащая тот же unique key/primary key. Unique Key table и Primary Key table можно рассматривать как специальную Aggregate table, в которой для столбцов метрик указана агрегатная функция REPLACE для возврата самой последней записи среди группы записей с одинаковым первичным ключом.
-