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 интеграциясында.
| Greenplum | Apache 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 bloat | SIMD бар vectorized engine, auto-compaction |
Apache Doris real-time аналитика мен lakehouse federation-ді бір жүйеде біріктіреді — batch және streaming үшін бөлек пайплайндар құрмай.
3. Өнімділік: жариялы бенчмарктардан сандар
TPC-H/TPC-DS бенчмарктары мен жариялы кейстерден деректер:
| Метрика | Greenplum | Apache Doris | Ескертпе |
|---|---|---|---|
| Күрделі JOIN (TPC-H) | Бастапқы деңгей | 3–5x жылдам | Vectorized engine + CBO |
| Real-time UPSERT | Қолдау жоқ | Нативті қолдау | Unique Key Model |
| Деректер сығымдалуы | 1:2 – 1:4 | 1:5 – 1:10 | Columnar + Zstandard/LZ4 |
| Execution engine | Row-based (legacy) | Vectorized + SIMD | Scan-heavy сұраныстардағы айырмашылық |
| Concurrent queries | Coordinator bottleneck | FE-кластер, көлденең масштабтау | 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 бұл тапсырмаларды жылдамырақ және арзанырақ шешеді.