Для MergeTree обычно выгоднее вставки достаточно крупными пачками: множество маленьких INSERT создаёт много частей и нагрузку на слияния. Размер пачки выбирают с учётом задержки и памяти.
Для ClickHouse что оптимальнее: вставлять часто маленькими пачками или редко большими объёмами?
Для MergeTree обычно выгоднее вставки достаточно крупными пачками: множество маленьких INSERT создаёт много частей и нагрузку на слияния. Размер пачки выбирают с учётом задержки и памяти.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для MergeTree обычно выгоднее вставки достаточно крупными пачками: множество маленьких INSERT создаёт много частей и нагрузку на слияния. Размер пачки выбирают с учётом задержки и памяти.
Не нужно копить данные бесконечно ради максимально большого блока. Задайте ограничение по числу строк, байтам и времени ожидания, измеряйте скорость появления частей и merge backlog. Если клиент не может пакетировать, рассмотрите asynchronous inserts с подходящими настройками ожидания подтверждения. Важно понимать, когда запись считается принятой надёжно и как обрабатываются повторы. Оптимум зависит от схемы, партиционирования, числа отправителей и требований к свежести данных.
Источник: clickhouse.com.