Перейти к основному содержимому
Перейти к основному содержимому

TinyLog

Этот движок принадлежит семейству логов. См. Семейство логов для общих свойств логов и их различий.

Этот движок таблиц обычно используется с методом записи один раз: записать данные один раз, а затем считывать их столько раз, сколько необходимо. Например, вы можете использовать таблицы типа TinyLog для промежуточных данных, которые обрабатываются малыми партиями. Обратите внимание, что хранение данных в большом количестве маленьких таблиц неэффективно.

Запросы выполняются в одном потоке. Другими словами, этот движок предназначен для относительно небольших таблиц (до aproximadamente 1 000 000 строк). Имеет смысл использовать этот движок таблиц, если у вас много маленьких таблиц, поскольку он проще, чем движок Log (открывается меньше файлов).

Характеристики

  • Упрощенная структура: В отличие от движка Log, TinyLog не использует файлы меток. Это уменьшает сложность, но также ограничивает возможности оптимизации производительности для больших наборов данных.
  • Запросы в одном потоке: Запросы к таблицам TinyLog выполняются в одном потоке, что делает его подходящим для относительно небольших таблиц, как правило, до 1 000 000 строк.
  • Эффективность для маленьких таблиц: Простота движка TinyLog делает его выгодным при управлении многими маленькими таблицами, так как требуется меньше операций с файлами по сравнению с движком Log.

В отличие от движка Log, TinyLog не использует файлы меток. Это уменьшает сложность, но также ограничивает возможности оптимизации производительности для больших наборов данных.

Создание таблицы

Смотрите подробное описание запроса CREATE TABLE.

Запись данных

Движок TinyLog хранит все столбцы в одном файле. Для каждого запроса INSERT ClickHouse добавляет блок данных в конец файла таблицы, записывая столбцы по одному.

Для каждой таблицы ClickHouse записывает файлы:

  • <column>.bin: Файл данных для каждого столбца, содержащий сериализованные и сжатые данные.

Движок TinyLog не поддерживает операции ALTER UPDATE и ALTER DELETE.

Пример использования

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

Вставка данных:

Мы использовали два запроса INSERT для создания двух блоков данных внутри файлов <column>.bin.

ClickHouse использует один поток для выборки данных. В результате порядок блоков строк в выходных данных совпадает с порядком тех же блоков во входных данных. Например: