СУБД для высоких нагрузок: почему крупнейшие компании страны выбирают Postgres Pro Enterprise
Postgres Pro — самая популярная* российская СУБД для enterprise-задач. Среди заказчиков системы — РЖД, «Росатом», «Газпромнефть», Федеральная налоговая служба, Федеральное казначейство, МИД, Гознак, Росфинмониторинг, а также крупнейшие частные компании России из списка «РБК 500».
Почему они выбрали Postgres Pro?
История компании Postgres Professional уникальна для российского рынка. Она занимает 2-е место в мире по объему вклада в развитие Open Source системы PostgreSQL, на которой базируется коммерческая СУБД Postgres Pro. Это больше вклада Microsoft, Amazon, Fujitsu, Google и Apple. В Postgres Professional работает большинство российских постгресистов: 70%, согласно данным анализа вклада разработчиков в PostgreSQL 15.
Такая экспертиза и опыт позволили команде разработать Postgres Pro Enterprise — глубоко усовершенствованную коммерческую СУБД для решения самых сложных промышленных задач. Сегодня она работает в инсталляциях свыше 150 ТБ с одновременным подключением к системе более 10 000 пользователей. Серьезные доработки в области информационной безопасности и наличие первой в России сертификации по последним требованиям ФСТЭК делают Postgres Pro хорошим выбором для объектов КИИ.
В обзоре мы собрали самые важные функции и преимущества СУБД Postgres Pro:
Управляемость
Прозрачное управление для больших инсталляций: Postgres Pro Enterprise Manager
Обычно администраторы баз данных PostgreSQL или систем на ее основе вынуждены работать в командной строке или через свободно распространяемые инструменты. Это вызывает неудобства, требует дополнительных знаний и снижает эффективность расходования рабочего времени специалистов.
Пользователям любых редакций Postgres Pro доступна графическая платформа управления Postgres Pro Enterprise Manager (PPEM). Благодаря PPEM администраторы баз данных выполняют свои задачи в одном окне и могут работать эффективнее. Платформу можно использовать в работе с любой СУБД из линейки Postgres Pro, а также для гибридных ландшафтов Postgres Pro + PostgreSQL.
Отказоустойчивость и масштабируемость
- Встроенный отказоустойчивый кластер BiHA
Традиционно пользователи PostgreSQL для обеспечения высокой доступности используют отказоустойчивые кластеры, состоящие из нескольких узлов. Для управления такими кластерами используются сторонние решения. Они требуют добавить в инфраструктуру дополнительное программное обеспечение, сложны в настройке и часто не соответствуют современным требованиям информационной безопасности для применения в объектах критической инфраструктуры.
BiHA (Build-in High Availability) — уникальное для рынка решение для управления отказоустойчивым кластером, встроенное непосредственно в ядро Postgres Pro Enterprise. BiHA прост в настройке, не создает дополнительной нагрузки на инфраструктуру и отвечает всем требования современной информационной безопасности.
При установке Postgres Pro BiHA автоматически настраивает все необходимые параметры, что значительно упрощает работу администратора. Специальные процессы BiHA осуществляют непрерывный мониторинг состояния узлов кластера, а все участники кластера взаимодействуют по управляющему каналу, что позволяет оперативно принимать решения об исключении неисправного узла или запуске операции выбора нового лидера.
Масштаб enterprise-систем растет с каждым годом, а в реестре Минпромторга нет мощных серверов, отвечающих их размерам. Чтобы оптимизировать затраты заказчиков на инфраструктуру, специалисты Postgres Professional разработали уникальную распределенную СУБД Shardman. Система состоит из отдельных частей — шардов, каждый из которых представляет собой участника отказоустойчивого кластера с частью данных.
Shardman позволяет создавать распределенную базу данных с возможностью горизонтального масштабирования. Подключение к Shardman и выполнение всех видов запросов возможно через любой шард. СУБД обеспечивает транзакционность распределенных запросов и создание согласованного бэкапа шардированной базы данных. Любой шард может выступать в качестве координатора запроса. Все это очень важно для шардирования OLTP-приложений.
- Интеграция с расширением CITUS
Citus — расширение, которое используется для эффективной обработки аналитических данных на десятках серверов. В отличие от продукта Shardman, ориентированного на OLTP нагрузку, CITUS нацелен на аналитическую нагрузку дает пользователям Postgres Pro доступ к MPP-технологиям.
Multimaster — расширение, превращающее Postgres Pro Enterprise в синхронный кластер active-active без разделения ресурсов, который обеспечивает масштабируемость для читающих транзакций, а также высокую степень доступности с автоматическим восстановлением после сбоев. Multimaster интегрирован в ядро СУБД Postgres Pro и не требует дополнительных механизмов управления оборудованием. Позволяет обновлять СУБД без остановки кластера.
- Инкрементальный бэкап на уровне страниц
Поставляемая с СУБД Postgres Pro утилита pg_probackup отличается самой высокой скоростью создания резервных копий среди прочих решений по резервному копированию для СУБД PostgreSQL и ее форков, за счет создания инкрементальных бэкапов. Для больших баз данных актуально параллельное выполнение бэкапа, что также предусмотрено в pg_probackup. Утилита совместима российскими системами резервного копирования RuBackup и «Кибер бэкап», что подтверждают соответствующие сертификаты.
В СУБД PostgreSQL нет автономных транзакций из коробки, а использование сторонних расширений неудобно при миграции с Oracle и приводит к низкой производительности. Поэтому специалисты Postgres Professional разработали для СУБД Postgres Pro собственную наиболее производительную реализацию автономных транзакций.
Производительность: быстрая работа с большими базами данных под высокой нагрузкой
- 64-битные идентификаторы транзакций
Команда Postgres Professional первой в мире разработала 64-битные счетчики транзакций для Postgres, которые решают проблему переполнения счетчика транзакций у высоконагруженных систем. В ванильном PostgreSQL используется 32-битный счетчик, который быстро переполняется и создает угрозу остановки базы данных. 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 (с небольшими дополнениями в ядре СУБД), благодаря которому реализуется функциональный аналог пакетов Oracle и вводится ряд дополнительных команд для работы с ними. Кроме пользовательских пакетов, в Oracle реализовано множество системных пакетов. Небольшая часть из них реализована в расширении ORAFCE, однако этого недостаточно. В 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. Позволяет синхронизировать изменения в одной и той же таблице на разных серверах.
Подробнее о решениях для облегчения миграции с Oracle читайте здесь.
Безопасность
Postgres Pro — первая и на момент подготовки статьи единственная в России СУБД, сертифицированная по новым требованиям ФСТЭК от 2023 года. Система сертифицирована по требованиям СУБД по 4-му классу, по требованиям доверия — по 4-му уровню (защита конфиденциальной информации). Обеспечивать высокий уровень безопасности в Postgres Pro Enterprise позволяет ряд серьезных доработок:
- Маскирование данных — с помощью pgpro_anonymizer можно маскировать или заменять конфиденциальные коммерческие данные или информацию, позволяющую установить личность (PII, персональные данные), в БД Postgres Pro.
- Роль «Администратор без доступа к данным» создана по запросу клиентов, которым нужно обеспечивать повышенный уровень безопасности, но без настройки мандатного доступа. Позволяет защититься от злоумышленников, имеющих права суперпользователя, администратора БД или администратора СУБД, не давая им ни модифицировать, ни читать конфиденциальные данные.
- Среди других важных функций в области безопасности: очистка выделенной оперативной и дисковой памяти, доработка расширения 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 Professional всем желающим доступна полноценная, регулярно обновляемая документация к СУБД Postgres Pro.
Как протестировать СУБД?
Узнать больше о редакциях и возможностях СУБД Postgres Pro, получить консультацию или заказать тестирование можно, заполнив форму на сайте Postgres Pro или обратившись на sales@postgrespro.ru.
При необходимости специалисты Postgres Professional проведут аудит существующей СУБД, окажут поддержку в процессе миграции прикладных систем на Postgres Pro. Узнать больше о наших решениях для облегчения миграции можно в отдельном материале.
■
erid:LjN8JxzDpРекламодатель: компания ООО «ППГ»ИНН/ОГРН: 7729445882/1157746074518Сайт: https://postgrespro.ru/
ЗАКАЗАТЬ
ТЕСТИРОВАНИЕ POSTGRES PRO
* На СУБД Postgres Pro приходится 89% всех заключенных в 2022 году
контрактов по данным ЕИС «Госзакупки». СУБД занимает первое место в рейтинге самых популярных
российских СУБД по данным независимого исследования ЦСР за 2022 год