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