Postgres Pro — российская СУБД на основе PostgresSQL

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

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

Postgres Pro - российская СУБД на основе PostgresSQL

Общие сведения

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

Команда разработчиков объединяет в себе ведущих российских программистов Postgres, что позволяет компании успешно решать разнообразные задачи, включая разработку новых функциональных возможностей, обеспечение безопасности и предоставление полного цикла поддержки. Этот цикл включает в себя аудит, помощь в миграции, круглосуточную техническую поддержку с гарантированным уровнем обслуживания (SLA), обучение, индивидуальную разработку решений и сертификацию специалистов.

Эта СУБД пользуется большой популярностью в России как альтернатива импортным СУБД, особенно среди крупнейших федеральных и частных компаний, включая объекты критической инфраструктуры, где обеспечение безопасности информации имеет первостепенное значение.

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

История разработки

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

В то время PostgreSQL уже существовала и предоставляла более высокое качество работы по сравнению с MySQL. Однако она была менее популярной среди сообщества программистов, требовала более внимательного изучения документации, и поэтому не получила такого широкого признания.

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

Как появилась Postgres Pro

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

В сообществе разработчиков open source часто бывает долгим и медленным процессом внесения изменений и предложений в основной код проекта. В таких случаях создание собственной версии на базе общедоступного кода может быть более эффективным способом достижения желаемых целей.

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

Postgres Pro - российская СУБД на основе PostgresSQL

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

Читайте также  Виды СУБД: какие бывают системы управления базами данных и чем они отличаются

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

Основные возможности

Основные возможности Postgres Pro:

  • Надежность и устойчивость. Надежность Postgres Pro опирается на доказанную надежность PostgreSQL. PostgreSQL успешно работает на множестве проектов без сбоев и при высоких нагрузках на протяжении многих лет.
  • Конкурентная работа при большой нагрузке. Эта СУБД использует многоверсионность (MVCC), что обеспечивает надежную и быструю работу даже в условиях соревновательной нагрузки.
  • Масштабируемость. Архитектура эта СУБД оптимизирована для многоядерных процессоров, и его производительность линейно растет до 64 ядер. Кластерные решения, основанные на Postgres Pro, обеспечивают горизонтальное масштабирование.
  • Кроссплатформенность. Postgres Pro поддерживает различные операционные системы, включая Linux и MS Windows.
  • Расширяемость. Эта СУБД предоставляет возможность добавлять новую функциональность, включая новые типы данных, без остановки сервера и собственными силами.
  • Превосходная поддержка. Поддержка Postgres Pro осуществляется компанией Postgres Professional. Он также имеет высокий уровень соответствия стандартам ANSI SQL 92, ANSI SQL 99 и ANSI SQL 2003, 2011.

Технические детали

Технические характеристики Postgres Pro:

  • Многообразие интерфейсов. Postgres Pro обеспечивает широкий выбор интерфейсов для разработчиков, включая Tcl, Perl, C, C++, PHP, Json, ODBC, JDBC, Embedded SQL in C, Python, Ruby, Java и другие.
  • Интеграция с защитой данных ОС. Он интегрируется с операционной системой для обеспечения защиты данных, такой как SE-Linux.
  • Расширенные возможности SQL. Поддерживаются различные расширения SQL, такие как представления (materialized views), последовательности (sequences), наследование (inheritance), внешние соединения (outer joins), подзапросы (subselects), целостность ссылок (referential integrity), оконные функции (window functions) и общие таблицы выражений (CTE).
  • Продвинутый планировщик запросов. Postgres Pro обладает продвинутым планировщиком запросов, что позволяет оптимизировать выполнение сложных запросов.
  • Поддержка пользовательских функций и процедур. Возможность создания пользовательских функций, процедур и триггеров для настройки базы данных.
  • Процедурные языки. Поддерживаются различные процедурные языки, такие как pl/PgSQL, pl/Perl, pl/Python, pl/V8, pl/Java и другие.
  • Расширяемые типы данных. Postgres Pro предоставляет расширенный набор типов данных с возможностью создания индексов, включая GiST, GIN, SP-GiST.
  • Полнотекстовый поиск. Встроенная гибкая система полнотекстового поиска поддерживает русский и европейские языки.
  • Поддержка NoSQL. Поддержка слабо-структурированных данных, таких как XML, JSON, JSONB.
  • Горячее резервирование и репликация. Поддержка горячего резервирования и различных видов репликации (синхронной, асинхронной, каскадной), а также точечного восстановления (PITR).
  • Полная поддержка ACID и сериализации транзакций. Обеспечивает высокий уровень надежности и целостности данных.
  • Функциональные и частичные индексы. Поддержка создания индексов как для определенных функций, так и для части данных.
  • Интернационализация. Поддержка Unicode и локализации для работы с разными языками и регионами.
  • Загружаемые расширения. Возможность добавления расширений для дополнительных функциональных возможностей, таких как нечеткий поиск с использованием триграмм и эффективная обработка массивов.
  • Поддержка SSL и Kerberos Аутентификации. Обеспечивает безопасную передачу данных и аутентификацию.
  • Foreign Data Wrappers. Поддержка записываемых Foreign Data Wrappers для интеграции с различными типами баз данных.

Эти технические детали делают эту СУБД мощной и гибкой системой управления базами данных для разнообразных приложений и сценариев использования.

Виды и модификации

В этом разделе мы рассмотрим только две основные модификации Standard и Enterprise. Однако они и составляют основной пользовательский пул этой СУБД, а отличия с другими модификациями ограничиваются лишь специфическими особенностями для конкретных сценариев использования.

Postgres Pro Standard

Postgres Pro Standard — это самая актуальная версия PostgreSQL с внесенными дополнительными изменениями и расширениями. В этот дистрибутив также включены некоторые расширения и изменения, разработанные в компании Postgres Professional.

На данный момент версия Standard имеет следующие отличия от стандартной PostgreSQL:

  • Улучшение производительности на многоядерных системах, включая оптимизацию буфер-менеджера и механизмов блокировки.
  • Усовершенствования в полнотекстовом поиске, включая поиск фраз, морфологию hunspell и поддержку различных морфологических словарей. Дистрибутив также включает модуль shared_ispell для хранения словарей в разделяемой памяти.
  • Покрывающие индексы, что улучшает производительность запросов.
  • Поддержка библиотеки libicu на всех платформах, обеспечивая независимость от платформы при сортировке данных.
  • Модуль pg_trgm для нечеткого сравнения строк и поиска подстрок.
  • Улучшенный модуль pageinspect, который предоставляет доступ к внутренним структурам хранения данных.
  • Модуль sr_plan для сохранения и восстановления планов запросов.
  • Модуль dump_stat для сохранения статистики данных при резервном копировании и восстановлении.
  • Модуль jsquery для эффективного поиска в структурированных данных JSONB с использованием индексов.
  • Модуль pg_variables содержащий функции для работы с переменными различных типов.
  • Модуль pg_pathman, предоставляющий оптимизированный механизм секционирования и функции для создания и управления секциями.
  • Модуль pg_query_state, позволяющий узнавать текущее состояние выполнения запросов в работающем обслуживающем процессе.
  • pg_probackup — менеджер резервного копирования и восстановления.
  • Модуль mchar, добавляющий дополнительный тип данных для совместимости с Microsoft SQL Server.
  • Модуль fulleq, предоставляющий дополнительный оператор равенства для совместимости с Microsoft SQL Server.
  • Модуль fasttrun, который предоставляет транзакционно-небезопасную функцию для усечения временных таблиц и предотвращения разрастания каталога pg_class.
  • Модуль online_analyze, предоставляющий функции для немедленного обновления статистики в таблицах после операций INSERT, UPDATE, DELETE и SELECT INTO.
  • Модуль plantuner, добавляющий поддержку указаний для планировщика, что позволяет отключать или включать определенные индексы при выполнении запросов.
Читайте также  TimescaleDB: особенности СУБД

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

Postgres Pro Enterprise

Postgres Pro Enterprise — это самая актуальная версия PostgreSQL с добавленными дополнительными изменениями и расширениями, разработанными компанией Postgres Professional.

На данный момент эта версия СУБД с пометкой Enterprise имеет следующие отличия от таковой с индексом Standard:

  • Добавлен алгоритм поиска k ближайших соседей (KNN) для индексов SP-GiST и B-дерева.
  • Внедрена реализация индексов RUM, основанных на GIN, в качестве отдельного модуля.
  • Операция CREATE INDEX с индексами GiST, GIN и SP-GiST генерирует более компактные журналы транзакций (WAL).
  • Добавлен таймаут для сеансов, находящихся в режиме простоя, на стороне сервера (idle_session_timeout).
  • Поддержка алгоритма SHA-2 для шифрования паролей.
  • Внедрено сжатие на уровне страниц (CFS).
  • Добавлена поддержка автономных транзакций.
  • Добавлен новый рабочий процесс для планирования задач по правилам (pgpro_scheduler).
  • Добавлена поддержка перемещаемых таблиц (pg_transfer).
  • Внедрено расширение pg_hint_plan.
  • На 64-битных платформах используется 64-битный тип данных для идентификаторов транзакций.
  • Введено «отложенное» размещение временных таблиц на диске.
  • Поддержка согласованного чтения на ведомом сервере, ожидание применения WAL (WAITLSN).
  • Добавлена утилита pg_repack для управления репликацией.
  • Внедрено расширение multimaster.
  • Добавлена возможность смены серверов для подключений libpq.
  • Представлено расширение aqo для адаптивной оптимизации запросов.
  • Реализован декларативный синтаксис секционирования.
  • Добавлена служба мониторинга mamonsu, интегрируется как агент Zabbix.
  • Введено расширение pg_wait_sampling для периодического сбора статистики по событиям ожидания, что позволяет анализировать активность сервера и текущие события ожидания для обычных и фоновых процессов.

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

Сравнение с PostgreSQL

Представьте себе полнофункциональную версию PostgreSQL с множеством мощных улучшений и сертификацией для использования в России.

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

Надежность здесь не означает упрощение или ограничение функциональности — Postgres Pro отлично подходит для добавления специализированных процедур во встроенный язык запросов, работы с бинарными данными, географическими точками и JSON-документами. Все современные функциональности СУБД доступны, и при этом производительность системы остается высокой и стабильной.

Как и родительская PostgreSQL, эта СУБД легко масштабируется, что позволяет переносить нагрузку с одного сервера БД на другой, не потеряв при этом данные и обеспечивая непрерывное обслуживание клиентов.

Читайте также  Руководство по SQLite

Postgres Pro - российская СУБД на основе PostgresSQL

Кроме того, есть ряд функций, которых нет в оригинальной PostgreSQL:

  1. Multimaster — это революционное изменение, позволяющее писать и читать данные на разных серверах в кластере, при этом данные остаются идентичными. Оригинальная PostgreSQL предоставляет только традиционную мастер-серверную репликацию, а эта СУБД предоставляет более надежную и отказоустойчивую альтернативу.
  2. Сертификация и включение в реестр сертифицированных средств защиты информации (ФСТЭК). Это позволяет использовать эту СУБД в российских отраслях, требующих сертификации.
  3. Интеграция с продуктами 1С. Эта СУБД обеспечивает совместимость с популярными продуктами 1С, что позволяет использовать новые функции и улучшения без проблем.
  4. Сжатие данных: эта СУБД умеет эффективно сжимать данные, что позволяет значительно экономить место на диске.
  5. Улучшенные механизмы транзакций. Эта СУБД предоставляет более простые и понятные способы обновления и отката важных записей в базе данных.
  6. Поддержка сертифицированных ФСТЭК дистрибутивов Linux: это важно для разработчиков, работающих с регулируемыми государством областями.
  7. Усовершенствованные инструменты для резервного копирования, мониторинга и безопасности: эта СУБД предоставляет надежные методы создания резервных копий и дополнительные инструменты для аналитики и администрирования.

Преимущества

Преимущества СУБД от Postgres Pro включают:

  • Надежность и устойчивость даже при очень высоких нагрузках, что делает ее отличным выбором для критически важных приложений.
  • Кроссплатформенность, поддерживающая множество операционных систем, включая FreeBSD, Linux, Solaris, Windows и OS X, что обеспечивает гибкость в выборе платформы.
  • Включение в Единый реестр отечественных программ и баз данных Минкомсвязи, что подтверждает соответствие российским стандартам и требованиям.
  • Масштабируемость на современных больших серверах, что позволяет эффективно управлять растущей нагрузкой и данными.
  • Встроенные средства защиты данных и наличие сертификата ФСТЭК, что обеспечивает безопасность данных и их соответствие российским стандартам безопасности.

Высокий уровень соответствия международным стандартам ISO/ANSI SQL 92 и 99, а также поддержка множества интерфейсов программирования, включая Tcl, Perl, C, C++, PHP, ODBC, JDBC, Embedded SQL in C и Python, что делает СУБД гибкой и удобной для разработчиков.

Документация

На документации хочется заострить особое внимание. В отличие от многих других СУБД, эта СУБД может похвастаться не только отличной документацией, но и непосредственно самостремлением разработчиков и поддержкой этого проекта донести правильную и четко структурированную информацию до потенциального пользователя, что однозначно подогревает интерес к данной СУБД и платформе в целом.

К примеру, на официальном сайте компании есть отдельный раздел с образованием по их продукту. В нем представлена не только привычная документация, но и курсы, сертификации, а также программы для вузов. Помимо этого есть приятный бонус в виде четырех бесплатных книг по этой технологии. Они вполне актуальны и находятся в свободном для скачивания доступе.

Таким образом, даже начинающих программист или системный администратор сможет без особого труда и ознакомиться с платформой, и изучить более глубокие, сложные темы, не прибегая к сторонним сервисам или платным курсам от известным многим сайтам с курсами.

Postgres Pro - российская СУБД на основе PostgresSQL

Заключение

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

Postgres Pro также выделяется своей активной командой разработчиков, вниманием к потребностям российских заказчиков и соответствием мировым стандартам SQL. Благодаря этим факторам, она стала популярным выбором как для критически важных государственных проектов, так и для крупных частных организаций.

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

Оцените статью
( Пока оценок нет )
Поделиться с друзьями
IaaS SaaS PaaS
Добавить комментарий