home.social

#apache_cloudberry — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #apache_cloudberry, aggregated by home.social.

fetched live
  1. Векторизованное колоночное исполнение запросов в PostgreSQL 19

    На прошлой неделе я перенес форк Apache Cloudberry на PostgreSQL 19 в виде набора расширений и рассказал, где этот порт проигрывает оригинальному форку. Впрочем как и Cloudberry на ClickBench современные колоночные движки обгоняют его на порядок. И дело тут не в реализации MPP, а в исполнителе PostgreSQL - он работает с кортежами в памяти СУБД. Каждый кортеж проходит отдельно, значение проходит через fmgr, а сегменты кластера лишь добавляют число процессоров на котором крутится тот же самый цикл по строкам таблицы. Следующий логичный шаг для ускорения - векторизованный исполнитель в PostgreSQL. В открытом коде Apache Cloudberry его нет: от закрытого движка в репозитарии остались только следы - флаг create_vectorization_plan , который планировщик всегда передает как false, а также узел WindowHashAgg без реализации в адаптер PAX под VEC_BUILD , который не компилируется. Проектировать придется самому и, конечно, снова в виде расширения постгреса. Проект не требует модификации ядра PostgreSQL даже при использовании планировщика ORCA в одноузловой конфигурации без координатора на ванильной сборке PostgreSQL. Модуль pg_orca из порта Cloudberry теперь собирается без pg_core и прочих потрохов greenplum и патчей ядра СУБД, а vexec превращает ORCA в векторный планировщик с исполнителем в “одном флаконе”: его оптимизатор оценивает стоимости теперь и векторных узлов, а транслятор генерирует эти узлы в плане. Патчи ядра не нужны, только если не нужна функциональность и колоночное хранение данных таблиц из Cloudberry. Если же загрузить расширение Cloudberry на пропатченом ядре постгреса, то vexec может более эффективно читать и писать колоночные PAX и ao_column, без лишних конвертаций из и в строки, а Motion тогда может передавать между сегментами данные сразу в колоночном формате Arrow IPC. И к постгресу можно подключаться как по привычному pgwire протоколу, так и по более современному Flight SQL, что могут оценить те кто будет запускать ML модели на данных из PostgreSQL. Как минимум при загрузке данных в polars скажут мне спасибо!

    habr.com/ru/articles/1091738/

    #PostgreSQL #векторизация_запросов #векторизованный_исполнитель #Apache_Arrow #Arrow_Flight_SQL #ORCA #Apache_Cloudberry #Greenplum #MPP #колоночная_субд

  2. За пределами EXPLAIN: как увидеть выполнение запроса вживую в распределённой СУБД

    Представьте, что ваш запрос в Greenplum внезапно завис. Есть план выполнения, но что именно сейчас происходит, непонятно. Перекос данных? Spill на диск? В итоге вы перезапускаете запрос наугад: инструментов для живого наблюдения попросту нет. Всем привет! Я Алексей Рожок, разработчик ClickHouse в Yandex Cloud. Летом 2026 года я стажировался в Greenplum/Cloudberry и реализовывал проект, который помогает увидеть весь путь запроса. В статье покажу, как достучаться до процессов на всех хостах кластера и почему сбор метрик пришлось вынести с координатора в отдельный сервис YAGPCC.

    habr.com/ru/companies/yandex_c

    #observability #greenplum #cloudberry #postgres #Apache_Cloudberry #pg_query_state #MPP #распределённые_СУБД #мониторинг_запросов

Share on Mastodon

Enter the server where you have an account.