1. Общее происхождение: форк, который стал конкурентом
StarRocks (изначально DorisDB) был форкнут из Apache Doris примерно в 2020 году компанией CelerData. С тех пор оба проекта развиваются независимо, принимая разные архитектурные решения.
Общий фундамент: обе системы — MPP-колоночные OLAP-базы с архитектурой FE (Frontend) + BE (Backend), vectorized execution и поддержкой MySQL-протокола.
После форка пути разошлись: StarRocks сфокусировался на производительности в специфических workloads и коммерциализации через CelerData. Apache Doris — на расширении экосистемы под зонтиком Apache Foundation: unified lakehouse, полнотекстовый поиск, vector search.
Сегодня оба — зрелые, production-grade OLAP-системы. Но различия в лицензии, возможностях и стратегии делают выбор между ними принципиальным.
2. Лицензия: Apache 2.0 vs Elastic License 2.0
Это ключевое различие, которое часто упускают при техническом сравнении.
| Apache Doris | StarRocks |
|---|---|
| Apache License 2.0 | Elastic License 2.0 (ELv2) |
| Полная свобода: использование, модификация, дистрибуция, SaaS | Запрет на предоставление StarRocks как managed service |
| Никаких ограничений для облачных провайдеров | Облачные провайдеры — только через соглашение с CelerData |
| Гарантирована Apache Software Foundation | Может измениться по решению CelerData |
Для enterprise: Apache 2.0 — нулевой лицензионный риск. ELv2 требует юридической проверки и несёт долгосрочные риски при построении сервисов поверх StarRocks.
VeloDB (коммерческий Doris) — 100% совместим с open-source, без vendor lock-in.
3. Архитектура и хранение
Обе системы унаследовали общую архитектуру FE+BE, но после форка развивались по-разному.
| Возможность | Apache Doris | StarRocks |
|---|---|---|
| Модели данных | Duplicate, Unique, Aggregate Key | Duplicate, Primary, Aggregate |
| Real-time UPSERT | Delete Bitmap (Unique Key) — эффективный merge-on-read | Primary Key с UPDATE on merge |
| Полнотекстовый поиск | Inverted Index + BM25 scoring | Базовый LIKE, нет BM25 |
| Vector Search | Native HNSW, IVFPQ для AI/RAG | Нет native vector search |
| Lakehouse федерация | Multi-Catalog: Iceberg, Hudi, Delta, Hive, JDBC | External Catalog: Iceberg, Hudi, Delta, Hive, JDBC |
| Compute-storage separation | Опциональный decoupled mode | Shared-data архитектура |
| Auto-balance шардов | Автоматическая балансировка | Ручная/полуавтоматическая |
Главное архитектурное различие — Doris инвестирует в unified возможности (search + analytics + vector), StarRocks — в оптимизацию чистых OLAP-сценариев.
4. Производительность: бенчмарки
Оба движка показывают конкурентную производительность на стандартных бенчмарках. Общее происхождение означает похожие engine internals.
| Бенчмарк | Apache Doris | StarRocks | Комментарий |
|---|---|---|---|
| TPC-H (22 запроса) | 22/22 ✓ | 22/22 ✓ | Результаты в пределах 10–20% |
| TPC-DS (99 запросов) | 99/99 ✓ | Большинство запросов ✓ | Doris проходит все 99 |
| ClickBench | Топ-позиции | Топ-позиции | Оба в лидерах, разница минимальна |
| SSB-Flat | Высокая скорость | Высокая скорость | Похожие результаты |
Ключевой вывод: форк означает похожие движки. Дифференциация — в возможностях, а не в raw speed. Реальная производительность зависит от модели данных и тюнинга.
Источники: независимые бенчмарки influxdata.com, tinybird.co, clickbench.com.
5. Unified Lakehouse vs OLAP Focus
Здесь стратегии расходятся принципиально. Doris стремится заменить 4–5 систем одной платформой.
// ПРИМЕР: HYBRID SEARCH В DORIS (OLAP + FULL-TEXT + VECTOR) SELECT doc_id, title, score,
TOKENIZE(content, 'russian') AS tokens,
L2_DISTANCE(embedding, [0.1, 0.3, ...]) AS dist
FROM documents
WHERE content MATCH 'аналитика реального времени' AND category_id IN (SELECT id FROM categories
WHERE region = 'CentralAsia')
ORDER BY score DESC, dist ASC LIMIT 20; Apache Doris — Unified Platform
- OLAP-аналитика ✓
- Полнотекстовый поиск (Inverted Index, BM25) ✓ — замена Elasticsearch
- Vector Search для AI/RAG (HNSW, IVFPQ) ✓
- Lakehouse-федерация (Multi-Catalog) ✓
- CDC / Real-time ingest (Kafka, Flink, Stream Load) ✓
StarRocks — OLAP Engine
- OLAP-аналитика ✓
- Ограниченный поиск (LIKE, нет BM25)
- Нет native vector search
- External Catalog для федерации ✓
- Real-time ingest ✓
Итог: Doris стремится консолидировать data stack. StarRocks фокусируется на скорости OLAP-запросов.
6. Экосистема и community
Масштаб community влияет на скорость развития, качество документации и доступность специалистов.
| Метрика | Apache Doris | StarRocks |
|---|---|---|
| Фонд | Apache Software Foundation | Linux Foundation |
| Контрибьюторы | 900+ | 350+ |
| GitHub Stars | 12K+ | 9K+ |
| Production-деплои | 4000+ (банки, телеком, финтех) | Широкое, но меньше публичных данных |
| Коммерческий бэкер | VeloDB + сообщество | CelerData (основной) |
| MySQL-протокол | ✓ — plug-and-play с любым BI | ✓ — аналогичная совместимость |
Оба проекта активно развиваются с регулярными релизами. Doris выигрывает в масштабе community и количестве enterprise-внедрений.
7. Стоимость владения (TCO)
При схожей MPP-архитектуре инфраструктурные затраты сопоставимы. Ключевые различия — в лицензировании и стратегических рисках.
| Лицензия | Apache 2.0 — бесплатна навсегда, без ограничений. ELv2 — ограничения для managed-сервисов, зависимость от CelerData. |
| Коммерческая поддержка | VeloDB (enterprise Doris) vs CelerData (enterprise StarRocks). Оба предлагают managed-решения. |
| Инфраструктура | Схожие ресурсные требования — одинаковая MPP-архитектура FE+BE. |
| Операционная сложность | Сопоставимая: обе системы требуют FE+BE, мониторинг, backup. |
| Консолидация стека | Doris заменяет ES + OLAP + Vector DB = экономия на 3–4 системах. StarRocks — только OLAP. |
| Долгосрочный риск | Apache 2.0 — гарантированная свобода. ELv2 — может измениться по решению CelerData. |
8. Когда StarRocks может быть лучше
Справедливости ради — у StarRocks есть сценарии, где он может быть предпочтительнее:
- Если ваша единственная задача — OLAP-запросы, и вам не нужен полнотекстовый поиск или vector search.
- Если вы уже используете CelerData managed service и экосистема устраивает.
- Если специфические оптимизации StarRocks точно совпадают с вашим workload-паттерном.
Но: если нужна unified платформа (search + OLAP + vector + lake) — Doris объективно предлагает больше.
И: если лицензионная свобода критична — Apache 2.0 (Doris) безопаснее, чем ELv2 (StarRocks).