Журнал об IT-бизнесе, технологиях и цифровой трансформации

База данных Postgres Pro: когда она лучше PostgreSQL Mail.ru Cloud Solutions
Mail.ru Cloud Solutions
  • 14 мая
  • Технологии

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

Популярное
Ликбез
Что такое озера данных и почему в них дешевле хранить big data
Тренды
Эволюция квантовых вычислений: от гипотез до реальных компьютеров
Разработка
Три уровня автомасштабирования в Kubernetes: как их эффективно использовать

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

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

Postgres Pro и PostgreSQL: экскурс в мир популярного бэкенда

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

PostgreSQL в то время уже существовала и по качеству работы рвала 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. Улучшены и ускорены бэкапы, мониторинги, системы безопасности. Тут более надежные способы построения резервных копий. Есть дополнительные инструменты аналитики и администрирования.

В целом — список доработок огромный, хватит на отдельную статью.

И что с этим делать?

У установки Postgres Pro много плюсов. Они не всегда видны простым разработчикам, но очевидны для архитекторов, администраторов и IT-менеджмента. Вопросы построения отказоустойчивой архитектуры, сжатия данных и сертификации ПО для российского рынка вызывают головную боль у сотен IT-специалистов в нашей стране.

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

Ссылка скопирована!

Что еще почитать про ИТ-бизнес