ClickHouse
Раздел про ClickHouse: колоночное хранение и MergeTree, моделирование схемы и materialized views, интеграция из Java/Spring, эксплуатация — репликация, TTL, мониторинг.
Зачем для UCP. ClickHouse — стандартный OLAP-движок для аналитики в UCP-стеке: события, аудит, метрики продукта, отчёты — всё, что душит прод-PostgreSQL аналитическими
GROUP BY. Четвёртый тип хранилища после реляционного, поискового и объектного. Соответствует фазе 9 программы.
Раздел разбит на четыре статьи: основы (устройство и границы применимости), моделирование (схема и запросы), интеграция (Java/Spring и пайплайн данных), эксплуатация. Примеры — на тех же order/product-доменах, что в PostgreSQL и Elasticsearch, чтобы подходы было легко сравнивать.
Статьи раздела
- Fundamentals: колоночное хранение, MergeTree, OLAP vs OLTP — почему агрегация миллиарда строк занимает доли секунды, parts и merges, разреженный индекс, чего у ClickHouse нет.
- Моделирование и запросы — выбор ORDER BY и PARTITION BY, типы, агрегатные идиомы, materialized views, ReplacingMergeTree, антипаттерны.
- Интеграция из Java/Spring — JDBC и второй DataSource, батчевая вставка, идемпотентность, пайплайн PG → outbox → Kafka → ClickHouse, Testcontainers.
- Operations: репликация, шардинг, TTL, мониторинг — ReplicatedMergeTree и Keeper, Distributed-таблицы, жизненный цикл данных, system-таблицы, типичные инциденты.
Связанное
- PostgreSQL — source of truth, который ClickHouse дополняет, но не заменяет.
- Elasticsearch — соседний специализированный движок: ES — поиск, ClickHouse — агрегаты.
- Apache Kafka — транспорт пайплайна событий в ClickHouse.
- CQRS и распределённые паттерны — read-model, outbox и eventual consistency, на которых стоит интеграция.