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

TinyLog

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

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

Запросы выполняются в одном потоке. Другими словами, этот движок предназначен для относительно небольших таблиц (до примерно 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 использует один поток для выбора данных. В результате порядок блоков строк на выходе соответствует порядку тех же блоков на входе. Например: