Перейти к основному содержимому
Версия: 2.0.x

Обзор типов таблиц

Вы должны указать тип таблицы и определить один или несколько столбцов в качестве ключа сортировки при создании таблицы. Таким образом, когда данные первоначально загружаются в созданную вами таблицу, 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 для возврата самой последней записи среди группы записей с одинаковым первичным ключом.