1. Vertica-дан неге кету керек
Vertica — Micro Focus / OpenText компаниясының коммерциялық колоночті MPP. Ондаған жылдар бойы enterprise-аналитиканың таңдауы болды, бірақ бүгін оның позициялары әлсірейді.
Көшудің типтік себептері:
- Жоғары құны: per-node немесе per-TB лицензиялау, жыл сайынғы төлемдер, қымбат қолдау. Иелену құны жыл сайын өседі.
- Vendor lock-in: проприетарлық SQL-кеңейтімдер, проприетарлық сақтау форматы. Басқа жүйеге көшу — күрделі және қымбат.
- Лицензиялық аудиттер: сәйкессіздік үшін айыппұл тәуекелдері, compliance-ты тұрақты бақылау қажеттілігі.
- Шектеулі real-time: Vertica batch-жүктемелер үшін жобаланған. Нативті CDC және streaming ingest жоқ.
- OpenText сатып алуы (2023): өнім roadmap белгісіздігі, бағалар көтерілуі, вендор басымдықтарының өзгеруі.
- Импортозамещение: ҚЗ/РФ контекстінде — батыс коммерциялық ДББЖ-дан кету тренді.
- Lakehouse-федерация жоқ: Iceberg, Hudi, Delta Lake нативті қолдауы жоқ.
2. Архитектура: Vertica vs Apache Doris
Екі жүйе де колоночті MPP, бірақ лицензиялау, real-time және экожүйеге қатысты түбегейлі ерекшеліктері бар:
| 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-үйлесімділік және бейімдеу
Vertica-дан көшудің басты артықшылығы — екі жүйе де толық SQL-ді қолдайды. Бейімдеу ClickHouse-тен көшуге қарағанда анағұрлым оңай.
| 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 |
Аналитикалық функциялар: терезе функцияларының көпшілігі (RANK, ROW_NUMBER, LAG, LEAD) екі жүйеде де өзгеріссіз жұмыс істейді.
Vertica Projections → Doris Materialized Views automatic query rewrite және Rollup-индекстер. Flex Tables (schema-on-read) → Doris 2.1+ VARIANT типі.
// SQL КӨШІРУ: 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. Деректерді тасымалдау: құралдар мен тәсілдер
Vertica-дан деректерді көшірудің негізгі құралдары:
- X2Doris: Doris-тің ресми көшіру құралы: схема мен деректерді автоматты тасымалдау.
- Parquet Export → Broker Load: Vertica EXPORT TO PARQUET → S3/HDFS → Doris Broker Load. Үлкен көлемдер үшін ұсынылатын тәсіл.
- Spark Bridge: Spark Vertica-ны JDBC арқылы оқиды → Doris-ке жазады. Деректерді тасымалдау кезінде трансформация үшін.
- Flink CDC: Аралық синхронизация үшін. Vertica-да нативті CDC жоқ — timestamp-колонкалар арқылы шығарып алу.
- JDBC Catalog: Doris Vertica кестелерін JDBC Catalog арқылы деректерді көшірусіз валидация үшін оқи алады.
Валидация: Vertica мен Doris арасында row count, бақылау сомалары және sample-сұраныс нәтижелерін салыстыру.
5. Көшу стратегиясы: 5 фаза
Vertica-дан көшудің ұсынылатын стратегиясы:
- 1-фаза — Schema mapping: Vertica projections → Doris table models + Materialized Views маппингі.
- 2-фаза — Тарихи деректерді тасымалдау: Parquet export → Doris-ке Broker Load.
- 3-фаза — Dual-write: жаңа деректер ETL арқылы екі жүйеге жазылады.
- 4-фаза — Сұраныстарды салыстыру: бірдей есептер екі жүйеде, нәтижелер мен өнімділікті салыстыру.
- 5-фаза — Cutover: Doris-ке ауысу және Vertica-ны пайдаланудан шығару.
Типтік мерзімдер: 4–12 апта (SQL-беті кеңірек болғандықтан ClickHouse-тен көшуге қарағанда ұзағырақ). Негізгі тәуекел: Vertica-ға тән UDF мен stored procedures қайта жазуды талап етеді.
6. Көшу кейстері
Қаржы секторы: Oracle + Vertica → VeloDB Cloud
VeloDB-нің қаржы секторындағы enterprise-клиенті Oracle мен Vertica-ны VeloDB Cloud-қа ауыстырды. TCO 60% төмендеді, сұраныстар 8 есе жылдамдады.
ТМД-дағы тренд: Vertica-дан кету
ТМД-дағы банктер мен телеком-операторлар лицензия құны мен импортозамещение тренді себебінен Vertica-дан кетуде. datalakehouse.kz «Oracle мен Vertica ауыстыру» ретінде позицияланады.
Apache Doris Community
doris.apache.org қоғамдастығында Vertica-дан Doris-ке көшудің көптеген тарихы бар. Типтік нәтиже — TCO 40–70% төмендеу сопоставимой немесе жақсырақ өнімділікте.
7. TCO: Vertica-дан кетудің құны
Жиынтық иелену құнын салыстыру:
- Лицензиялау: Vertica ~$10K–50K per TB/жыл vs Apache Doris = $0 (Apache License 2.0).
- Enterprise-қолдау: VeloDB Enterprise — Vertica лицензиясы құнының бір бөлігі.
- Аппараттық құрал: колоночті MPP үшін салыстырмалы footprint, бірақ Doris авто-компакция сақтау көлемін азайтады.
- Инженерлер: PostgreSQL дағдылары (Vertica) vs MySQL (Doris) — екі skill-база да нарықта кеңінен қол жетімді.
- Оқыту: SQL-аналитиктер үшін минималды (SQL ұқсас), DBA үшін көбірек (басқа әкімшілендіру моделі).
- Өтелу: көшіру құнын қоса 6–12 ай типтік.
- Ұзақ мерзімде: VeloDB кейстері бойынша TCO 40–70% төмендеу.