2024/12/01 14:13:09

Российская СУБД для сложных задач: обзор Postgres Pro Enterprise 16

Postgres Pro — самая популярная российская СУБД для enterprise-задач. Среди заказчиков системы — РЖД, «Росатом», «Газпромнефть», Федеральная налоговая служба, Федеральное казначейство, МИД, Гознак, Росфинмониторинг, крупнейшие частные компании России из списка РБК 500.

Компания Postgres Professional занимает второе место в мире по вкладу в развитие опенсорсной системы PostgreSQL, на которой базируется коммерческая СУБД Postgres Pro. Этот вклад больше, чем у Microsoft, Amazon, Fujitsu, Google и Apple. В Postgres Professional работают 70% всех российских постгресистов – контрибьюторов в PostgreSQL 15.

Глубокая экспертиза и опыт позволили команде разработать Postgres Pro Enterprise — усовершенствованную коммерческую СУБД для решения самых сложных промышленных задач. Сегодня она работает в инсталляциях свыше 150 ТБ с одновременным подключением к системе более 10 000 пользователей. Серьезные доработки в области информационной безопасности и сертификация по последним требованиям ФСТЭК делают Postgres Pro хорошим выбором для объектов КИИ.

В этом обзоре расскажем о преимуществах и ключевых функциях СУБД Postgres Pro в разных областях.

Содержание

Управляемость

Прозрачное управление для больших инсталляций

Обычно администраторы баз данных PostgreSQL или систем на ее основе вынуждены работать в командной строке или через опенсорсные инструменты. Это неудобно, требует дополнительных знаний и времени специалистов.

Графическая платформа управления Postgres Pro Enterprise Manager (PPEM) позволяет администраторам баз данных решать задачи в одном окне и повышает эффективность работы. Платформу можно использовать в работе с любой СУБД из линейки Postgres Pro и гибридными ландшафтами Postgres Pro + PostgreSQL.

Отказоустойчивость и масштабируемость

Shardman

Чтобы оптимизировать затраты заказчиков на инфраструктуру, специалисты Postgres Professional разработали распределенную СУБД Shardman. Система состоит из отдельных компонентов — шардов, на которых хранятся части данных.

Shardman позволяет создавать распределенную базу данных с возможностью горизонтального масштабирования. Подключаться к Shardman, выполнять и координировать любые запросы можно через любой шард. СУБД обеспечивает транзакционность распределенных запросов и создание согласованного бэкапа шардированной базы данных. Всё это очень важно для шардирования OLTP-приложений.

Интеграция с расширением CITUS

Расширение Citus используется для эффективной обработки аналитических данных на десятках серверов. В отличие от Shardman, ориентированного на OLTP нагрузку, CITUS нацелен на аналитическую нагрузку и предоставляет пользователям Postgres Pro доступ к MPP-технологиям.

Инкрементальный бэкап на уровне страниц

Утилита pg_probackup поставляется в составе СУБД Postgres Pro и отличается самой высокой скоростью создания резервных копий среди аналогов для СУБД PostgreSQL и ее форков за счет создания инкрементальных бэкапов. Предусматривает параллельное выполнение бэкапа, актуалььное для больших баз данных. Утилита совместима российскими системами резервного копирования RuBackup и «Кибер бэкап».

Автономные транзакции

В СУБД PostgreSQL нет автономных транзакций из коробки, а сторонние расширения снижают производительность и неудобны при миграции с Oracle. В СУБД Postgres Pro реализовали собственные автономные транзакции с максимальной производительностью.

Встроенный отказоустойчивый кластер BiHA

Для обеспечения высокой доступности пользователи PostgreSQL используют отказоустойчивые кластеры из нескольких узлов, а управляют ими с помощью сторонних решений, для настройки и установки которых нужны дополнительные ресурсы. BiHA (Built-in High Availability) — уникальное для рынка решение для управления отказоустойчивым кластером, встроенное непосредственно в ядро Postgres Pro Enterprise.

BiHA автоматически настраивается при установке Postgres Pro, не создает дополнительной нагрузки на инфраструктуру и отвечает всем требования современной информационной безопасности.

BiHA непрерывно мониторит состояние узлов кластера, которые взаимодействуют по управляющему каналу. Это позволяет оперативно принимать решения об исключении неисправного узла или запуске операции выбора нового лидера.

Multimaster

Расширение Multimaster превращает Postgres Pro Enterprise в синхронный кластер active- active без разделения ресурсов, который обеспечивает масштабируемость для транзакций чтения и высокую доступность с автоматическим восстановлением после сбоев. Multimaster интегрирован в ядро СУБД Postgres Pro и не требует дополнительных механизмов управления оборудованием. Позволяет обновлять СУБД без остановки кластера.

Производительность

64-битные идентификаторы транзакций

Команда Postgres Professional первой в мире разработала 64-битные счетчики транзакций для Postgres, которые решают проблему переполнения счетчика транзакций у высоконагруженных систем. 32-битный счетчик в ванильном PostgreSQL быстро переполняется и создает угрозу остановки базы данных. 64-битные счетчики транзакций дают практически неограниченный запас устойчивости даже самым крупным проектам с миллиардами пользователей.

Интеллектуальная система адаптивной оптимизации запросов

Одна из основных проблем реляционных СУБД, которые используют стоимостную модель для оптимизации SQL-запроса — ошибки при формировании плана запроса, возникающие из-за корреляций в данных или устаревшей статистики.

Адаптивный оптимизатор запросов AQO 2.0 решает эту проблему, автоматически собирая статистику шагов выполнения запросов. С помощью методы машинного обучения он корректирует оценку стоимости операций на последующих этапах, что позволяет планировщику Postgres Pro выбрать более эффективный план выполнения запросов.

В комбинации с раcширением sr_plan и перепланировщиком запросов Replan, AQO версии 2.0 реализуют первую в мире Postgres интеллектуальную систему исправления и стабилизации проблемных планов запросов.

Приоритизация ресурсов

Приоритизация ресурсов — новый инструмент повышения эффективности использования СУБД с большим количеством пользователей. Позволяет создавать планы управления и переключаться между ресурсами, настраивать для сеансов приоритеты использования процессора и операций ввода-вывода.

Компактное хранение: механизм сжатия данных CFS

Хранить большие объемы данных дорого и в облаке, и на собственных серверах. В Postgres Pro Enterprise встроен механизм сжатия данных CFS, который легко настраивается, позволяет кратно уменьшить объем данных и ускоряет работу запросов за счет снижения объема ввода-вывода.

Pluggable toaster (подключаемые модули хранения сверхбольших атрибутов)

Ограничение в 32 ТБ на объем данных в одной таблице часто становится проблемой при хранении бинарных данных. Pluggable TOAST (The Oversized-Attribute Storage Technique) API позволяет преодолеть такое ограничение и избежать внезапной остановки работы. Postgres Professional разработала тостеры для JSON и текстового форматов, а сами пользователи смогут создать тостеры для других типов данных.

Поиск ресурсоемких операций и построение отчетов

Уникальный диагностический модуль pgpro_pwr (Postgres Pro Workload Reporting) позволяет диагностировать и выявлять наиболее ресурсоемкие операции в БД. С помощью pgpro_pwr можно регулярно или по запросу получать снимки статистики производительности и формировать из них диагностический репозиторий, чтобы анализировать производительность БД за период времени.

Миграция с Oracle

Миграция с Oracle — самый частый запрос и проблема, возникающая у заказчиков. Архитектура систем на основе PostgreSQL значительно отличается, поэтому миграция требует большого количества временных, финансовых и человеческих ресурсов. Чтобы упростить миграцию, команда Postgres Pro уже реализовала ряд дополнительных функций, среди которых:

  • Поддержка пакетов в стиле Oracle. Postgres Pro — единственная из российских СУБД поддерживает пакеты в стиле Oracle, которые позволяют значительно сократить затраты на миграцию кода хранимой на СУБД бизнес-логики. Технически реализуется в виде расширения синтаксиса языка PL/pgSQL (с небольшими дополнениями в ядре СУБД). Кроме того, Postgres Pro Enterprise доступны аналоги системных пакетов UTL_SMTP, UTL_MAIL, UTL_HTTP, DBMS_LOB и DBMS_APPLICATION_INFO — список постоянно расширяется.
  • Утилита ora2pgpro увеличивает процент корректной конвертации кода в автоматическом режиме, что, по подсчетам Postgres Professional, поможет заказчикам сэкономить до 50% времени на перенос и снизить затраты на миграцию с Oracle.
  • Технология Postgres Pro Superfile снимает ограничения на работу с данными типа LOB (Large OBjects) в СУБД Postgres Pro и обеспечивает высокую производительность.
  • Поддержка внешних файлов (BFile). Для уменьшения размеров базы данных большие read-only-файлы (сканы, видео, фото) лучше хранить вне базы данных. Новый тип колонки BFile позволяет хранить в базе данных только ссылку на внешний файл размером до 4 ГБ и реализует методы работы с ним, чтобы сократить трудозатраты на миграцию с Oracle.
  • PL/SQL-коллекции. Изначально в языке программирования PL/pgSQL аналоги коллекций Oracle (varray, nested table, indexed-by таблицы) и методы работы с ними не поддерживались — приходилось мигрировать их вручную. В Postgres Pro Enterprise впервые реализована поддержка работы с такими коллекциями.
  • Возможность двунаправленной логической репликации LOB. Позволяет синхронизировать изменения в одной и той же таблице на разных серверах.

Безопасность

Postgres Pro — первая в России СУБД, сертифицированная по требованиям ФСТЭК от 2023 года: по требованиям СУБД по 4-му классу, по требованиям доверия по 4-му уровню (защита конфиденциальной информации). Высокий уровень безопасности в Postgres Pro Enterprise обеспечивается благодаря ряду серьезных доработок:

  • Маскирование данных — с помощью pgpro_anonymizer можно маскировать или заменять конфиденциальные коммерческие данные или информацию, позволяющую установить личность (PII, персональные данные).
  • Роль «Администратор без доступа к данным» без настроек мандатного доступа создали по запросу клиентов с повышенными требованиями безопасности. Она позволит защитить БД от злоумышленников, имеющих права администратора БД или СУБД: не позволит им модифицировать или считывать конфиденциальные данные.
  • Очистка выделенной оперативной и дисковой памяти, доработка расширения pg_proaudit, утилита pg_integrity_check, профили пользователей и поддержка более 10 методов аутентификации.

Регулярные обновления, карта совместимости и план разработок

Postgres Pro всегда базируется на последней версии PostgreSQL: релиз мажорной версии выпускается через несколько недель после выхода ванильной СУБД. Заказчики получают доступ ко всем новейшим функциям открытой СУБД и повышенную безопасность за счет своевременного устранения уязвимостей.

Postgres Pro работает на 30+ платформах и совместима с 240+ решениями, среди которых все ключевые операционные системы и прикладное ПО.

Postgres Professional непрерывно совершенствует возможности СУБД: сейчас в работе более 20 дополнительных функций. Все они разрабатываются как по запросу конкретных заказчиков, так и рынка в целом.

Техническая поддержка, аудит и миграция

Благодаря экспертизе и опыту команды Postgres Professional консультирует не только заказчиков, но и других вендоров СУБД, системы которых базируются на PostgreSQL.

Заказчикам Postgres Pro доступна стандартная и расширенная программы технической поддержки СУБД Postgres Pro и PostgreSQL в режиме 24/7. Опытные инженеры компании напрямую контактируют с разработчиками и помогают решить даже те проблемы, которые требуют вмешательства в программный код PostgreSQL. Для удобства пользователям компания запустила портал техподдержки с доступом к личным кабинетам заказчиков и базе знаний.

ПАК Скала^р для работы СУБД Postgres Pro

Решения СУБД Postgres Pro доступны в одном из семейств программно-аппаратных комплексов Скала^р.

Машина баз данных Скала^р МБД.П – доверенный ПАК для обработки и хранения данных, специально предназначенный для работы СУБД Postgres Pro Enterprise в высоконагруженных системах. Машина обеспечивает производительность до 75 000 tps, гарантирует отказоустойчивость и стабильную работу на предельных нагрузках.

ПАК – результат тесного сотрудничества двух компаний, объединивших свою экспертизу в разработке СУБД и построении ИТ-инфраструктур для высоконагруженных систем. Скала^р дополнила решения Postgres Pro лучшими на рынке аппаратными компонентами и архитектурными подходами, собственным ПО мониторинга ПАК и управления кластером (Скала^р Спектр). А также обеспечила дополнительными средствами информационной безопасности с минимальным влиянием на производительность системы.

Благодаря особым условиям лицензирования между Postgres Pro и Скала^р, Машина баз данных Скала^р МБД.П не только высокопроизводительное и масштабируемое, но и экономически эффективное комплексное решение, которое позволяет сокращать сроки инфраструктурных проектов в разы.