[VELODB.IO]
DATANOMIX.PRO // МИГРАЦИЯ // VERTICA → DORIS

Миграция с Vertica на Apache Doris: пошаговый гайд

SQL-адаптация, перенос projections, инструменты миграции данных. 40–70% снижение TCO.

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

1. Зачем уходить с Vertica

Vertica — коммерческий колоночный MPP от Micro Focus / OpenText. Десятилетиями она была выбором 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 и экосистеме:

VerticaApache Doris
Commercial columnar MPPOpen-source columnar MPP
Coordinator + worker nodesFE + BE nodes, auto-balance
PostgreSQL-compatible SQLMySQL-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.

VerticaApache Doris
VARCHARVARCHAR
INTEGERINT
TIMESTAMPTZDATETIME
VARBINARYSTRING
COPY (bulk load)Stream Load
MERGEINSERT ... ON DUPLICATE KEY UPDATE
HASH()CRC32 / MURMUR_HASH3
ProjectionsMaterialized Views / Rollup

Аналитические функции: большинство оконных функций (RANK, ROW_NUMBER, LAG, LEAD) работают в обеих системах без изменений.

Vertica Projections → Doris Materialized Views с automatic query rewrite и Rollup-индексы. Flex Tables (schema-on-read) → VARIANT тип в Doris 2.1+.

// МИГРАЦИЯ 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 для валидации без копирования данных.

Валидация: сравнение row count, контрольных сумм и результатов sample-запросов между Vertica и Doris.

5. Стратегия миграции: 5 фаз

Рекомендуемая стратегия миграции с Vertica:

  1. Фаза 1 — Schema mapping: маппинг Vertica projections → Doris table models + Materialized Views.
  2. Фаза 2 — Перенос исторических данных: Parquet export → Broker Load в Doris.
  3. Фаза 3 — Dual-write: новые данные пишутся в обе системы через ETL.
  4. Фаза 4 — Сравнение запросов: одинаковые отчёты на обеих системах, сравнение результатов и производительности.
  5. Фаза 5 — Cutover: переключение на Doris и вывод Vertica из эксплуатации.

Типичные сроки: 4–12 недель (дольше, чем миграция с ClickHouse из-за более широкой SQL-поверхности). Ключевой риск: Vertica-специфичные UDF и stored procedures требуют переписывания.

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

Финансовый сектор: Oracle + Vertica → VeloDB Cloud

Enterprise-клиент VeloDB из финансового сектора заменил Oracle и Vertica на VeloDB Cloud. Снижение TCO на 60%, ускорение запросов в 8 раз.

Тренд в СНГ: уход с Vertica

Банки и телеком-операторы в СНГ покидают Vertica из-за стоимости лицензий и тренда на импортозамещение. datalakehouse.kz позиционируется как «Замена Oracle и Vertica».

Apache Doris Community

Множество историй миграции с Vertica на Doris в сообществе doris.apache.org. Типичный результат — 40–70% снижение TCO при сопоставимой или лучшей производительности.

7. TCO: сколько стоит уйти с Vertica

Сравнение совокупной стоимости владения:

  1. Лицензирование: Vertica ~$10K–50K per TB/year vs Apache Doris = $0 (Apache License 2.0).
  2. Enterprise-поддержка: VeloDB Enterprise — доля стоимости Vertica лицензии.
  3. Железо: сопоставимый footprint для колоночных MPP, но авто-компакция Doris снижает объём хранения.
  4. Инженеры: навыки PostgreSQL (Vertica) vs MySQL (Doris) — обе skill-базы широко доступны на рынке.
  5. Обучение: минимальное для SQL-аналитиков (SQL похож), больше для DBA (другая модель администрирования).
  6. Окупаемость: типично 6–12 месяцев включая стоимость миграции.
  7. Долгосрочно: 40–70% снижение TCO по данным кейсов VeloDB.

Источники

FAQ

Vertica projections — есть аналог в Doris?

Materialized Views с auto query rewrite и Rollup-индексы покрывают большинство сценариев Vertica projections.

Можно ли использовать Vertica UDF в Doris?

Нет. UDF нужно переписать на Java (Doris Java UDF) или вынести логику в ETL/dbt.

Как с лицензией — Vertica Community Edition бесплатна?

CE ограничена 1 TB и 3 нодами. Для enterprise это не вариант. Apache Doris не имеет таких ограничений.

Сколько времени занимает миграция?

4–12 недель. Основная сложность — маппинг projections и UDF, не сам перенос данных.

Хотите оценить миграцию с Vertica?

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