Дата материала: 11.02.2004

PostgreSQL и DirectumRX. Основные сведения о PostgreSQL

Андрей Ардашев, архитектор облачных решений

Введение

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

Использование PostgreSQL позволяет решить следующие задачи:

  • сокращение затрат на ПО, т.к. эта СУБД относится к свободному ПО, в перспективе появится возможность переносить PostgreSQL на серверы с развернутыми *NIX-совместимыми операционными системами, что позволит создавать недорогие отказоустойчивые решения (об этом подробнее поговорим в следующих статьях);
  • движение к импортозамещению, некоторые решения на базе PostgreSQL входят в реестр российского ПО.

Немного о разработчиках PostgreSQL

PostgreSQL развивается силами международной группы разработчиков (PGDG), в которую входят как непосредственно программисты, так и те, кто отвечают за продвижение PostgreSQL (Public Relation), за поддержание серверов и сервисов, написание и перевод документации. Всего на 2005 год насчитывается около 200 человек. Другими словами, PGDG — это сложившийся коллектив, который полностью самодостаточен и устойчив. Проект развивается по общепринятой среди открытых проектов схеме, когда приоритеты определяются реальными нуждами и возможностями. При этом, практикуется публичное обсуждение всех вопросов в списке рассылке, что практически исключает возможность неправильных и несогласованных решений.

Кроме PGDG, значительное участие в развитии PostgreSQL принимает некоммерческая организация «The PostgreSQL Foundation», созданная для продвижения и поддержки PostgreSQL. Сайт фонда находится по адресу www.thepostgresqlfoundation.org. Спонсорская помощь на развитие PostgreSQL поступает как от частных лиц, так и от коммерческих компаний, которые:

  • принимают на работу членов PGDG;
  • оплачивают разработку каких-либо новых возможностей;
  • предоставляют услуги в виде хостинга или оплаты трафика;
  • поддерживают публичные мероприятия PGDG.

Бесплатно? Почему?

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

Приведем несколько примеров:

  • многочисленные дорогостоящие курсы, которые помогают специалистам быстро освоить работу с PostgreSQL (ссылки приводить не будем, их найти просто);
  • многие компании-разработчики включают PostgreSQL в свои платные продукты, чтобы снизить их порог вхождения в инфраструктуру заказчиков, и, конечно же, поддерживают развитие СУБД (www.tadviser.ru/index.php/Продукт:PostgreSQL_(PostgresPro));
  • предоставление облачных сервисов PostgreSQL (azure.microsoft.com/ru-ru/services/postgresql).

В итоге приток инвестиций от заинтересованных компаний-разработчиков, специалистов, которые получают образование, регулярно «подпитывает» сообщество PGDG.

Сравнение PostgreSQL с Microsoft SQL Server

Выполним сравнение по ряду параметров: доступность, функциональность и удобство, переносимость.

Доступность

PostgreSQL бесплатен, однако MS SQL Server также имеет бесплатную редакцию Express, которая в ряде случаев допустима, а для небольших организаций рекомендуема. Стоимость MS SQL Server также не является непосильной для крупных организаций.

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

Функциональность и удобство

Согласно статьи в Wikipedia, PostgreSQL по функциональности мало чем отличается от MS SQL Server , но обладает рядом преимуществ и недостатков с точки зрения удобства разработки и администрирования.

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

  • развитый SQL язык, удобство разработки и компактность кода (возможность использовать регулярные выражения, множество логических команд, более простой способ создания и использования функций, больше типов данных, есть возможность работать с массивами);
  • возможность запуска PostgreSQL на множестве ОС: Windows, Linux и прочих *NIX, BSD, MacOS;
  • удобство администрирования: развитый инструмент командной строки, что позволяет заскриптовать необходимые процедуры и автоматизировать процесс администрирования; логи хранятся в одном месте в удобном для обработки виде, в MSSQL логи хранятся в разных местах, и в последствии сложно реализовать из автоматический анализ;
  • множество бесплатных расширений, которые расширяют возможности PostgreSQL.

Контраргументы:

  • в компаниях, ориентированных на ПО Microsoft, больше специалистов по MS SQL Server и Postgres для них чуждый продукт;
  • инструменты настройки и поддержки MS SQL Server >значительно удобнее инструментов Postgres;
  • PostgreSQL в настоящее время не имеет средств валидации файлов резервных копий, поэтому для корректной проверки резервных копий необходимо разворачивать дополнительный тестовый контур, где БД будут регулярно восстанавливаться и специалист (либо автомат) будет проверять работоспособность и актуальной резервной копии;
  • в инструментарии PostgreSQL отсутствует удобный профайлер для анализа быстродействия. Необходимо либо вручную обрабатывать логи, либо использовать сторонние инструменты, которые упрощают данный процесс, в том числе Postgres Pro имеет ряд улучшений в платных версиях.

Переносимость на различные платформы

И PostgreSQL и MS SQL Server доступны для развёртывания на платформах Windows и Linux.

Требования MS SQL Server для развертывания на Linux представлены в статье https://docs.microsoft.com/ru-ru/sql/linux/sql-server-linux-setup#system

Ресурсоемкость

В PostgreSQL есть следующие ограничения по объемам:

Метрика

PostgreSQL

MSSQL

Максимальный размер базы данных

Нет заявленных ограничений

524 272 Тбайт

Максимальный размер таблицы

32 Тбайт

16 Тбайт

Максимальный размер записи

1,6 Тбайт

1 Тбайт

Максимум полей в записи

250–1600, в зависимости от типов полей

1024 — 30 000, в зависимости от типов полей

Максимум индексов в таблице

Нет ограничений

Нет ограничений

Исходные данные, по которым собиралась информация:

Как видим, отличия наблюдаются в количестве полей в таблицах, PostgreSQL позволяет создавать таблицы максимум с 1600 полей. Необходимо это учитывать при разработке таблиц БД.

Когда стоит обратить внимание на PostgreSQL при использовании в связке с DirectumRX?

Исходя из представленной выше информации можно сделать вывод, что по функциональным возможностям и ограничениям, а иногда и по стоимости владения, PostgreSQL практически не отличается от MS SQL Server, однако использование PostgreSQL предполагает наличие ИТ-специалистов, знакомых с ОС Linux и с принципами работы сервисных служб на ОС Linux.

Рассмотрим несколько кейсов, когда и какую СУБД лучше использовать для DirectumRX:

Количество пользователей

Наличие штатных ИТ-специалистов

Наличие инфраструктуры на базе Linux-серверов

Наилучший выбор

До 25

нет

нет

MS SQL Server редакция Express на ОС Windows

До 25

да

нет

MS SQL Server редакция Express на ОС Windows или PostgreSQL на ОС Windows

До 25

нет

да

MS SQL Server редакция Express на ОС Windows

До 25

да

да

PostgreSQL на ОС Windows или ОС Linux

От 25

нет

нет

MS SQL Server на ОС Windows

От 25

да

нет

MS SQL Server на ОС Windows

От 25

нет

да

PostgreSQL на ОС Windows или OC Linux

От 25

да

да

PostgreSQL на ОС Windows или OC Linux

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

В следующей статье рассмотрим инструментарий PostgreSQL.

Источник: DIRECTUM Club

1

Оставьте свои контактные данные, и мы свяжемся с вами

Россия (+7)
Азербайджан (+994)
Армения (+374)
Беларусь (+375)
Казахстан (+997)
Кыргызстан (+996)
Молдова (+373)
Таджикистан (+992)
Туркменистан (+993)
Узбекистан (+998)
Другая страна