ClickHouse ориентирован на аналитическое чтение больших объёмов, а не на универсальный OLTP. Частые мелкие вставки, тяжёлые изменения и неудачная организация хранения могут сделать нагрузку дорогой.
Какие проблемы и ограничения есть у ClickHouse, в частности с какими операциями он работает плохо?
ClickHouse ориентирован на аналитическое чтение больших объёмов, а не на универсальный OLTP. Частые мелкие вставки, тяжёлые изменения и неудачная организация хранения могут сделать нагрузку дорогой.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
ClickHouse ориентирован на аналитическое чтение больших объёмов, а не на универсальный OLTP. Частые мелкие вставки, тяжёлые изменения и неудачная организация хранения могут сделать нагрузку дорогой.
Много маленьких INSERT создаёт нагрузку на parts и merges; широкие JOIN и высококардинальные агрегации могут требовать большой памяти. Старые mutation-обновления переписывают данные, но неверно говорить, что UPDATE вообще отсутствует: существуют разные механизмы, включая lightweight updates с patch parts. Их ограничения зависят от версии и движка. Точечные транзакционные бизнес-инварианты, уникальность и конкурентные изменения нужно проверять отдельно, не переносить ожидания от PostgreSQL автоматически.
Источник: github.com.