Clickhouse

Собираем пайплайн: PostgreSQL → Debezium → Kafka → ClickHouse

Собираем пайплайн: PostgreSQL → Debezium → Kafka → ClickHouse

Сквозная цепочка от изменения в PostgreSQL до строки в витрине: Debezium как коннектор Kafka Connect, outbox event router, snapshot и переход в streaming, сток в ClickHouse. Не про механику WAL и не про внутренности Kafka — про то, как это собирается вместе и где проходят швы

ClickHouse, TimescaleDB, DuckDB: что выбрать под аналитику

ClickHouse, TimescaleDB, DuckDB: что выбрать под аналитику

Карта выбора аналитической БД по нишам: масштабная аналитика на ClickHouse, аналитика и time-series внутри экосистемы PostgreSQL на TimescaleDB, встроенная локальная аналитика на DuckDB — с учётом стоимости и эксплуатации

ClickHouse и S3: многоуровневое хранение и внешние данные

ClickHouse и S3: многоуровневое хранение и внешние данные

Две грани S3 в ClickHouse: многоуровневое хранение (hot/cold-тиринг MergeTree через storage policies и TTL MOVE на S3, separation of storage/compute) и S3 table function для запроса и загрузки Parquet прямо из объектного хранилища. С живым стендом на MinIO

Эксплуатация и тюнинг ClickHouse: merges, mutations, мониторинг, backup

Эксплуатация и тюнинг ClickHouse: merges, mutations, мониторинг, backup

Что нужно знать про ClickHouse в проде: parts и фоновые merges, почему mutations (ALTER UPDATE/DELETE) дорогие и асинхронные, мониторинг через system.*-таблицы, backup/restore и тюнинг — codec-сжатие колонок, гранулярность индекса, память запроса. С живыми числами и продакшн-чеклистом

Распределённый ClickHouse: шардирование, репликация, Keeper

Распределённый ClickHouse: шардирование, репликация, Keeper

Как ClickHouse масштабируется горизонтально: шардирование и репликация через ClickHouse Keeper, ReplicatedMergeTree и Distributed-таблицы, что ломается при падении узла — реплика недоступна против шард недоступен. Живой кластер 2 шарда × 2 реплики

Материализованные представления и real-time агрегации в ClickHouse

Материализованные представления и real-time агрегации в ClickHouse

Материализованные представления в ClickHouse как триггеры на вставку, предагрегация через AggregatingMergeTree и SummingMergeTree, чтение потока из Kafka через Kafka engine, TTL и ретеншн, проекции — как строить обновляемые в реальном времени агрегаты

ClickHouse-драйверы: когда какой (ch-go, clickhouse-go, JDBC, HTTP)

ClickHouse-драйверы: когда какой (ch-go, clickhouse-go, JDBC, HTTP)

Драйвер ClickHouse — половина производительности: низкоуровневый колоночный ch-go против эргономичного clickhouse-go (native и database/sql), clickhouse-java client-v2 против clickhouse-jdbc, и HTTP-интерфейс. Живой бенчмарк вставки и запроса, когда какой оправдан, карта выбора

ClickHouse из Go и Java: MergeTree, вставки и запросы

ClickHouse из Go и Java: MergeTree, вставки и запросы

Как устроено семейство MergeTree (ORDER BY, PRIMARY KEY, партиционирование), почему в ClickHouse нельзя вставлять по одной строке и что дают async inserts, и как всё это выглядит из клиентов clickhouse-go и clickhouse-java — нативный протокол против HTTP

Когда нужен OLAP: ClickHouse против PostgreSQL для аналитики

Когда нужен OLAP: ClickHouse против PostgreSQL для аналитики

Чем OLAP-нагрузка отличается от OLTP, как колоночное хранение и векторное исполнение делают ClickHouse быстрым на аналитике, в какой момент PostgreSQL перестаёт тянуть агрегаты по большим таблицам — и где ClickHouse категорически не подходит