В прошлый раз, в первой части нашего гида по Apache Cloudberry™, мы поговорили об истории проекта, его архитектуре, ядре СУБД и функциях платформы.
Но помимо ядра СУБД, мы также хотим использовать data‑lakehouse‑запросы. В Data Lakehouse есть некоторые проблемы: мы не можем получать данные оттуда напрямую. В Cloudberry разработана технология, с помощью которой можно это делать, так что поговорим об этом подробнее. А также рассмотрим ещё несколько интересных возможностей и расскажем о планах проекта.
Унифицированная архитектура Lakehouse для работы с данными

Cloudberry синхронизирует метаданные озера данных через коннектор Data Lake, который преобразует их в форматы каталогов, понятные Cloudberry.
Cloudberry использует оптимизатор для построения наилучшего плана выполнения.
Исполнители (executors) получают этот план и следуют ему для загрузки файлов из HDFS/OSS, их сканирования и разбора.
Векторная база данных: pgvector
Поддержка различных метрик расстояния, таких как евклидово расстояние, косинусное расстояние и так далее Это позволяет полноценно решать задачи поиска и анализа сходства векторных данных.
Поддержка высоких размерностей: до 16 000 измерений.

Ускорение поиска: предоставляет эффективные методы индексирования векторных данных, например поиск k ближайших соседей (k‑NN). Даже на очень больших наборах данных это обеспечивает быстрый отклик на запросы при сохранении высокой точности.
Стандартный доступ через SQL: для операций с векторами используется привычный синтаксис SQL‑запросов. Пользователям со знанием SQL не нужно осваивать новые языки или системы.
Интеграция с HashML (закрытый код): обеспечивает бесшовную работу с HashML в роли движка хранения, предоставляя сервисы сохранения векторных данных и поиска по сходству. Это помогает получать ценные инсайты и прогнозы для задач ML и AI.
Надёжность и безопасность: наследует все возможности устойчивости и защиты, позволяя безопасно хранить векторные данные и управлять ими.
Fulltext Search Enhancement: ZomboDB
ZomboDB — опенсорс-проект. У Cloudberry есть свой движок, но с большим количеством текста ZomboID работает лучше.
Cloudberry интегрирует плагин ZomboDB, чтобы объединить Cloudberry и Elasticsearch, предоставляя возможности мощного полнотекстового поиска и текстового анализа Elasticsearch.
-
Основные моменты архитектуры:
ZomboDB фактически является внешним индексом таблиц данных
Пользователи могут создавать индексы (ES‑индексы) для ZomboDB на существующих базах данных и таблицах Cloudberry, используя синтаксис создания индексов
Поддерживаются ZQL‑ и ES JSON‑запросы, а также сегментация и извлечение информации на нескольких языках
-
Сценарии использования:
Базы знаний, интеллектуальные робот‑консультанты для обслуживания клиентов
Анализ транзакций для оптимизации алгоритмов и стратегий программной торговли
Интеллектуальные объявления и интерпретация документов
Cloudberry Central Console: панель управления
Центральная консоль Cloudberry — интерфейс, через который можно проводить мониторинг системы. Состоит из нескольких частей.
Первая часть — дашборд с общей информацией
Отображение общего состояния системы, включая количество таблиц, табличных пространств, состояние кластера и так далее
Отображение использования CPU, памяти и диска с течением времени. Пользователи могут задавать конкретный временной интервал для исторических запросов, чтобы оценить общую историческую нагрузку на кластер.
Переход на разные страницы через левую навигационную панель.
Интернационализация: двуязычная поддержка (китайский и английский).
Вторая часть — мониторинг пользовательских запросов.
Cloudberry Central Console: мониторинг запросов
Пользователи могут выбрать запрос, который выполняется в данный момент, и кликнуть по нему, чтобы увидеть статус выполнения в реальном времени в графическом виде: количество полученных результатов, время выполнения, текущую загрузку CPU, использование памяти, файлы подкачки (spill files) и другую информацию.
Пользователи также могут выбрать ранее выполненные запросы и кликнуть по ним, чтобы увидеть статус их исторического выполнения в графическом виде: количество итоговых результатов, время выполнения, затраты CPU, использования памяти, файлы подкачки и прочие данные.
Пользователи могут просмотреть план выполнения запроса, соответствующий SQL‑оператору, в текстовом формате.
Cloudberry Central Console: мониторинг кластеров
Пользователи могут просматривать сводную информацию на уровне узлов, включая использование CPU, памяти и диска на первичных и вторичных нодах.
Пользователи могут выбрать отображение сводных данных на уровне сегментов, включая каталог данных, порт и статус мониторинга каждого сегмента.
Пользователи получают конкретные данные и статистику по таблицам на основе заданных условий, таких как размер таблицы, её тип (является ли она секционированной) и время последнего анализа.
По клику на общее пространство БД можно увидеть, какое пространство занимает каждая БД.
На дашборде можно увидеть мониторинг использования дискового пространства, CPU и памяти.

В меню слева можно провалиться в метрики кластера. Там же можно посмотреть, как менялось использование ресурсов CPU, памяти, дисков с течением времени. А также просматривать статус, роль и режим репликации сегментов.

Платформа собирает информацию об исполняемых запросах и их метриках. Можно посмотреть, как идёт процесс обработки запроса, какой объём процессора и памяти расходуется на это.
Предложение дорожной карты Cloudberry (черновик на 2025-й и последующие годы)
Улучшение ядра
Постоянное обновление ядра до версии 15.8 (целевой уровень обновления PostgreSQL будет отставать на две версии от последней официально выпущенной)
Рефакторинг кода для упрощения будущих обновлений и обеспечения возможности подключения компонентов MPP (диспетчер, подсистема соединений, планировщик, управление транзакциями и др.)
Вклад в реализацию гибридного хранения PAX (строчно‑столбцового)
Вклад в разработку векторизованного исполнительного движка
Добавление параллельных операторов и обеспечение паритета возможностей ORCA с традиционным планировщиком
Рефакторинг логики диспетчера для повышения эффективности
Материализованные представления и переписывание запросов для внешних таблиц
Поддержка динамических таблиц
Непрерывное обеспечение качества
Изучение дополнительных фреймворков и методологий тестирования с открытым исходным кодом. Например, внедрение автоматической генерации SQL‑тестов, SQLancer, стресс‑тестирования (Chaos testing) для проверки устойчивости системы
Выбор отдельных коммитов из Greenplum для Cloudberry, особенно исправлений ошибок
Рефакторинг существующих сценариев ICW для сокращения времени выполнения, которое сейчас занимаете около одного часа
Поддержка инструментов для обновления «на месте»
Тесты «бинарного обмена» между минорными версиями
Настройка пайплайна бенчмарков TPC‑H/TPC‑DS и подготовка отчётов
Удобство использования (юзабилити)
Автоматическое и визуальное развёртывание, что особенно полезно для начинающих пользователей
Удобные средства аварийного восстановления (DR), крайне важные для эксплуатации в боевом окружении и для повышения возможностей off‑site‑восстановления
Поддержка интерактивного развёртывания на Kubernetes
Центральная консоль Cloudberry
Сводная информация о процессах для каждого хоста
Менеджер рабочих нагрузок и сводка по CPU и памяти
Настройка пользователей и ролей (аутентификация и права доступа к ресурсам, например таблицам и базам данных)
Конфигурация оповещений по правилам с поддержкой email или СМС
Восстановление сегментов через веб‑консоль
Отчёты об истории операций DDL/DML/DCL
Визуализация зависимостей блокировок
Визуализация перекоса данных (data skew) по таблице
Статистика «грязных» страниц для heap‑таблиц
Интеллектуальные рекомендации по DDL (например, предложения по столбцам распределения или партиционирования на основании истории запросов)
Интеграция очередей и групп ресурсов
Расширения, экосистема и инструменты
DBeaver для Cloudberry
Поддержка PGRX для возможности написания разработчиками UDF на Rust в Cloudberry
Активация kafka_fdw в Cloudberry в MPP‑режиме
Интеграция Flink CDC для поддержки «почти реального» времени при подгрузке данных
Поддержка Lakehouse (например, Apache Hudi, Apache Iceberg и др.)
Cherry‑pick последних коммитов для инструментов (pxf, gpbackup и др.)
JDBC/ODBC‑драйверы для Cloudberry
Контейнерный сервис для выполнения UDF в песочнице
Релизы и пайплайны
Рефакторинг текущих ICW‑кейсов для сокращения времени ожидания pull‑request
Настройка процессов сборки, тестирования и деплоя Cloudberry на базе GitHub Actions и Docker
Поддержка большого числа ОС‑матриц и артефактов, Docker‑образов (Rocky Linux, Debian, Ubuntu)
Поддержка дополнительных архитектур CPU (x86_64, ARM, RISC‑V, LoongArch)
Исключение из CI/CD‑тестов файлов и папок (*.txt, .md, .mdx, *.png, /doc) для экономии ресурсов
Добавление git pre‑commit workflow для проверки соответствия сообщений коммитов принятому формату
Ansible‑playbook для облачных провайдеров
AI/ML
Непрерывное обновление pgvector
Интеграция с Ray для поддержки нагрузок в области AI/ML
Обратная связь
Любые вопросы о работе в Cloudberry можно задавать в соцсетях:
Website: cloudberry.apache.org
YouTube: @ApacheCloudberry
Slack: apache-cloudberry.slack.com
Список разработчиков (Dev Mailing list): dev@cloudberry.apache.org
Песочница (Sandbox): чтобы быстро оценить возможности Cloudberry