База данных Postgres Pro: когда она лучше PostgreSQL - Моя ХАТА

База данных Postgres Pro: когда она лучше PostgreSQL

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

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

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

Как появилась российская СУБД Postgres Pro

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

Комьюнити вокруг опенсорс-продуктов часто весьма инертное, некоторые правки и предложения вносятся в ядро кода годами — куда быстрее сделать свою копию кода и внести туда все, что считаешь нужным.

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

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

Так что предпосылки для создания таких проектов есть и они уже подтверждены рынком. Проекты российской компании Postgres Pro построены на этих же принципах.

Давайте разбираться, что нам предлагают.

Сравнение Postgres Pro и PostgreSQL: что добавилось в российской версии

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

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

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

Postgres Pro (как и родительская PostgreSQL) хорошо масштабируется, и, как следствие, легко переносит выход из строя пары серверов БД, не теряя при этом данные и не переставая обслуживать клиентов.

Есть и кое-какие фичи, которых у родительской СУБД нет, например:

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