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

Яндекс, например, хранит петабайты данных в PostgreSQL, что позволяет почтовой службе компании обрабатывать более 150 миллионов электронных писем в день. GitLab, который уже много лет использует Postgres, поддерживает большой кластер, обрабатывающий 181 000 транзакций в секунду. ИКЕА, который перешел на PostgreSQL для снижения общей стоимости владения (TCO), имеет ряд баз данных, в которых хранятся данные размером в несколько терабайт.

[ Also on InfoWorld: The year of PostgreSQL is every year ]

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

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

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

Ряд характеристик и возможностей Postgres делают его подходящим для очень широкого круга приложений:

  • Качество кода – Каждая строка кода, входящая в PostgreSQL, проверяется несколькими экспертами, а весь процесс разработки управляется сообществом, поэтому отчеты об ошибках, исправления и проверка выполняются очень быстро.
  • Расширяемость – PostgreSQL – чрезвычайно гибкое решение с расширениями, охватывающими потребности почти всех потенциальных вариантов использования. Даже если вам нужно что-то очень конкретное, например поддержка определенных типов данных или же расширенная функциональность ведения журнала, вы можете написать собственное расширение или попросить поставщика PostgreSQL сделать это за вас.
  • SQL и NoSQL – PostgreSQL может использоваться как традиционная система управления реляционными базами данных SQL для строк транзакционных или статистических данных, так и как решение NoSQL для хранения документов JSON. Такая гибкость может снизить затраты и повысить вашу безопасность. Использование только одной системы управления базами данных означает, что вам не нужно нанимать или заключать договор с экспертами, необходимыми для настройки, управления, защиты и обновления нескольких решений для баз данных.
  • Пространственные данные – Компании часто полагаются на Postgres для приложений, использующих пространственные данные, потому что Postgres имеет отличные возможности для обработки таких данных. Например, Postgres имеет определенные типы данных для геометрических объектов, а PostGIS позволяет легко и быстро создавать пространственные базы данных. Это сделало Postgres особенно популярным среди транспортных и логистических компаний.
  • Доступность и отказоустойчивость данных – Для критически важных производственных сред, таких как государственные учреждения, фирмы, предоставляющие финансовые услуги, и медицинские компании, версии PostgreSQL, поддерживаемые частным образом, обеспечивают дополнительные функции обеспечения высокой доступности, отказоустойчивости и безопасности.

PostgreSQL также имеет несколько существенных преимуществ перед другими базами данных с открытым исходным кодом:

  • Не контролируется одним поставщиком – В отличие от некоторых других баз данных с открытым исходным кодом, Postgres не является решением от одного производителя. Прогресс решения от одного поставщика в конечном итоге на 100% зависит от решений поставщика, а не сообщества пользователей. То же самое и с исправлением ошибок. Только поставщик решает, что будет исправлено в следующем выпуске. Хотя сообщество пользователей может оказывать давление на поставщика, а умные поставщики прислушиваются к своим сообществам пользователей, всегда существует большая вероятность того, что потребности некоторых пользователей будут проигнорированы.
  • Нет привязки к поставщику – Если СУБД с открытым исходным кодом находится в частной собственности, поставщик обычно пытается заблокировать клиентов, продавая семейство дополнительных продуктов, таких как облачная инфраструктура, которая поставляется с базой данных как услугой (DBaaS). Хотя эти продукты могут быть желательными для получения максимальной отдачи от базы данных, они также затрудняют переход клиента на другие решения.
  • Популярность – Как отмечалось выше, PostgreSQL – очень популярное решение. Это важно, потому что компании, которые стандартизируют базу данных с открытым исходным кодом с относительно небольшой клиентской базой, найдут ограниченные возможности, когда дело доходит до получения сторонней установки, устранения неполадок или консультационных услуг. Также будет труднее найти людей с соответствующим уровнем знаний и навыков. И независимо от того, хотите ли вы нанять или заключить договор на услугу, относительно редкий опыт, вероятно, будет стоить дороже – если он вообще существует.

Проблемы PostgreSQL

Несмотря на то, что все эти преимущества Postgres очевидны, при внедрении этой базы данных необходимо помнить о важных проблемах. Проблемы Postgres включают:

Расходы – Существует распространенное заблуждение, что как решение с открытым исходным кодом PostgreSQL на 100% бесплатен. Однако, хотя загрузка, установка и использование решения бесплатны, почти всегда есть затраты, связанные с миграцией, поддержкой и обслуживанием, и эти затраты не следует недооценивать. Поэтому может быть важно на раннем этапе поработать с консультантом по PostgreSQL, чтобы определить, какими могут быть эти расходы.

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

Не контролируется одним поставщиком – Хотя это указано выше как преимущество, у него также есть потенциальный недостаток. Пользователи, переходящие на PostgreSQL, должны будут выбирать среди множества поставщиков и решений, выполняющих одну и ту же функцию. Например, у Postgres есть пять решений для резервного копирования от разных компаний. Это означает, что вы должны найти время, чтобы понять преимущества и проблемы каждого из них, чтобы вы могли выбрать лучший вариант для своего варианта использования. Опять же, компаниям, которые только начинают работать с Postgres, может быть полезно обратиться за советом к консультанту.

PostgreSQL в локальной и в облаке – Работа с PostgreSQL в облаке отличается от локальной. Многие расширения Postgres недоступны в облаке, и поставщики часто блокируют некоторые настройки по умолчанию, что ограничивает конфигурации и возможности Postgres. Стоимость потребления облачных ресурсов также может быть довольно высокой. Фактически, многим компаниям пришлось вернуться с Amazon RDS на локальную Postgres, чтобы получить контроль над расходами и обеспечить масштабируемость.

Размер развертывания – В то время как переход на Postgres, вероятно, будет легким для малых предприятий с небольшими базами данных, компании среднего и крупного размера быстро столкнутся с проблемами миграции, которые потребуют работы с поставщиком поддержки или службой миграции.

Собственная экспертиза – Для обслуживания любой системы управления базами данных требуется опыт, и PostgreSQL не исключение. Компании должны сравнить затраты, связанные с наймом необходимого опыта, с тем, чтобы существующая команда изучала Postgres с нуля, а затем полагалась на стороннего поставщика или консультанта в дополнение к внутренней команде. Если вы нанимаете специалистов, сделайте это достаточно рано в процессе, чтобы новая команда могла полностью понять бизнес-потребности и бизнес-логику приложения до начала разработки или миграции. Затем разработайте пошаговый план миграции, который предвидит возможные проблемы.

[ Also on InfoWorld: The shifting market for PostgreSQL ]

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

PostgreSQL – это популярная и хорошо поддерживаемая база данных, которая продолжает совершенствоваться, чтобы удовлетворить потребности даже самых сложных, критически важных вариантов использования, что объясняет ее растущие темпы принятия и почему все больше и больше предприятий выбирают ее в качестве своей основной базы данных система управления. Если к проектам подходить правильно и при поддержке необходимого уровня знаний, компании могут обеспечить успешное развертывание, которое будет отвечать их меняющимся потребностям на долгие годы.

Иван Панченко – соучредитель и заместитель генерального директора Postgres Professional, компании, специализирующейся на создании PostgreSQL для предприятий. Энтузиаст PostgreSQL и известный член сообщества PostgreSQL, Панченко тесно сотрудничает с корпоративными клиентами и помогает определить стратегию продукта. Панченко – профессиональный астрофизик и разработчик программного обеспечения, который начал разрабатывать приложения на основе PostgreSQL в 1998 году.

Форум новых технологий предоставляет площадку для изучения и обсуждения новых корпоративных технологий с беспрецедентной глубиной и широтой. Выбор носит субъективный характер и основан на нашем выборе технологий, которые мы считаем важными и представляющими наибольший интерес для читателей InfoWorld. InfoWorld не принимает маркетинговые материалы для публикации и оставляет за собой право редактировать весь предоставленный контент. Все запросы отправляйте по адресу newtechforum@infoworld.com.

Авторские права © 2021 IDG Communications, Inc.


#Преимущества #проблемы #PostgreSQL #моментальный #снимок

Source link