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