Перенос Orca в расширение Postgres: цели и детали реализации

Greengage Database — наш форк Greenplum Database. Основная идея — оставить исходный код открытым и продолжить разработку и совершенствование базы данных. Мы собираемся перенести Greengage Database на более новую версию Postgres, предоставив более богатый набор функций всем пользователям сообщества и нашим клиентам. Но эта задача сложнее, чем может показаться. Ранее для реализации функций массивно-параллельных вычислений Greenplum Database основная функциональность Postgres была существенно переработана. Таким образом, обновление версии Postgres создавало огромные сложности. Например, переход с Postgres 9 на Postgres 12 потребовал огромных усилий — между мажорными релизами было почти 5 лет разработки. Имея это в виду, мы начали масштабный рефакторинг ядра Greengage Database. Мы собираемся разделить ядро ​​Postgres и специфичные функции Greengage Database, используя стандартные существующие средства Postgres для расширений.

https://habr.com/ru/companies/arenadata/articles/875032/

#orca #postgresql #рефакторинг #модульность #api #c++ #базы_данных #mpp #оптимизация_запросов #database_optimization

Перенос Orca в расширение Postgres: цели и детали реализации

Введение Greengage Database  — наш форк Greenplum Database. Основная идея — оставить исходный код открытым и продолжить разработку и совершенствование базы данных. Мы собираемся перенести Greengage...

Хабр

Чья фича лучше или как сравнить эффективность планов SQL-запроса

Как сравнить? - измерить execution-time конечно! - скажет опытный читатель. И будет совершенно прав: с практической точки зрения эффективнее та СУБД, которая выдаёт больший TPS. Однако иногда нам требуется спроектировать систему, которой ещё нет или сделать прогноз поведения на нагрузках, которые ещё не пришли. В таком случае нам нужна некоторая характеристика, позволяющая выполнить качественный анализ плана или выполнить сравнение пары планов. Обсуждению одной такой характеристики - количество прочитанных страниц данных - и посвящён данный пост.

https://habr.com/ru/articles/873064/

#субд #реляционные_субд #базы_данных #postgres #benchmark #database_monitoring #database_optimization

Чья фича лучше или как сравнить эффективность планов SQL-запроса

Как сравнить? - измерить execution-time конечно! - скажет опытный читатель. И будет совершенно прав: с практической точки зрения эффективнее та СУБД, которая выдаёт больший TPS. Однако иногда нам...

Хабр

Ускоряем запросы в PostgreSQL, оптимизируя оператор GROUP BY

Пользователи PostgreSQL нередко оперируют аналитическими запросами , при выполнении которых данные сортируются и группируются по разным правилам. За счёт оптимизации вычисления агрегатов и сортировок можно значительно сократить время и стоимость выполнения запросов. Об одной из таких оптимизаций — выборе порядка колонок в выражении GROUP BY — расскажем в этой статье. Postgres уже умеет перестраивать список группируемых выражений в соответствии с порядком колонок из условия ORDER BY , чтобы исключить дополнительную сортировку и сэкономить вычислительные ресурсы. Мы пошли дальше, реализовали свою идею в дистрибутивах Postgres Pro Standard и Enterprise и вынесли патчи на обсуждение сообщества Postgres ( первое и второе ) в надежде, что они войдут в ближайшую версию ванильного PostgreSQL.

https://habr.com/ru/companies/postgrespro/articles/852414/

#postgresql #sql #database_optimization #data_management #efficiency #оптимизация_запросов #сортировка_запросов

Ускоряем запросы в PostgreSQL, оптимизируя оператор GROUP BY

Пользователи PostgreSQL нередко оперируют аналитическими запросами , которые предполагают сортировку и группировку данных по разным правилам. Время и стоимость выполнения таких запросов можно...

Хабр