Россияне в два раза ускорили СУБД PostgreSQL

Интеграция Системное ПО Открытое ПО
, Текст: Дмитрий Степанов 17655
В новом релизе СУБД Postgres Pro Enterprise, созданной на основе популярного международного проекта с открытым исходным кодом PostgreSQL, отечественным разработчикам удалось добиться вдвое более высокой производительности по сравнению с базовой версией.

Новый релиз Postgres Pro Enterprise

Российская компания Postgres Professional («Постгрес профессиональный») объявила о выпуске новой версии промышленной системы управления базами данных (СУБД) Postgres Pro Enterprise, предназначенной для высоконагруженных систем.

СУБД Postgres Pro Enterprise 11, по заявлению представителей компании, способна выдержать нагрузку до 10 тыс. одновременно работающих пользователей и 1 млн транзакций в секунду при размере базы данных до 150 ТБ, при этом максимальная задержка при восстановлении работоспособности кластера составит около 5 секунд.

Postgres Pro Enterprise, базирующаяся на свободной СУБД PostgreSQL, входит в Единый реестр отечественного ПО Минкомсвязи. Продукт нашел применение в информационных системах ФНС, Минфина, «Газпромнефти». В марте 2019 г. CNews рассказывал о планах Федеральной таможенной службы отказаться от СУБД Oracle в пользу продукта Postgres Professional.

Ключевые изменения

В новую версию Postgres Pro Enterprise 11 добавлен экспериментальный встроенный пулер соединений, позволяющий, как утверждают разработчики, на порядок увеличить число одновременно работающих с базой данных пользователей. Ускорено создание индексов и индексный поиск по JSON, добавлены покрывающие индексы. Кроме того, ряд улучшений коснулся оптимизации SQL-запросов, секционирования таблиц и параллельного исполнения запросов.

Кроме того, расширены возможности оконных функций до полного покрытия стандарта SQL:2011. Добавлена поддержка управления транзакциями во встроенных процедурных языках.

В число особых возможностей Postgres Pro Enterprise входят встроенный планировщик заданий, поддержка автономных транзакций и мультимастер-кластер. По сравнению со стандартным кластером PostgreSQL конструкции ведущий-ведомый в мультимастер-кластере все узлы являются ведущими. Такой подход упрощает построение и эксплуатацию отказоустойчивой конфигурации, а также позволяет проводить обновление версий СУБД без остановки системы. В Postgres Pro Enterprise 11 модуль мультимастера обновлен с целью повышения надежности и сокращения системных требований.

Postgres Pro Enterprise 11 включает поддержку расширенного управления доступом, в том числе на уровне отдельных записей. Также добавлена поддержка семейства криптографических функций SHA2 (sha224, sha256, sha384 и sha512) с целью повышения надежности хранения хешей паролей.

Краткая история Postgres Pro и PostgreSQL

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

СУБД сертифицирована ФСТЭК, поэтому может применяться для защиты информации, в ГИС и АСУ до первого класса защищенности, а также обеспечения до первого уровня защищенности персональных данных в ИС, для которых к актуальным отнесены угрозы первого, второго или третьего типа.

Российский продукт разработан компанией Postgres Professional, созданной в начале 2015 г. Учредителями выступили ведущие на тот момент разработчики PostgreSQL Олег Бартунов, Федор Сигаев, Александр Коротков, разработчик Иван Панченко, а также инвестор проекта Антон Сушкевич, основатель интегратора «Энвижн груп».

postgresspro508x430.png
На фото: генеральный директор Postgres Professional Олег Бартунов (в центре)

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

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

В 1994 г. Эндрю Ю (Andrew Yu) и Джолли Чен (Jolly Chen) модифицировали POSTGRES, добавив в него интерпретатор языка SQL. Система получила название Postgres95 и стала распространяться с открытым кодом.

В 1996 г. проект был переименован в PostgreSQL. В этот же период была восстановлена нумерация версий, восходящая к POSTGRES. Если Postgres95 фокусировался на поиске проблем в серверном коде, то PostgreSQL — на расширении функциональности.