[VELODB.IO]
DATANOMIX.PRO // СРАВНЕНИЕ // MPP DWH vs LAKEHOUSE

Apache Doris vs Greenplum: когда пора менять MPP DWH

Архитектура, real-time, стоимость владения: почему enterprise переходит с Greenplum на Apache Doris.

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

1. Почему Greenplum перестаёт справляться

Greenplum — MPP-СУБД на базе PostgreSQL, разработанная Pivotal (затем VMware). Сегодня open-source версия развивается как Greengage, а в КЗ/РФ основной дистрибутор — Arenadata ADB.

Greenplum хорошо работает для классических batch-ETL сценариев. Но когда бизнесу нужна аналитика в реальном времени, начинаются проблемы:

  • Нет real-time обновлений: Greenplum спроектирован для batch-загрузок. UPSERT и partial update отсутствуют — нужен delete + insert.
  • Сложное масштабирование: добавление segment-нод требует перераспределения данных (redistribution), что может занять часы.
  • Тяжёлая администрация: coordinator + standby coordinator + segment mirrors + VACUUM + table bloat — требует выделенных DBA.
  • Стоимость лицензий: enterprise-версия (VMware/Arenadata) платная. Open-source Greengage требует экспертизы для production.

2. Архитектура: MPP DWH vs Unified Lakehouse

Ключевое различие — в подходе к обновлению данных и интеграции с data lake.

GreenplumApache Doris
PostgreSQL-based, coordinator-segment архитектураНезависимый MPP, FE + BE ноды
Row + column storage (append-optimized таблицы)Columnar storage с native UPSERT и partial update
PostgreSQL SQL (PL/pgSQL, триггеры, stored procedures)MySQL-протокол (JDBC/ODBC, широкая BI-совместимость)
Внешние таблицы для доступа к data lake (PXF)Native lake federation (Iceberg, Hudi, Delta Lake, Paimon)
VACUUM и table bloat при обновленияхVectorized engine с SIMD, auto-compaction

Apache Doris объединяет real-time аналитику и lakehouse federation в одной системе — без необходимости строить отдельные пайплайны для batch и streaming.

3. Производительность: цифры из публичных бенчмарков

Данные из TPC-H/TPC-DS бенчмарков и публичных кейсов:

МетрикаGreenplumApache DorisПримечание
Сложные JOIN (TPC-H)Базовый уровень3–5x быстрееVectorized engine + CBO
Real-time UPSERTНе поддерживаетсяНативная поддержкаUnique Key Model
Сжатие данных1:2 – 1:41:5 – 1:10Columnar + Zstandard/LZ4
Execution engineRow-based (legacy)Vectorized + SIMDРазница на scan-heavy запросах
Concurrent queriesCoordinator bottleneckFE-кластер, горизонтальное масштабированиеDoris масштабирует FE отдельно

4. SQL совместимость

Greenplum наследует PostgreSQL SQL — один из самых богатых диалектов: PL/pgSQL, триггеры, stored procedures, оконные функции, CTE, материализованные представления.

Apache Doris работает по MySQL-протоколу. Любой BI-инструмент (Grafana, Superset, Tableau, Power BI) подключается через стандартный JDBC/ODBC без адаптеров.

// ПРИМЕР: ОДИН И ТОТ ЖЕ ЗАПРОС В ОБЕИХ СИСТЕМАХ 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;

Этот запрос работает и в Greenplum (PostgreSQL синтаксис), и в Doris (MySQL-совместимый). Основные отличия — в DDL, типах данных и механизме обновлений. X2Doris помогает адаптировать схемы при миграции.

Преимущество Doris: MySQL — самый распространённый протокол; любой клиент подключается без адаптера. Преимущество GP: богатый PL/pgSQL для процедурной логики в СУБД.

5. Стоимость владения (TCO)

Главные факторы экономии при переходе с Greenplum на Doris:

Лицензии
ЛицензииGreenplum enterprise (Arenadata ADB, VMware Tanzu) — коммерческая лицензия. Apache Doris — Apache License 2.0, без платежей.
ИнфраструктураGP требует выделенного coordinator, standby coordinator, segment mirrors. Doris: FE/BE ноды с auto-balancing, проще масштабирование.
ЭксплуатацияGP: VACUUM, table bloat, segment management, catalog repair. Doris: auto-compaction, автоматическое управление данными.
ИнженерыPostgreSQL-специалисты доступны, но MySQL-специалистов ещё больше. Doris не требует глубокой DBA-экспертизы для типичных операций.

6. Real-time: ключевой разрыв

Это главное архитектурное различие. Greenplum создан для batch-аналитики: ETL-процессы загружают данные пакетами, обновления через delete + insert.

Apache Doris поддерживает потоковые загрузки нативно:

  • Kafka Connector — подписка на топики Kafka, данные в Doris за секунды.
  • Flink CDC — Change Data Capture из PostgreSQL, MySQL, Oracle в реальном времени.
  • Stream Load — HTTP-загрузка с субсекундной задержкой.
  • Unique Key Model — UPSERT и partial update без delete + insert.

Для современной аналитики — fraud-detection, live-дашборды, операционный мониторинг — real-time не опция, а требование. Пользователи Greenplum решают это через ClickHouse/Kafka sidecar, но это создаёт «зоопарк» систем.

Apache Doris объединяет batch и real-time в одном движке — без отдельных пайплайнов.

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

China Construction Bank (CCB)

Один из крупнейших банков мира мигрировал аналитическую платформу с Greenplum на Apache Doris. Драйверы: real-time аналитика для управления рисками, снижение стоимости инфраструктуры.

X2Doris — инструмент миграции

Apache Doris предоставляет X2Doris — набор утилит для переноса данных и схем из Greenplum, Oracle, MySQL. Маппинг типов данных, адаптация DDL, параллельный импорт.

Типичный путь миграции

Schema mapping (типы PostgreSQL → Doris) → Data migration (X2Doris или Flink) → SQL adaptation (минимальные изменения) → Parallel run (GP + Doris параллельно) → Cutover.

8. Когда Greenplum всё ещё лучше

Greenplum остаётся лучшим выбором в конкретных сценариях:

  • Тяжёлые хранимые процедуры PL/pgSQL: если бизнес-логика живёт внутри СУБД — миграция дорогая.
  • PostGIS и геоаналитика: Greenplum наследует PostGIS, один из самых мощных geo-движков.
  • Глубокая PostgreSQL-экспертиза: если команда годами работала с PostgreSQL и нет потребности в real-time.
  • Регуляторные требования: если нормативы прямо требуют PostgreSQL-совместимую СУБД.

Но если нужен real-time + batch в одной системе, lakehouse federation, MySQL-совместимость для BI — Apache Doris решает эти задачи быстрее и дешевле.

Источники

FAQ

Можно ли перенести хранимые процедуры PL/pgSQL в Doris?

Doris не поддерживает PL/pgSQL. Процедурную логику нужно вынести в Airflow, dbt или приложение. Это распространённая практика в modern data stack.

Поддерживает ли Doris PostGIS?

Нет. Doris поддерживает базовые geo-функции (ST_Point, ST_Distance, ST_Contains), но PostGIS значительно богаче. Для тяжёлой геоаналитики GP остаётся лучше.

Что с Arenadata ADB — это то же, что Greenplum?

ADB — enterprise-дистрибутив Greenplum от Arenadata с поддержкой, сертификацией и обновлениями. Аналог VeloDB для Doris.

Что такое X2Doris для миграции?

X2Doris — набор утилит Apache Doris для переноса данных и схем из Greenplum, Oracle, MySQL. Включает маппинг типов данных, адаптацию DDL и параллельный импорт.

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

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