Ключевые факты из теста
- SSB: Apache Doris показывает до 34x ускорение против ClickHouse ReplacingMergeTree в update-heavy режиме.
- ClickBench: Apache Doris быстрее на 1.7x-4.6x в зависимости от update ratio и профиля ресурсов.
- Внутри ClickHouse MergeTree стабильно быстрее ReplacingMergeTree, что отражает накладную стоимость update-семантики.
- Практическая ценность: предсказуемая latency при постоянных обновлениях для BI, антифрода и risk-аналитики.
1. Что проверяли и зачем
Команда VeloDB сравнила Apache Doris и ClickHouse в сценариях, где данные постоянно обновляются: новые события, корректировки транзакций, обновление атрибутов клиентов и фрод-сигналов.
Ключевая задача: понять, какая система лучше держит баланс между быстрыми update/ingest и низкой латентностью аналитических запросов.
2. Конфигурация тестов
- VeloDB Cloud (Apache Doris): 1 узел, 16 vCPU, 128 GB RAM
- ClickHouse Cloud: 2 узла × (16 vCPU, 64 GB RAM)
- ClickHouse Cloud: 2 узла × (8 vCPU, 32 GB RAM)
- Бенчмарки: SSB и ClickBench; update ratio: 25% и 100%
Сравнение проводилось в двух профилях: с выравниванием по CPU и по памяти. Это снижает риск «случайного» преимущества одной платформы.
3. Механика обновлений: Doris vs ClickHouse
Apache Doris использует Unique Key + Delete Bitmap: устаревшие версии помечаются при записи, и во время чтения не требуется тяжелая дедупликация на лету.
ClickHouse в update-сценариях опирается на ReplacingMergeTree: новые версии записываются append-only, а финальная консолидация зависит от merge-фазы и часто требует FINAL в запросах.
Практический эффект: при высокой доле обновлений у ClickHouse растет цена чтения, у Doris латентность запросов остается более стабильной.
4. Результаты SSB (real-time update)
- Doris vs ClickHouse ReplacingMergeTree (32c/128GB): 18x быстрее при 100% update, 14x быстрее при 25% update.
- Doris vs ClickHouse ReplacingMergeTree (16c/64GB): 34x быстрее при 100% update, 25x быстрее при 25% update.
- Внутри ClickHouse: MergeTree быстрее ReplacingMergeTree в 1.7-2.5x, что показывает «цену обновлений» в самой архитектуре.
5. Результаты ClickBench (real-time update)
- Doris vs ClickHouse ReplacingMergeTree (32c/128GB): 2.5x быстрее при 100% update, 1.7x быстрее при 25% update.
- Doris vs ClickHouse ReplacingMergeTree (16c/64GB): 4.6x быстрее при 100% update, 3.1x быстрее при 25% update.
- Внутри ClickHouse: MergeTree быстрее ReplacingMergeTree в 2.7-3.9x в ClickBench.
6. Почему это важно для modern OLAP
- Real-time аналитика требует одновременно быстрого ingest и предсказуемых ad-hoc запросов.
- Если update «ломают» latency, дашборды и алерты отстают от реальности.
- Для банков, финтеха и e-commerce это напрямую влияет на антифрод, SLA и выручку.
- Именно поэтому поддержка обновлений — не «опция», а базовый критерий выбора OLAP.
8. Ограничения и условия корректного сравнения
Чтобы результаты интерпретировались корректно, важно учитывать рамки исходного эксперимента:
- Тест проводился на managed cloud-конфигурациях конкретных провайдеров (VeloDB Cloud и ClickHouse Cloud).
- Сценарий сфокусирован именно на update-intensive нагрузке; для pure append/scan результаты могут отличаться.
- На итог сильно влияют модель таблиц, параметры merge/background compaction и профиль запросов.
- Метрики получены на SSB и ClickBench — это репрезентативно, но не заменяет POC на ваших данных.
Рекомендация: перед решением о миграции проводить короткий workload-driven POC с вашими SLA, схемой данных и типовыми запросами.
7. Кейсы клиентов Apache Doris
NetEase Cloud Music
Замена ClickHouse на Doris для лог-платформы: триллионы событий в день, пик ingest 6 GB/s, P99 latency -30%, конкурентность 500+.
Lakala (fintech)
Консолидация Elasticsearch/Hive/HBase/TiDB/Oracle в Doris: ускорение запросов до 15x и снижение серверного парка на 52%.
Kwai
Unified lakehouse на Doris: почти 1 млрд запросов в день, ускорение за счет кешей и materialized view rewrite.
Источник оригинала
VeloDB Engineering Team, "Apache Doris Up to 34x Faster Than ClickHouse in Real-Time Updates", 2025-10-01.
https://www.velodb.io/blog/apache-doris-34x-faster-clickhouse-realtime-updates