1. Elasticsearch неге жеткіліксіз болады
Elasticsearch іздеу жүйесі ретінде жасалған: толық мәтіндік іздеу, инвертирленген индекстер, near-real-time құжат жеткізу. Бұл тапсырмалар үшін ол тамаша.
Бірақ ES-те аналитика құра бастағанда — миллиардтаған жолдардағы агрегациялар, көп кестелі JOIN, BI-дашбордтар — жүйелік мәселелер пайда болады:
- Үлкен көлемдердегі агрегациялар баяу: ES деректерді row-oriented форматта сақтайды.
- SQL JOIN жоқ: Query DSL индекстер арасында join қолдамайды.
- Сақтау құны: 1:1.5 сығымдау, колоночтық СУБД-ның 1:5–1:10-мен салыстырғанда.
- Лицензиялық тұрақсыздық: Apache 2.0 → SSPL → Elastic License → AGPL — 5 жылда 3 ауысу.
2. Архитектура: іздеу жүйесі vs аналитикалық СУБД
Негізгі айырмашылық — деректерді сақтау және өңдеу моделінде.
| Elasticsearch | Apache Doris |
|---|---|
| Inverted Index + row-based сақтау | Columnar storage + MPP архитектурасы |
| Full-text search және point lookups үшін оңтайландырылған | Агрегациялар, scan, multi-table JOIN үшін оңтайландырылған |
| Query DSL (JSON) — іздеуге күшті, аналитикаға ыңғайсыз | Стандартты SQL (MySQL-протоколы, JDBC/ODBC) |
| Шардтар арқылы көлденең масштабтау | SIMD-мен vectorized execution engine |
| Күрделі сұраныстар үшін CBO жоқ | CBO + Runtime Filter JOIN оңтайландыру үшін |
Apache Doris 2.0 нұсқасынан бастап inverted index, BM25 және hybrid search (мәтін + вектор) қолдайды. Бұл іздеу мен аналитиканы бір жүйеде біріктіруге мүмкіндік береді.
3. Өнімділік: нақты енгізулерден сандар
Apache Doris және VeloDB жариялаған кейстерден деректер:
| Метрика | Elasticsearch | Apache Doris | Дереккөз |
|---|---|---|---|
| Сұраныс жылдамдығы (толық мәтін) | Бастапқы деңгей | 2–3x жылдам | doris.apache.org |
| Жазу жылдамдығы | Бастапқы деңгей | 4x жылдам | doris.apache.org |
| Деректер сығымдалуы | 1:1.5 | 1:5 – 1:10 | doris.apache.org |
| Сақтау үнемделуі | — | 50–65% | Көшу кейстері |
| Сұраныстар (төлем платформасы) | Бастапқы деңгей | 56x жылдам | Leading Payment Platform |
| Жазу өткізу қабілеті | Бастапқы деңгей | +58% | Leading Payment Platform |
4. Query DSL орнына SQL
Elasticsearch JSON 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-та бұл сұраныс: деректерді денормализациялау, nested aggregation terms + avg, және сұрыптау үшін бөлек pipeline қажет болар еді.
5. Иелену құны (TCO)
ES-тен Doris-ке көшу кезіндегі негізгі үнемдеу факторлары:
| Сақтау | |
|---|---|
| Сақтау | Колоночтық сығымдау (Zstandard, LZ4): 1:5–1:10 ES-тің 1:1.5-пен салыстырғанда. 10 TB деректерде: Doris ~1–2 TB, ES ~6.7 TB. |
| Серверлер | Lakala ES/Hive/HBase-ден Doris-ке көшкеннен кейін серверлер санын 52%-ға қысқартты. |
| Инженерлер | Зоопарк орнына бір SQL-қозғалтқыш: ES Mapping, Kibana мамандарына аз қажеттілік. |
| Лицензиялар | Apache Doris — Apache License 2.0, лицензиялық төлемсіз. ES AGPL SaaS-та кодты ашуды талап етеді. |
6. Лицензиялау: тұрақтылық vs 5 жылда 3 ауысу
Elasticsearch лицензиялар тарихы:
- 2010–2018: Apache License 2.0 — толық еркіндік
- 2021: SSPL / Elastic License-ке көшу — AWS OpenSearch-ке жауап
- 2024: AGPL-ге ауысу — SaaS провайдерлерге шектеулер
Apache Doris: Apache Foundation-дағы инкубациядан бері Apache License 2.0. Лицензия ауыспады және ауысуы жоспарланбайды.
Enterprise компаниялар үшін лицензиялық тұрақтылық — маңызды фактор: заңдық тәуекелдер, compliance, ұзақ мерзімді жоспарлау.
7. Elasticsearch-тен көшу кейстері
Төлем платформасы (күніне 600M оқиға)
Security-аналитиканы ES-тен Doris-ке көшіру: сұраныстар 56 есе жылдамдады, сақтау құны 50% төмендеді, жазу өткізу қабілеті 58% артты.
Коммерциялық банк (PB-масштаб)
Петабайттық лог қоймасын ES-тен Doris-ке көшіру. Негізгі себептер: сақтау үнемі, SQL, бірыңғай платформа.
Kwai (триллиондаған жарнама жолдары)
ClickHouse + Elasticsearch-ті бір Apache Doris-ке біріктіру (Bleem платформасы). Нәтиже: күніне ~1 млрд сұраныс.
Lakala (финтех, 25M ритейлер)
ES, Hive, HBase, TiDB, Oracle-ды Doris-ке біріктіру: сұраныстар 15 есе жылдам, серверлер 52% аз.
8. Elasticsearch қашан жақсырақ
Elasticsearch нақты сценарийлерде ең жақсы таңдау болып қала береді:
- Аналитикасыз таза full-text іздеу: тауар каталогтары, құжат іздеу, autocomplete.
- DevOps үшін ELK-стек: Logstash + Kibana орнатылған болса және SQL-аналитика қажет емес.
- Geo-search: ES-тің geo-индекстері (geo_point, geo_shape) тереңірек.
- Fuzzy matching және highlighting: ES Highlight API іздеу тапсырмаларына нативтірек.
Бірақ Elasticsearch-те аналитика — агрегациялар, дашбордтар, есептер, multi-table JOIN — құрылса, Apache Doris бұл тапсырмаларды жылдамырақ, арзанырақ және қарапайымырақ шешеді.