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 использует несколько потоков при выборе данных. Каждый поток считывает отдельный блок данных и возвращает результирующие строки независимо по мере завершения. В результате порядок блоков строк в выходных данных в большинстве случаев не совпадает с порядком тех же блоков во входных данных. Например:
Сортировка результатов (по умолчанию по возрастанию):