Вышла новая версия российской СУБД Postgres Pro «с самыми долгожданными функциями»

Софт Системное ПО
мобильная версия
, Текст: Валерия Шмырова

Российская компания Postgres Professional выпустила новый релиз СУБД Postgres Pro Enterprise, коммерческой СУБД, созданной на основе свободной PostgreSQL. Версия 9.6.2.1 пополнилась долгожданной функциональностью: мультимастерным кластером. Кроме того, появилось адаптивное планирование запросов, компрессия данных на уровне блоков, 64-битный счетчик транзакций и эффективное секционирование таблиц.


Postgres Pro Enterprise 9.6.2.1

Компания Postgres Professional выпустила новый релиз своей коммерческой СУБД Postgres Pro Enterprise. Система создана на базе свободной PostgreSQL и присутствует в Едином реестре российского ПО. Новый релиз, получивший номер 9.6.2.1, содержит ряд существенных дополнений.

Самым ожидаемым новшеством стало появление мультимастерного кластера, которую разработчики в анонсе называют «одной из наиболее долгожданных функций». Эта функция дает возможность проводить в масштабах кластера распределенную транзакцию, а также обеспечивает масштабируемость по чтению. Кроме того, в Postgres Pro Enterprise стало доступно адаптивное планирование запросов. Его механизм базируется на методах машинного обучения, благодаря которым СУБД оптимизирует планирование сложных запросов, исходя из накопленного ею опыта.

Также в новом релизе стала возможна компрессия данных на уровне блоков. По словам разработчиков, этот метод уменьшает количество памяти, занимаемое данными, от 2 до 10 раз и повышает производительность. Тестирование было проведено на реальных базах данных, сообщает Postgres Professional.

Чтобы решить проблему переполнения, с которой особенно часто сталкиваются системы с большое нагрузкой и быстрым темпом транзакций, в СУБД был добавлен 64-битный счетчик транзакций. Он поддерживает порядка сотен миллионов транзакций в сутки. Также в новом релизе было введено эффективное секционирование таблиц на основе расширения pg_pathman. Как утверждают разработчики, оно повышает производительность и масштабируемость СУБД, поскольку алгоритмы планирования и исполнения запросов являются адаптированными.

Общим талисманом семейства СУБД PostgreSQL является синий слоник, который в разных вариациях присутствует на логотипах

Что такое Postgres Pro Enterprise

Postgres Pro Enterprise, первый релиз которой был выпущен в декабре 2016 г. – это коммерческая версия свободной СУБД Postgres Pro. Обе системы были разработаны компанией Postgres Professional на базе свободной СУБД PostgreSQL, созданной международным сообществом разработчиков. Сама компания Postgres Professional была основана тремя разработчиками PostgreSQL российского происхождения в 2015 г.

По словам гендиректора фирмы Олега Бартунова, Postgres Pro Enterprise создавалась для компаний, которым для решения текущих задач требуется усовершенствованная PostgreSQL. Компания продолжает развивать продукт – сейчас дорабатывается мультимастерный кластер с шардингом, проводится оптимизация агрегатов и повышается надежность резервного копирования.

Помимо перечисленных выше нововведений релиза 9.6.2.1, Postgres Pro Enterprise содержит и другие функции, недоступные в свободной Postgres Pro. Это, например, инкрементальный бэкап на уровне блоков. То есть, база данных хранит карту измененных блоков, благодаря чему в резервную копию отправляются только те блоки, которые претерпели изменения после прошлого бэкапа. В результате объем хранимых резервных копий уменьшается, как и время восстановления. Особенно это выгодно для больших баз, у которых небольшая изменяемая часть, уверяют разработчики.

Также в Postgres Pro Enterprise, в отличие от свободной версии, включено расширение pg_hint_plan, которое позволяет влиять на план исполнения запроса. Кроме того, СУБД позволяет осуществлять перенос отдельной таблицы в другую базу или на другой сервер. Наконец, в Postgres Pro Enterprise есть патчи, которые нужны для работы платформы 1С.

Откуда взялась PostgreSQL

PostgreSQL – это реляционная СУБД для UNIX-подобных платформ, написанная одноименным сообществом разработчиков на языках SQL, С и C++. Разработка PostgreSQL восходит к проекту POSTGRES, который стартовал в Калифорнийском университете в Беркли, США, в 1986 г. Проект спонсировали американские госведомства, в том числе Министерство обороны США. Разработкой руководил Майкл Стоунбрейкер (Michael Stonebraker), создатель таких СУБД как Ingres, Informix и VoltDB. Первая рабочая версия POSTGRES была выпущена в 1989 г.

POSTGRES использовался в области анализа финансовых данных и работы с реактивными двигателями. На нем работали базы данных наблюдений за астероидами и медицинской информации, а также ряд геоинформационных систем. В 1993 г. разработку системы прекратили, последней версией стала 4.2.

В 1994 Эндрю Ю (Andrew Yu) и Джолли Чен (Jolly Chen) модифицировали POSTGRES, добавив в него интерпретатор языка SQL. Система получила название Postgres95 и стала распространяться с открытым кодом. Код сократился за счет подгонки под ANSI C, языком запросов стал не PostQUEL, а SQL. Появилась новая программа с GNU Readline для интерактивных SQL-запросов и новая клиентская библиотека libpgtcl для поддержки Tcl-клиентов. Для сборки начал использоваться GNU make, а не BSD make. Система стала значительно быстрее изначального POSTGRES.

В 1996 г. проект был переименован в PostgreSQL, что отражало использование языка SQL. В этот же период была восстановлена нумерация версий, восходящая к POSTGRES. Если Postgres95 фокусировался на поиске проблем в серверном коде, то PostgreSQL – на расширении функциональности. Последняя версия СУБД под номером 9.6.2 вышла 9 февраля 2017 г. За время эволюции PostgreSQL на ее базе было разработано несколько коммерческих версий, в том числе Postgres Plus и Postgres Plus Advanced Server от компании EnterpriseDB.