[VELODB.IO]
DATANOMIX.PRO // СРАВНЕНИЕ // OLAP vs SEARCH

Apache Doris vs Elasticsearch: когда поисковый движок пора менять

Архитектура, производительность, стоимость: почему компании переходят с ES на Doris для аналитики.

Подготовлено:
Datanomix.pro
Время чтения:
~12 мин

1. Почему Elasticsearch перестаёт справляться

Elasticsearch создавался как поисковый движок: полнотекстовый поиск, инвертированные индексы, near-real-time доставка документов. Для этих задач он отличен.

Но когда на ES начинают строить аналитику — агрегации на миллиардах строк, многотабличные JOIN-ы, BI-дашборды — появляются системные проблемы:

  • Агрегации на больших объёмах медленные: ES хранит данные в row-oriented формате, не оптимизированном для scan-heavy запросов.
  • Нет SQL JOIN: Query DSL не поддерживает join между индексами. Денормализация — единственный путь, и она раздувает хранилище.
  • Стоимость хранения: сжатие 1:1.5 против 1:5–1:10 у колоночных СУБД. На петабайтном масштабе разница в десятки серверов.
  • Лицензионная нестабильность: переход с Apache 2.0 на SSPL, затем Elastic License, затем AGPL — три смены за 5 лет.

2. Архитектура: поисковый движок vs аналитическая СУБД

Ключевое различие — в модели хранения и обработки данных.

ElasticsearchApache Doris
Inverted Index + row-based хранениеColumnar storage + MPP архитектура
Оптимизирован для full-text search и point lookupsОптимизирован для агрегаций, scan, multi-table JOIN
Query DSL (JSON) — мощный для поиска, неудобный для аналитикиСтандартный SQL (MySQL-протокол, JDBC/ODBC)
Горизонтальное масштабирование через шардыVectorized execution engine с SIMD
Нет CBO (Cost-Based Optimizer) для сложных запросовCBO + Runtime Filter для оптимизации JOIN

Apache Doris с версии 2.0 также поддерживает inverted index для полнотекстового поиска и hybrid search (BM25 + vector). Это позволяет консолидировать сценарии поиска и аналитики в одной системе.

3. Производительность: цифры из реальных внедрений

Данные из публичных кейсов Apache Doris и VeloDB:

МетрикаElasticsearchApache DorisИсточник
Скорость запросов (полнотекст)Базовый уровень2–3x быстрееdoris.apache.org
Скорость записиБазовый уровень4x быстрееdoris.apache.org
Сжатие данных1:1.51:5 – 1:10doris.apache.org
Экономия хранилища50–65%Кейсы миграции
Запросы (платёжная платформа)Базовый уровень56x быстрееLeading Payment Platform
Пропускная способность записиБазовый уровень+58%Leading Payment Platform

4. SQL вместо Query DSL

Elasticsearch использует JSON-based Query DSL — мощный для поиска, но неудобный для аналитики. Простая агрегация с GROUP BY требует вложенных JSON-структур, а JOIN невозможен вовсе.

Apache Doris работает по MySQL-протоколу. Любой BI-инструмент (Grafana, Superset, Tableau, Power BI) подключается через стандартный JDBC/ODBC без адаптеров.

// ПРИМЕР: АГРЕГАЦИЯ В DORIS SELECT region, risk_level, COUNT(*) AS tx_count, AVG(amount) AS avg_amount FROM transactions t JOIN merchants m ON t.merchant_id = m.id WHERE tx_date >= CURRENT_DATE - INTERVAL 7 DAY GROUP BY region, risk_level ORDER BY tx_count DESC;

В Elasticsearch этот запрос потребовал бы: денормализацию данных (merchant внутри transaction), nested aggregation с terms + avg, и отдельный pipeline для сортировки.

5. Стоимость владения (TCO)

Главные факторы экономии при переходе с ES на Doris:

Хранилище
ХранилищеКолоночное сжатие (Zstandard, LZ4) даёт 1:5–1:10 против 1:1.5 у ES. На 10 TB raw данных: Doris ~1–2 TB, ES ~6.7 TB.
СерверыLakala сократил серверный парк на 52% после миграции с ES/Hive/HBase на Doris.
ИнженерыОдин SQL-движок вместо зоопарка: меньше специалистов по ES Mapping, Kibana, отдельной инфраструктуре.
ЛицензииApache Doris — Apache License 2.0, без лицензионных платежей. ES AGPL требует раскрытия кода при SaaS-использовании.

6. Лицензирование: стабильность vs три смены за 5 лет

История лицензий Elasticsearch:

  1. 2010–2018: Apache License 2.0 — полная свобода
  2. 2021: переход на SSPL / Elastic License — реакция на AWS OpenSearch
  3. 2024: смена на AGPL — ограничения для SaaS-провайдеров

Apache Doris: Apache License 2.0 с момента инкубации в Apache Foundation. Лицензия не менялась и не планирует меняться — это гарантия фонда Apache.

Для enterprise-компаний лицензионная стабильность — критичный фактор: юридические риски, compliance, долгосрочное планирование.

7. Кейсы миграции с Elasticsearch

Платёжная платформа (600M событий/день)

Миграция security-аналитики с Elasticsearch на Apache Doris: запросы ускорились в 56 раз, стоимость хранения снизилась на 50%, пропускная способность записи выросла на 58%.

Коммерческий банк (PB-масштаб)

Миграция петабайтного лог-хранилища с Elasticsearch на Doris. Ключевые драйверы: экономия на хранении, стандартный SQL для аналитиков, единая платформа для логов и бизнес-аналитики.

Kwai (триллионы строк рекламы)

Унификация ClickHouse + Elasticsearch в единый Apache Doris (платформа Bleem). Результат: почти 1 млрд запросов в день, упрощение архитектуры, снижение операционной сложности.

Lakala (финтех, 25M ритейлеров)

Консолидация Elasticsearch, Hive, HBase, TiDB, Oracle в Apache Doris: запросы в 15 раз быстрее, серверный парк сокращён на 52%.

8. Когда Elasticsearch всё ещё лучше

Elasticsearch остаётся лучшим выбором в конкретных сценариях:

  • Pure full-text search без аналитики: каталоги товаров, поиск по документам, autocomplete.
  • ELK-стек для DevOps: если уже развёрнут Logstash + Kibana и нет потребности в SQL-аналитике.
  • Geo-search: специализированные geo-индексы ES (geo_point, geo_shape) глубже, чем у Doris.
  • Fuzzy matching и highlighting: ES Highlight API нативнее для задач поиска с подсветкой.

Но если на Elasticsearch строится аналитика — агрегации, дашборды, отчётность, multi-table JOIN — Apache Doris решает эти задачи быстрее, дешевле и с меньшей сложностью.

Источники

FAQ

Можно ли использовать Doris для полнотекстового поиска?

Да. С версии 2.0 Apache Doris поддерживает inverted index, BM25 scoring и hybrid search (текст + вектор). Для сценариев «поиск + аналитика» это позволяет консолидировать стек.

Насколько сложна миграция с Elasticsearch?

Основная сложность — в перестройке mapping на SQL DDL и адаптации Query DSL к SQL. Doris предоставляет инструменты импорта (Stream Load, Routine Load) и каталог для чтения данных из ES.

Что с экосистемой мониторинга? Kibana не работает с Doris.

Для визуализации используются Grafana, Apache Superset или Tableau, подключаемые по MySQL-протоколу. Grafana + Doris — стандартная связка для observability-аналитики.

Как Doris справляется с логами в real-time?

Через Kafka Connector или Flink CDC — данные попадают в Doris с задержкой в секунды. Колоночное хранение + inverted index обеспечивают быстрый поиск по логам.

Хотите оценить экономию при миграции с ES?

./ЗАПРОСИТЬ_ОЦЕНКУ.sh
© 2026 DATANOMIX.PRO — ЭКСКЛЮЗИВНЫЙ ПАРТНЁР VELODB В ЦЕНТРАЛЬНОЙ АЗИИ
VeloDB — Real-Time Analytics /ГЛАВНАЯ