1. Vertica dan nega ketish kerak
Vertica — Micro Focus / OpenText kompaniyasining tijorat kolonkali MPP. Oʼnlab yillar davomida enterprise-analitikaning tanlovi boʼlgan, lekin bugun uning pozitsiyalari zaiflashmoqda.
Koʼchishning tipik sabablari:
- Yuqori narx: per-node yoki per-TB litsenziyalash, yillik toʼlovlar, qimmat qoʼllab-quvvatlash. Egalik narxi har yili oʼsadi.
- Vendor lock-in: proprietar SQL-kengaytmalar, proprietar saqlash formati. Boshqa tizimga oʼtish — murakkab va qimmat.
- Litsenziya auditleri: nomuvofiqlik uchun jarima xavflari, compliance ni doimiy nazorat qilish zarurati.
- Cheklangan real-time: Vertica batch-yuklamalar uchun loyihalangan. Nativ CDC va streaming ingest yoʼq.
- OpenText sotib olishi (2023): mahsulot roadmap noaniqligi, narxlar koʼtarilishi, vendor ustuvorliklarining oʼzgarishi.
- Import oʼrnini bosish: QZ/RF kontekstida — gʼarbiy tijorat MBBT dan ketish trendi.
- Lakehouse-federatsiya yoʼq: Iceberg, Hudi, Delta Lake nativ qoʼllab-quvvatlashi yoʼq.
2. Arxitektura: Vertica vs Apache Doris
Ikkala tizim ham kolonkali MPP, lekin litsenziyalash, real-time va ekotizimga nisbatan tubdan farqlari bor:
| Vertica | Apache Doris |
|---|---|
| Commercial columnar MPP | Open-source columnar MPP |
| Coordinator + worker nodes | FE + BE nodes, auto-balance |
| PostgreSQL-compatible SQL | MySQL-compatible SQL |
| Proprietary storage (ROS/WOS) | Open columnar + inverted index |
| Projections (materialized sort orders) | Materialized Views with auto-rewrite |
| Limited real-time (trickle load) | Real-time: Kafka, Flink CDC, Stream Load |
| External tables (limited) | Multi-Catalog: Iceberg, Hudi, Delta, Hive |
| Per-node licensing ($$$) | Apache License 2.0 (free) |
3. SQL-moslik va moslash
Vertica dan koʼchishning asosiy afzalligi — ikkala tizim ham toʼliq SQL ni qoʼllab-quvvatlaydi. Moslash ClickHouse dan koʼchishga qaraganda ancha osonroq.
| Vertica | Apache Doris |
|---|---|
| VARCHAR | VARCHAR |
| INTEGER | INT |
| TIMESTAMPTZ | DATETIME |
| VARBINARY | STRING |
| COPY (bulk load) | Stream Load |
| MERGE | INSERT ... ON DUPLICATE KEY UPDATE |
| HASH() | CRC32 / MURMUR_HASH3 |
| Projections | Materialized Views / Rollup |
Analitik funksiyalar: oyna funksiyalarining koʼpchiligi (RANK, ROW_NUMBER, LAG, LEAD) ikkala tizimda ham oʼzgarishsiz ishlaydi.
Vertica Projections → Doris Materialized Views automatic query rewrite va Rollup-indekslar. Flex Tables (schema-on-read) → Doris 2.1+ VARIANT tipi.
// SQL KOʼCHIRISH: VERTICA → DORIS -- Vertica (before) SELECT department,
TIMESTAMPDIFF('month', hire_date, CURRENT_TIMESTAMP) AS tenure_months,
SUM(revenue) OVER (PARTITION BY department ORDER BY hire_date) AS running_total
FROM employees e
JOIN sales s ON e.emp_id = s.emp_id
WHERE sale_date >= CURRENT_DATE - INTERVAL '90 days';
-- Apache Doris (after) SELECT department,
TIMESTAMPDIFF(MONTH, hire_date, CURRENT_TIMESTAMP()) AS tenure_months,
SUM(revenue) OVER (PARTITION BY department ORDER BY hire_date) AS running_total
FROM employees e
JOIN sales s ON e.emp_id = s.emp_id
WHERE sale_date >= CURRENT_DATE - INTERVAL 90 DAY; 4. Maʼlumotlarni koʼchirish: asboblar va yondashuvlar
Vertica dan maʼlumotlarni koʼchirishning asosiy asboblari:
- X2Doris: Doris ning rasmiy koʼchirish asbobi: sxema va maʼlumotlarni avtomatik tashish.
- Parquet Export → Broker Load: Vertica EXPORT TO PARQUET → S3/HDFS → Doris Broker Load. Katta hajmlar uchun tavsiya etilgan yondashuv.
- Spark Bridge: Spark Vertica ni JDBC orqali oʼqiydi → Doris ga yozadi. Maʼlumotlarni koʼchirish paytida transformatsiya uchun.
- Flink CDC: Oraliq sinxronizatsiya uchun. Vertica da nativ CDC yoʼq — timestamp-ustunlar orqali chiqarib olish.
- JDBC Catalog: Doris Vertica jadvallarini JDBC Catalog orqali maʼlumotlarni koʼchirmasdan validatsiya uchun oʼqiy oladi.
Validatsiya: Vertica va Doris oʼrtasida row count, nazorat summalari va sample-soʼrov natijalarini solishtirish.
5. Koʼchish strategiyasi: 5 bosqich
Vertica dan koʼchishning tavsiya etilgan strategiyasi:
- 1-bosqich — Schema mapping: Vertica projections → Doris table models + Materialized Views mappingi.
- 2-bosqich — Tarixiy maʼlumotlarni koʼchirish: Parquet export → Doris ga Broker Load.
- 3-bosqich — Dual-write: yangi maʼlumotlar ETL orqali ikkala tizimga yoziladi.
- 4-bosqich — Soʼrovlarni solishtirish: bir xil hisobotlar ikkala tizimda, natijalar va unumdorlikni solishtirish.
- 5-bosqich — Cutover: Doris ga oʼtish va Vertica ni foydalanishdan chiqarish.
Tipik muddatlar: 4–12 hafta (SQL-yuza kengroq boʼlganligi sababli ClickHouse dan koʼchishga qaraganda uzunroq). Asosiy xavf: Vertica ga xos UDF va stored procedures qayta yozishni talab qiladi.
6. Koʼchish keyslari
Moliya sektori: Oracle + Vertica → VeloDB Cloud
VeloDB ning moliya sektoridagi enterprise-mijozi Oracle va Vertica ni VeloDB Cloud ga almashtirdi. TCO 60% kamaydi, soʼrovlar 8 barobar tezlashdi.
MDH dagi trend: Vertica dan ketish
MDH dagi banklar va telekom-operatorlar litsenziya narxi va import oʼrnini bosish trendi sababli Vertica dan ketmoqda. datalakehouse.kz «Oracle va Vertica oʼrnini bosish» sifatida pozitsiyalanadi.
Apache Doris Community
doris.apache.org hamjamiyatida Vertica dan Doris ga koʼchishning koʼplab tarixlari mavjud. Tipik natija — solishtiriladigan yoki yaxshiroq unumdorlikda TCO 40–70% kamayishi.
7. TCO: Vertica dan ketishning narxi
Jami egalik narxini solishtirish:
- Litsenziyalash: Vertica ~$10K–50K per TB/yil vs Apache Doris = $0 (Apache License 2.0).
- Enterprise-qoʼllab-quvvatlash: VeloDB Enterprise — Vertica litsenziyasi narxining bir qismi.
- Apparat: kolonkali MPP uchun solishtiriladigan footprint, lekin Doris avto-kompaktsiya saqlash hajmini kamaytiradi.
- Muhandislar: PostgreSQL koʼnikmalari (Vertica) vs MySQL (Doris) — ikkala skill-baza ham bozorda keng tarqalgan.
- Oʼqitish: SQL-analitiklar uchun minimal (SQL oʼxshash), DBA uchun koʼproq (boshqa boshqarish modeli).
- Oʼzini qoplash: koʼchirish narxini qoʼshganda 6–12 oy tipik.
- Uzoq muddatda: VeloDB keyslari boʼyicha TCO 40–70% kamayish.