| Параметр | Postgresql | Clickhouse |
|---|---|---|
| Тип нагрузки | OLTP | OLAP |
| Хранение | Row-based | Columnar |
| ACID транзакции | ✅ Полная | ⚠️ Ограниченная |
| UPDATE/DELETE | ✅ Быстрые | ❌ Медленные (мутации) |
| INSERT по 1 строке | ✅ | ❌ Нужны батчи |
| OLAP-запросы на 1B+ строк | ⚠️ Медленно | ✅ 10-100× быстрее |
| Compression | ~2x | ~10x |
| JOIN больших таблиц | ✅ | ⚠️ Ограничения, нужны dictionaries |
| Window functions | ✅ Полная поддержка | ✅ Полная поддержка |
| Materialized views | ⚠️ Manual refresh | ✅ Триггер на INSERT |
| Real-time analytics | ⚠️ Не масштабируется | ✅ Идеально |
| Foreign keys | ✅ | ❌ Нет |
| Стоимость инфры | Низкая (умеренные ресурсы) | Высокая (нужны RAM + диски) |
Нет — это разные классы БД. PostgreSQL для транзакций (UPDATE/DELETE по 1 строке), ClickHouse для аналитики (массовые SELECT с агрегациями). Часто используются вместе: PG для приложения, CH для аналитики.
Зависит от задачи. На SELECT по 1 строке (по индексу) PostgreSQL быстрее. На агрегации миллионов строк ClickHouse в 10-100 раз быстрее благодаря columnar storage и vectorized execution.
Постепенно. Часто архитектура: PG как primary OLTP, ClickHouse как secondary OLAP (синхронизация через CDC — Debezium → Kafka → CH). Запросы аналитики переписать с учётом ограничений CH (JOIN, no UPDATE).
PostgreSQL — стандарт SQL, нужен везде. ClickHouse — специализированный, нужен в крупных продуктах. Сначала PG (90% синтаксиса), потом ClickHouse-специфика (array functions, MergeTree, materialized views).
Pandas vs Polars · Tableau vs Powerbi Datalens Superset · SQL vs Pandas · Dbt vs Airflow