[VELODB.IO]
DATANOMIX.PRO // TAQQOSLASH // DORIS vs VERTICA

Apache Doris vs Vertica: proprietar DWH dan chiqish

Masshtablash, litsenziya, real-time, TCO: enterprise uchun xolisona taqqoslash.

Tayyorlagan:
Datanomix.pro
Oʼqish vaqti:
~18 min

1. Enterprise Vertica dan nega ketadi: real muammolar

Vertica — Maykl Stounbreyker yaratgan proprietar MPP-SUBD. Bugun OpenText kompaniyasiga tegishli (Micro Focus/HPE orqali). Vertica — analitika uchun kuchli dvigatel, lekin enterprise-foydalanuvchilar masshtablash vaqtida real muammolarga duch keladi.

Aniq muammolarni koʼrib chiqamiz — Avito ning ochiq keysi asosida (2 PB maʼlumotlar, 50 nod, 50 000 jadval), Habr da 2025 yil dekabr oyida nashr etilgan.

Masshtablash — haftalik toʼxtash

Vertica ga nod qoʼshish maʼlumotlarni toʼliq rebalansirovalashni talab qiladi. Avito keysida: 1 PB maʼlumotlar — rebalansirovalash ~1 hafta, yana bir hafta ortda qolishni oʼqib chiqish. Klaster taxminan ikki hafta davomida dolzarb maʼlumotlarsiz qoladi.

Resurslar uchun raqobat

Barcha yuklamalar (ETL, ad-hoc, BI, anti-fraud) bitta manzil fazosida bitta resurslar uchun raqobatlashadi. Pik soatlarda (03:00-15:00) barcha soʼrovlar uchun resurslar yetarli emas. Resource Pools faqat soft limits beradi — haqiqiy izolyatsiya yoʼq.

Nosozliklardan keyin tiklash — soat davomida analitikasiz

Vertica qulagan vaqtda juda uzoq koʼtariladi. Bitta nod nosozligi oʼtadi. Lekin klasterning toʼliq nosozligi — ~1 soat analitikasiz. SLA talablari bor banklar va telekom uchun qabul qilib boʼlmaydi.

Vendor lock-in va litsenziya

OpenText ning proprietar litsenziyasi (avval Micro Focus/HPE). Avito keysida: Vertica Eon Mode koʼrib chiqildi, lekin geosiyosiy vaziyat tufayli vendor bilan aloqa uzildi. Per-TB litsenziya: maʼlumotlar oʼsishi bilan oʼsadi. Markaziy Osiyoda OpenText ning mahalliy ishtiroki va SLA kafolatlari yoʼq.

Keng jadvalarga kiritish

Vertica keng jadvalarga (100+ ustunlar) kiritish vaqtida maʼlumotlarni qayta saralashni talab qiladi. Yuzlab ustunlari bor katta hajmni saralash — qimmat va koʼp mehnat talab qiladigan operatsiya.

2. Apache Doris bu muammolarning har birini qanday hal qiladi

Vertica ning har bir muammosining Apache Doris arxitekturasida aniq yechimi bor:

Vertica muammosiApache Doris yechimi
Haftalik rebalansirovalashTablet-based sharding, BE-nodlar qoʼshilganda auto-balance. Yangi nodlar daqiqalarda ulanadi, maʼlumotlar fonda blokirovkasiz tenglanadi.
Resurslar uchun raqobatCgroups bilan Workload Groups: har bir foydalanuvchi guruhi uchun CPU/Memory qatʼiy limitlar. ETL ad-hoc ni oʼldirmaydi.
Nosozlikda soat davomida analitikasizBE nodlar — replikalari bor stateless executor. FE — BDBJE orqali consensus. Tiklash vaqti: soniyalar, soat emas.
Vendor lock-in, litsenziyaApache License 2.0: nol litsenziya xarajatlari, nol sanksiya xavfi. VeloDB Enterprise — open-source bilan 100% moslik.
Keng jadvallar sekinlashtiradiMajburiy saralashsiz columnar storage. Batch insert uchun Stream Load. Aggregate/Duplicate/Unique Key modellari.
Compute/storage ajratilmaganCompute-storage decoupled mode: hisoblashlarni saqlashdan alohida masshtablang.

3. Arxitekturaviy taqqoslash

Vertica va Apache Doris arxitekturasini batafsil taqqoslash:

Vertica (Enterprise Mode)Apache Doris
ArxitekturaShared-nothing MPP, coupled compute+storageMPP, coupled yoki decoupled (ixtiyoriy)
MasshtablashNod qoʼshish + rebalansirovalash (kunlar-haftalar)BE-nod qoʼshish + auto-balance (daqiqalar)
Saqlash modellariProjections (materializatsiyalangan saralangan nusxalar)3 model: Duplicate Key, Unique Key, Aggregate Key + Materialized Views
Real-time UPSERTCheklangan (DELETE + INSERT)Delete Bitmap bilan Unique Key — nativ UPSERT
Full-text qidiruvNativ yoʼq (semi-structured uchun Flex Tables)Full-text search uchun Inverted Index + BM25
Vector SearchYoʼqAI/RAG uchun HNSW / IVFPQ
Lakehouse FederationCheklangan (S3/HDFS uchun External Tables)Multi-Catalog: Iceberg, Hudi, Delta, Hive, JDBC
SQL protokolOʼziga xos protokol + JDBC/ODBCMySQL protocol — har qanday BI vosita tayyor ishlaydi
Workload IsolationResource Pools (soft limits)Workload Groups + cgroups (hard limits)
LitsenziyaProprietary (OpenText), per-TBApache 2.0 (bepul), VeloDB Enterprise — per-core

4. Unumdorlik: benchmarklar

Avito 2022 yilda oʼz testini oʼtkazdi: Trino murakkab analitik soʼrovlarda Vertica bilan paritetni koʼrsatdi. Kontekst uchun: Apache Doris oʼsha yuklarda Trino dan barqaror tezroq.

TPC-H SF100: Doris anʼanaviy DWH-dvigatellardan 3-5x tezroq. TPC-DS: Doris 99/99 soʼrovni bajaradi — enterprise-grade SQL toʼliqligi.

Real-time yangilanishlar: ClickHouse dan 34x gacha tezroq (u Vertica dan yozish boʼyicha tezroq). ClickBench: Doris analitik yuklarda top-3 da.

Asosiy xulosa: Vertica — kuchli dvigatel. Lekin Doris unga mos keladi yoki oshib ketadi, shu bilan birga real-time, toʼliq matnli qidiruv va vektor imkoniyatlarini qoʼshadi.

Manbalar: Avito ning Habr dagi ommaviy maqolalari, VeloDB benchmarklari.

5. SQL koʼchish: nima oʼzgaradi

Vertica dan Apache Doris ga koʼchish vaqtida SQL-konstruktsiyalarni mapping:

Vertica SQLApache Doris SQLIzoh
COPY FROMStream Load / Broker LoadHTTP API yoki S3/HDFS load
ProjectionsMaterialized Views + auto rewriteMV avtomatik CBO tomonidan qoʼyiladi
MERGE INTOINSERT INTO ... ON DUPLICATE KEY UPDATEUnique Key jadvallar
Flex TablesVARIANT maʼlumot turiSemi-structured maʼlumotlar
UDx (C++)UDF (Java)Java asosidagi kengaytirilish
Resource PoolsWorkload GroupsQatʼiyroq izolyatsiya
Partitioning by expressionRANGE/LIST PartitionOʼxshash imkoniyatlar
ANALYZE_STATISTICSANALYZE TABLEAutomatic statistics collection
// SQL KOʼCHISH MISOLI -- Vertica: SELECT customer_id, SUM(amount) FROM transactions WHERE tx_date >= CURRENT_DATE - INTERVAL '30 days' GROUP BY customer_id HAVING SUM(amount) > 10000; -- Apache Doris: SELECT customer_id, SUM(amount) FROM transactions WHERE tx_date >= CURRENT_DATE - INTERVAL 30 DAY GROUP BY customer_id HAVING SUM(amount) > 10000;

Minimal farqlar: INTERVAL sintaksisi, baʼzi tip konvertatsiyalari. 90%+ soʼrovlar oʼzgarishsiz ishlaydi.

6. Egalik qilish narxi (TCO)

OmilVerticaApache Doris / VeloDB
LitsenziyaPer-TB (maʼlumotlarga proportsional oʼsish)Apache 2.0 bepul / VeloDB per-core
InfratuzilmaMaxsus serverlar, coupledCommodity hardware, ixtiyoriy cloud
Xizmat koʼrsatishProjections tuning, statistics, DBAAuto Materialized Views, CBO, kamroq DBA ishi
MasshtablashQimmat: rebalansirovalash = downtimeArzon: add nodes online, auto-balance
Vendor riskOpenText (sotib olish noaniqligi)Apache Foundation (community-governed)

Keys: VeloDB Enterprise Client (moliya sektori) — Oracle + Teradata almashtirish, TCO 60% kamaytirish, soʼrovlar 8x tezlashtirish. Proprietar DWH dan koʼchishdagi odatiy tejash: 40-70%.

7. Koʼchish vositalari

Vertica dan Apache Doris ga koʼchish uchun vositalar ekotizimi:

X2Doris

Avtomatik koʼchish: sxemalarni konvertatsiya, maʼlumotlarni koʼchirish.

Parquet/ORC export → Broker Load

Vertica EXPORT → S3 → Doris Broker Load.

JDBC Catalog

Doris Vertica dan JDBC orqali toʼgʼridan-toʼgʼri oʼqiydi — parallel validatsiya uchun.

Flink CDC

Dual-run davrida incremental sinxronlash uchun.

SQL Converter

Vertica SQL → Doris SQL avtomatik tarjimasi.

5 fazali koʼchish strategiyasi:

  1. Doris ni Vertica yoniga deploy qilish
  2. Maʼlumotlarni replikatsiya qilish (Parquet export yoki JDBC)
  3. Soʼrovlarni parallel ishga tushirish, natijalarni taqqoslash
  4. Read-trafikni bosqichma-bosqich oʼtkazish
  5. Vertica ni foydalanishdan chiqarish

8. Vertica qachon yaxshiroq boʼlishi mumkin

Xolisona baho — Vertica ning kuchli tomonlari bor:

  • Vertica Projections ga chuqur investitsiya qilib, ular yuklamangizga mukammal sozlangan boʼlsa.
  • Vertica ning ilgʼor ML-funktsiyalarini foydalansangiz (in-database machine learning).
  • Jamoa Vertica da chuqur tajribaga ega boʼlsa va oʼzgarishlarga motivatsiya boʼlmasa.
  • Vertica Eon Mode foydalanib, OpenText bilan ish munosabati boʼlsa.

Lekin real-time yangilanishlar, full-text qidiruv, vector search, lakehouse federation yoki ochiq litsenziya kerak boʼlsa — Doris bu vazifalarni hal qiladi. Agar vendor risk muhim boʼlsa (sanksiyalar, OpenText noaniqligi) — Apache 2.0 bu xavfni toʼliq bartaraf etadi.

Manbalar

FAQ

Vertica Projections ni Doris ga koʼchirsa boʼladimi?

Projections Materialized Views ga mapplanadi. Doris CBO asosiy jadvallar oʼrniga MV ni avtomatik qoʼyadi (transparent query rewrite). SQL qayta yozishni talab qilmaydi.

Vertica UDx (C++) ni Doris ga qanday koʼchirish mumkin?

Doris Java dagi UDF ni qoʼllab-quvvatlaydi. Murakkab UDx uchun mantiqni qayta yozish kerak. Avito keysida oʼxshash koʼchish taqqoslanadigan unumdorlikni koʼrsatdi.

SQL qanchalik farq qiladi?

90%+ soʼrovlar oʼzgarishsiz ishlaydi. Asosiy farqlar: INTERVAL sintaksisi, ILIKE / LIKE, baʼzi analitik funktsiyalar. Avtomatik SQL-konverterlar mavjud.

Koʼchish qancha vaqt oladi?

Hajmga bogʼliq: odatiy enterprise uchun 1-3 oy. Parallel run strategiyasi downtime siz koʼchishga imkon beradi. Avito 2+ yil koʼchirdi, lekin ularda 2 PB va 50 000 jadval.

Vertica dan chiqishni rejalashtirmoqdamisiz? Arxitekturani muhokama qilamiz.

./KOʼCHISHNI_MUHOKAMA.sh
© 2026 DATANOMIX.PRO — MARKAZIY OSIYODA VELODB EKSKLUZIV HAMKORI
VeloDB — Real-Time Analytics /BOSH SAHIFA