Пакетные вставки
Прием данных пакетами
По умолчанию каждая вставка, отправленная в ClickHouse, вызывает немедленное создание части в хранилище, содержащей данные из вставки вместе с другой метаинформацией, которую необходимо сохранить. Поэтому отправка меньшего количества вставок, каждая из которых содержит больше данных, по сравнению с отправкой большего количества вставок, каждая из которых содержит меньше данных, уменьшит количество необходимых записей. В общем, мы рекомендуем вставлять данные довольно большими пакетами, как минимум по 1,000 строк за раз, а в идеале от 10,000 до 100,000 строк. Для достижения этого, рассмотрите возможность реализации механизма буфера, такого как использование Buffer table Engine для включения пакетных вставок или использование асинхронных вставок (см. asynchronous inserts).
Несмотря на размер ваших вставок, мы рекомендуем поддерживать количество запросов вставки на уровне около одного запроса вставки в секунду. Причина этого совета заключается в том, что созданные части сливаются в более крупные части в фоновом режиме (для оптимизации ваших данных для запросов на чтение), и отправка слишком большого количества запросов вставки в секунду может привести к ситуациям, когда фоновое слияние не успевает за количеством новых частей. Однако, вы можете использовать более высокий темп запросов вставки в секунду, когда используете асинхронные вставки (см. asynchronous inserts).