Skip to main content
Skip to main content

StripeLog

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

Движок разработан для сценариев, когда необходимо записывать много таблиц с небольшим объёмом данных (менее 1 миллиона строк).

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

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

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

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

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

  • data.bin — файл с данными.
  • index.mrk — файл с метками. Метки содержат смещения для каждого столбца каждого вставленного блока данных.

Движок StripeLog не поддерживает запросы ALTER UPDATE и ALTER DELETE.

Чтение данных

Файл с метками позволяет ClickHouse распараллеливать чтение данных. Это означает, что запрос SELECT возвращает строки в непредсказуемом порядке. Используйте секцию ORDER BY для сортировки строк.

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

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

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

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

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

Сортировка результатов (по умолчанию по возрастанию):