Как «Умный Кубик» использует платформу «1С:Предприятие» вместе с СУБД Postgres Pro
Дорогие друзья, сегодня мы хотим поделиться с вами замечательной новостью, которую сложно переоценить всем профессионалам, так или иначе вовлеченным в проектирование или поддержку архитектурных решений на базе платформы «1С:Предприятие» – наконец-то настал момент, когда официальная техническая поддержка нашей горячо любимой системы управления базами данных (СУБД) PostgreSQL выходит на качественно новый уровень!
Для начала небольшой «экскурс в историю». Как наши читатели, наверняка, знают, технологическая платформа «1С:Предприятие» поддерживает работу с рядом систем управления базами данных – это как встроенная в систему файловая СУБД, так и Microsoft SQL Server, IBM DB2, Oracle Database и PostgreSQL.
В эффективной эксплуатации комплекса «1С:Предприятие» роль СУБД можно без каких-либо преувеличений назвать ключевой, ведь именно СУБД отвечает за надежность хранения и скорость доступа к пользовательским данным. А технические проблемы, к сожалению, иногда возникающие с любой СУБД, являются одними из самых критичных для обеспечения стабильных бизнес-процессов в любой компании или бизнесе.
Не смотря на достаточно широкий ряд поддерживаемых СУБД, архитекторы и IT-администраторы могут проектировать решения с использованием далеко не всех его представителей. Что же не так с другими базами данных? На этот вопрос нам помог ответить наш технический директор Дмитрий Павлов, который поделился своим опытом внедрения и поддержки информационных систем в «Умном кубике».
Встроенная файловая СУБД является наименее технологически совершенной и надежной, имея ряд ограничений на количество одновременных пользователей такой системы. Мы, в «Умном кубике», никогда не рекомендуем ее своим клиентам для одновременного использования более чем 3-4 пользователями. А вот на максимально частом резервном копировании при использовании файловых информационных баз «1С» – всегда настаиваем.
Всем известный продукт Microsoft SQL Server исторически имеет наилучшую поддержку и совместимость с «1С:Предприятием» по той причине, что разработчики ПО «1С» изначально ориентировались на эту СУБД, являющуюся монополистом на платформе Windows. Кроме очевидных «плюсов» выбора в пользу этой СУБД, существуют и не менее весомые «минусы»: поддержка только ОС Windows, отсутствие бесплатной версии без ограничений по функциональности (бесплатный Microsoft SQL Server Express имеет ряд ограничений, делающих эту СУБД непривлекательной для некоммерческого использования), достаточно высокая стоимость лицензирования, сложность обслуживания.
IBM DB2 и Oracle Database, в свою очередь, являются крайне дорогостоящими в приобретении, технической эксплуатации и поддержке enterprise-решениями. Совершенно не вызывает удивления, что распространение этих СУБД в архитектурной связке с «1С:Предприятием» достаточно низкое. Даже крупные компании не позволяют себе такую «роскошь». Однако, справедливости ради, мы отметим, что именно эти СУБД всегда являлись наиболее качественными разработками среди прочих конкурирующих реляционных баз данных, как в прошлом, так и на сегодняшний день.
Много лет назад, когда мы, в «Умном кубике», были еще недостаточно опытны, но достаточно «молоды», чтобы позволить себе эксперименты со всеми поддерживаемыми СУБД, нам пришлось пройти путь взлетов и падений с каждой из них. Избавим своего читателя от технических подробностей этих экспериментов и, забегая немного вперед, скажем только, что в силу ряда объективных технических, коммерческих и идеологических причин, мы остановили свой выбор на PostgreSQL, проектируем, эксплуатируем и поддерживаем надежные коммерческие решения на базе этой СУБД вот уже более 6 лет.
PostgreSQL (произносится «Пост-Грэс-Кью-Эл») является open-source (программа с открытым исходным кодом) объектно-реляционной СУБД и впервые миру была представлена в 1996 году, изначально родившись из проекта, разрабатываемого в Калифорнийском университете в Беркли. Традиционно, сильными сторонами этой СУБД являются:
- высокопроизводительные и надёжные механизмы транзакций и репликации
- расширяемая система встроенных языков программирования
- наследование
- легкая масштабируемость
- кроссплатформенность
- отностительно несложные процессы настройки и поддержки
Можно сказать, что мы влюбились в «Слона» (логотипом PostgreSQL является милый синий слоник) практически сразу после первого знакомства, которое проходило предсказуемо и без каких-либо непредвиденных проблем. СУБД зарекомендовала себя как очень надежная, понятная и быстро развивающаяся, что однозначно определило наш выбор в ее пользу.
Для ее совместимости с «1С:Предприятием» фирма «1С» разрабатывает свой собственный «патч» (изменение в исходном коде), обеспечивающий правильную работу с т.н. блокировками изменяемых объектов данных при конкурентном многопользовательском доступе к ним. Таким образом, использовать PostgreSQL с «1С:Предприятием» можно было только в случае загрузки официального дистрибутива с этими изменениями с официального сайта фирмы «1С». Фактически, разработчики брали открытые исходные коды PostgreSQL, применяли свои «патчи» совместимости и собирали собственные дистрибутивы специально для работы «1С:Предприятием».
Основной проблемой этого подхода было то, что, как правило, существовало сильное отставание версии PostgreSQL-1С от основной, разрабатываемой сообществом ветки, в силу сравнительно низкого распространения этой СУБД в 1С-сообществе и того факта, что основное внимание разработчиками фирмы «1С» исторически больше уделялось Microsoft SQL Server. Таким образом, все новые «фишки» и улучшения приходили к нам с большой задержкой, а увеличивать скорость работы, надежность и эффективность системы нам требовалось и хотелось сильно чаще, чтобы соответствовать нашему имени – «Умный кубик».
Изначально эта СУБД эксплуатировалась нами на ОС Windows в 32-битном режиме, а использовались те самые «официальные сборки» от фирмы «1С». Но с появлением в нашей дружной команде коллег, горячо любящих и эффективно использующих open-source разработки, мы перевели PostgreSQL сначала на работу в среде Unix (Linux) – ведь именно эта среда является осознанным и проверенным выбором профессионалов в качестве серверной ОС. Немногим позже мы стали использовать 64-битную архитектуру в тандеме с передовыми аппаратными решениями, включая высокоскоростные и надежные твердотельные накопители данных (SSD), что еще на порядок увеличило быстродействие и надежность нашей информационной системы.
Однако, примерно в это же время перед нами остро встал вопрос «актуальности» версии PostgreSQL для использования в нашей облачной инфраструктуре – ведь именно «Умный кубик» первым в Украине ввел в коммерческую эксплуатацию услугу «1С в облаке» (SaaS, программное обеспечение, как услуга, при которой дорогостоящее ПО не приобретается, а оплачивается только абонентская плата, включающая все расходы по лицензированию и технической поддержке системы).
Чтобы наши клиенты смогли получать максимально высокий уровень обслуживания, нашими специалистами предпринимались попытки как самостоятельной сборки самых актуальных версий PostgreSQL для Linux, так и поиск готовых решений. И такое решение нашлось, и было не просто решением, а решением от профессионалов и для профессионалов!
Перепробовав многое, мы нашли талантливых разработчиков из компании «Postgres Professional» (https://postgrespro.ru), которые в течении уже длительного времени, имея богатый опыт за плечами, занимались улучшением open-source разработки PostgreSQL, беря за основу самые актуальные версии СУБД и применяя как «патчи» исходных кодов от фирмы «1С», так и собственные наработки. Насколько качественным оказался продукт коллег из «Postgres Professional» мы смогли убедиться сразу же после перехода всего нашего «облака» на эту версию СУБД. Фактически «из коробки» мы получили самую актуальную версию любимой СУБД, возможность просто и быстро обновлять ее средствами ОС из репозитария «Postgres Professional» и разумные настройки конфигурационного файла по умолчанию, что давало возможность максимально быстрого развертывания надежной системы хранения данных для платформы «1С:Предприятия».
Упорный многолетний труд коллег принес им свои заслуженные плоды: компанией «Postgres Professional» недавно заинтересовались в самой фирме «1C» и на днях было объявлено (https://postgrespro.ru/blog/news/236319 & http://1c.ru/news/pressrelise.jsp?id=1847) о заключении партнерского соглашения между двумя технологическими компаниями.
Благодаря высочайшему качеству этой разработки, ожидается, что версия PostgreSQL от «Postgres Professional» должна стать официальной версией PostgreSQL для «1С:Предприятия».
В этой связи, кроме основной своей бесплатной разработки PostgresPro Standard, коллеги выпустили (https://postgrespro.ru/products/postgrespro) дополнительную коммерческую версию PostgresPro Enterprise, обладающую дополнительными мощными механизмами, нацеленными на вывод работы «1С:Предприятия» на совершенно новый уровень. Очередная версия PostgresPro представляет собой актуальную версию PostgreSQL с наложенными на нее «патчами», которые уже приняты сообществом и внесены в основную ветку разработки, а также расширениями и «патчами», разработанными «Postgres Professional» и не затрагивающими основное ядро.
Мы искренне поздравляем коллег из компании Postgres Professional с выходом на широкий рынок, фирму «1С», сделавшую очевидный и правильный выбор компетентного партнера, а также поздравляем своих клиентов, сделавших правильный выбор в пользу 1С:Франчайзи «Умный кубик», который уже много лет использует передовые наработки от «Postgres Professional».
Спасибо за то, что вы с нами (даже если вы и не дочитали до конца). В следующих наших статьях мы обязательно подробнее расскажем об используемых нами открытых технологиях и даже собственных разработках, позволяющих нам оставаться технологическим лидером 1С:Франчайзинга в Украине!