Если вы работаете с аналитическими базами данных, то наверняка слышали о Greenplum — одном из самых мощных MPP-решений (Massively Parallel Processing) на базе PostgreSQL.
Однако в последние годы в экосистеме PostgreSQL появилось новое имя — Apache Cloudberry.
На первый взгляд, это ещё один форк Greenplum.
Но на деле Cloudberry — переосмысление архитектуры MPP-СУБД, выполненное с уважением к наследию Greenplum, но с современным кодом, ядром PostgreSQL 14+, открытым управлением через Apache Foundation и амбициозной целью стать по-настоящему открытой аналитической платформой уровня DWH.
Исторический контекст
Greenplum долгое время оставался почти единственным открытым MPP-движком, но после покупки VMware и Broadcom проект начал терять открытость.
Команда из экосистемы PostgreSQL (включая разработчиков из Tencent Cloud, Arenadata и др.) решила вернуть идею «массового параллелизма с душой PostgreSQL» в open-source. Так и появился Apache Cloudberry.
Cloudberry — это форк Greenplum, обновлённый до PostgreSQL 14, переработанный под современные API и открыто управляемый Apache Software Foundation.
Архитектура: что внутри?
MPP-архитектура Cloudberry и Greenplum схожа — это shared-nothing кластер, где данные распределяются по множеству узлов-сегментов, а запросы выполняются параллельно.
Главные отличия — в ядре, каталогах, оптимизаторе и межузловом взаимодействии.
? Основные различия
Компонент |
Greenplum 7 |
Cloudberry 2 |
---|---|---|
Ядро PostgreSQL |
9.4–12 |
14+ |
Координатор |
Master/Standby |
Coordinator/Standby (новая терминология) |
Коммуникация между сегментами |
Собственный Interconnect TCP |
На основе libpq, улучшена отказоустойчивость |
Каталог БД |
Устаревший формат |
Новая система каталогов PG14 |
Оптимизатор |
GPORCA (старый) |
GPORCA + расширенный push-down, join-filters |
Сжатие данных |
RLE/QuickLZ |
ZSTD |
Расширения |
Ограничены |
Совместимы с API PG 14 (PostGIS, FDW и др.) |
Производительность и оптимизация
Cloudberry делает ставку на эффективность вычислений.
Благодаря новому ядру PostgreSQL и переработанному слою хранения AOCO, в типичных аналитических сценариях он показывает на 15–30 % прирост скорости по сравнению с Greenplum.
Запрос (TPC-H 1 ТБ) |
Greenplum 6 |
Cloudberry 2 |
---|---|---|
Q1 (агрегации) |
1.0× |
1.2× |
Q9 (много join-ов) |
1.0× |
1.15× |
Q13 (вложенные подзапросы) |
1.0× |
1.25× |
Загрузка CSV |
1.0× |
1.3× |
? Дополнительно Cloudberry выигрывает за счёт улучшенного VACUUM и lazy-mechanism из PostgreSQL 14, что снижает I/O-нагрузку при обслуживании таблиц.
Хранение данных: AO, AOCO и Heap
Обе системы поддерживают три формата хранения:
Heap — классический построчный формат PostgreSQL.
AO (Append Optimized) — эффективен при вставках/аппендах.
AOCO (Append Optimized Columnar) — колоночное хранение, аналог Parquet внутри СУБД.
Но Cloudberry добавляет ZSTD-сжатие и оптимизированные метаданные, что делает колоночный формат ближе по эффективности к ClickHouse и DuckDB.
Транзакции и отказоустойчивость
Обе системы используют MVCC и двухфазные коммиты.
Cloudberry реализует WAL-streaming на основе PostgreSQL replication API.
При сбое сегмента — автоматическое восстановление через зеркала.
? В отличие от Greenplum, Cloudberry синхронизирует транзакционные снимки (snapshots) напрямую через современные PG-механизмы.
Инструменты и администрирование
Задача |
Greenplum |
Cloudberry |
---|---|---|
Запуск/остановка |
|
|
Бэкап/восстановление |
|
Полностью совместимы |
Мониторинг |
|
Prometheus-экспортер |
Развёртывание |
Tanzu / Ansible |
Helm-чарты, Docker-образ |
Аналитика |
MADlib |
MADlib + Cloudberry ML Toolkit |
Cloudberry из коробки готов для CI/CD-инфраструктур и Kubernetes-кластеров.
Миграция с Greenplum
Процесс максимально упрощён:
# 1. Создать бэкап старой БД
gpbackup --dbname olddb --backup-dir /backups
# 2. Развернуть кластер Cloudberry
cbctl init-cluster --config cluster.yaml
# 3. Восстановить данные
gprestore --create-db --backup-dir /backups --dbname newdb
SQL-схемы и данные мигрируют без изменений, большинство функций полностью совместимы.
Бизнес-аспекты
Критерий |
Greenplum |
Cloudberry |
---|---|---|
Поддержка |
Broadcom / VMware |
Apache Foundation + сообщества |
Лицензия |
Apache 2.0 + коммерческие надстройки |
Полностью Apache 2.0 |
Vendor lock-in |
Есть |
Отсутствует |
Современные PG-фичи |
Частично |
Полностью (PG 14+) |
Совместимость с Airflow/dbt |
Через плагины |
Через FDW и SQLAlchemy |
Сообщество |
Стагнация |
Активный рост (Tencent, Arenadata, Китай, Европа) |
Практические рекомендации
Сценарий |
Оптимальный выбор |
Почему |
---|---|---|
Крупный корпоративный DWH |
Greenplum 7 Enterprise |
Надёжная поддержка и зрелость |
Новый open-source проект |
Cloudberry |
Современное ядро, Apache-лицензия |
Академическая среда / тесты |
Cloudberry |
Простота сборки и модернизации |
Гибрид PostgreSQL + аналитика |
Cloudberry |
Совместимость API и FDW-механизм |
Сводная таблица
Параметр |
Greenplum |
Apache Cloudberry |
---|---|---|
Базовое ядро |
PostgreSQL 9.4–12 |
PostgreSQL 14+ |
Оптимизатор |
GPORCA |
GPORCA (новый push-down) |
Column-store |
AOCO |
AOCO + ZSTD |
Расширения |
Частично |
Полностью |
Лицензия |
Apache 2.0 / Commercial |
Apache 2.0 |
Управление |
Broadcom |
Apache Incubator |
Типичный сценарий |
Enterprise DWH |
Open-Source Data Warehouse |
? Взгляд вперёд
Cloudberry уже сегодня поддерживает:
PostgreSQL 14 API;
columnstore с ZSTD-сжатием;
Prometheus-мониторинг;
FDW-интеграции с внешними хранилищами;
Python / R-анализ через MADlib.
В ближайших релизах ожидаются:
полная поддержка PostgreSQL 15;
улучшенный GPORCA v3;
расширенный Kubernetes-оператор.
Заключение
Greenplum — это проверенный временем флагман MPP-рынка, с богатой экосистемой и тысячами инсталляций.
Apache Cloudberry — его открытое будущее: новое ядро, современная оптимизация, прозрачное управление и стремление вернуть сообществу контроль над PostgreSQL-аналитикой.
? Если вам нужен стабильный корпоративный монолит — выбирайте Greenplum.
? Если вы строите открытый, автономный и современный DWH — переходите на Cloudberry.
Таким образом, Cloudberry становится естественным выбором для всех, кто хочет остаться в экосистеме PostgreSQL, но при этом использовать мощь MPP-параллелизма уровня Greenplum — без ограничений, лицензий и закрытых бинарей.