Миграция с PostgreSQL на ClickHouse
Почему использовать ClickHouse вместо Postgres?
TLDR: Потому что ClickHouse разработан для быстрой аналитики, особенно для запросов GROUP BY
, как OLAP база данных, в то время как Postgres является OLTP базой данных, предназначенной для транзакционных рабочих нагрузок.
OLTP, или онлайн-транзакционная обработка баз данных, предназначены для управления транзакционной информацией. Основная цель этих баз данных, классическим примером которых является Postgres, заключается в том, чтобы гарантировать, что инженер сможет отправить блок обновлений в базу данных и быть уверенным, что он будет — в целом — либо успешным, либо неудачным. Эти виды транзакционных гарантий с ACID свойствами являются основной задачей OLTP баз данных и огромным преимуществом Postgres. Учитывая эти требования, OLTP базы данных обычно сталкиваются с ограничениями производительности при использовании для аналитических запросов по большим наборам данных.
OLAP, или онлайн-аналитическая обработка баз данных, предназначены для удовлетворения этих потребностей — управления аналитическими рабочими нагрузками. Основная цель этих баз данных заключается в том, чтобы инженеры могли эффективно выполнять запросы и агрегировать по обширным наборам данных. Реальные OLAP системы, такие как ClickHouse, позволяют проводить этот анализ по мере поступления данных в реальном времени.
Для более детального сравнения смотрите этот блог пост.
Чтобы увидеть потенциальные различия в производительности между ClickHouse и Postgres при аналитических запросах, смотрите Переписывание запросов PostgreSQL в ClickHouse.