[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 — PostgreSQL негізіндегі MPP-СУБД, 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 негізді, coordinator-segment архитектурасыТәуелсіз MPP, FE + BE нодтар
Row + column storage (append-optimized кестелер)Native UPSERT және partial update бар columnar storage
PostgreSQL SQL (PL/pgSQL, триггерлер, stored procedures)MySQL-протоколы (JDBC/ODBC, кең BI-үйлесімділік)
Data lake-ке қол жеткізу үшін сыртқы кестелер (PXF)Native lake federation (Iceberg, Hudi, Delta Lake, Paimon)
Жаңартуларда VACUUM және table bloatSIMD бар vectorized engine, 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 + SIMDScan-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 — PostgreSQL, MySQL, Oracle-дан нақты уақыттағы Change Data Capture.
  • Stream Load — субсекундтық кідіріспен HTTP-жүктеме.
  • Unique Key Model — delete + insert-сіз UPSERT және partial update.

Қазіргі аналитика үшін — 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, BI үшін MySQL-үйлесімділік қажет болса — 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 — Arenadata-ның Greenplum enterprise-дистрибутивы, қолдау, сертификаттау және жаңартулармен. Doris үшін VeloDB-нің аналогы.

Көшу үшін X2Doris дегеніміз не?

X2Doris — Apache Doris-тің Greenplum, Oracle, MySQL-ден деректер мен схемаларды тасымалдау утилиталар жиынтығы.

Greenplum-нан көшуді бағалағыңыз келе ме?

./БАҒАЛАУ_СҰРАУ.sh
© 2026 DATANOMIX.PRO — VELODB-НЫҢ ОРТАЛЫҚ АЗИЯДА ЭКСКЛЮЗИВТІК СЕРІКТЕСІ
VeloDB — Real-Time Analytics /БАСТЫ