В очередной раз подтверждая свою популярность и ценность, PostgreSQL получил ежегодную награду, присуждаемую DB-Engines.
В кратком изложении DB-Engines заявляет:
PostgreSQL — это система управления базами данных, которая за последний год завоевала большую популярность в нашем рейтинге DB-Engines, чем любая из других 360 отслеживаемых систем. Таким образом, мы объявляем PostgreSQL СУБД года 2020.
Ранее мы не рассматривали рейтинг DB-Engines, хотя он существует с 2013 года, и его диаграмма имеет очевидное сходство с индексом TIOBE в том, что он добавляет новые точки данных каждый месяц:
Итак, каковы показатели, как рассчитывается этот рейтинг? DB-Engines ранжирует продукты по их текущей популярности в соответствии со следующей методологией:
Количество упоминаний системы на веб-сайтах, измеряемое количеством результатов по запросам поисковых систем. В настоящее время мы используем Google и Bing для этого измерения. Чтобы подсчитать только релевантные результаты, мы ищем <имя системы> вместе с базой данных терминов, например «Оракул» и «база данных».
Общий интерес к системе. Для этого измерения мы используем частоту поиска в Google Trends.
Частота технических обсуждений системы. Мы используем количество связанных вопросов и количество заинтересованных пользователей на известных сайтах вопросов и ответов, связанных с ИТ, Stack Overflow и DBA Stack Exchange.
Количество предложений о работе, в которых упоминается система. Мы используем количество предложений от ведущих поисковых систем Indeed и Simply Hired.
Количество профилей в профессиональных сетях, в которых упоминается система. Мы используем самую популярную в мире профессиональную сеть LinkedIn.
Актуальность в социальных сетях. Мы подсчитываем количество твитов Twitter, в которых упоминается система.
Критерий для того, чтобы стать DB-Engine года — это наибольший рост популярности между следующими друг за другом января:
В этой таблице популярность трех ведущих СУБД, Oracle, MYSQL и SQL Server снизилась в 2020 году, в то время как PostgresSQL, занявший 4-е место в целом, показал наибольший прирост — более 45 баллов. Microsoft Azure, занимающая 15-е место в лиге, была близка по набранным очкам и, учитывая гораздо меньший общий балл, продемонстрировала заметный резкий рост. MongoDB также показала хорошие результаты в 2020 году.
PostgreSQL не только была самой популярной СУБД прошлого года, но и стала первой системой, трижды завоевавшей этот титул, уже завоевав награды 2017 и 2018 годов.
Но давайте заглянем за кулисы, в чем причина огромной популярности PostgreSQL? В трех словах: стабильность, возможности и расширяемость.
Я дал общий обзор в «Непреходящем влиянии Postgres», который представляет собой историческое воспоминание о проекте Postgres и его влиянии на индустрию СУБД, которое дает представление о ключевых особенностях объектно-реляционной базы данных, задуманной Майком. Stonebraker; или, другими словами, новаторские идеи, которые сформировали видение Stonebraker раньше всех.
Поддержка ADT в системе баз данных В основе понятия объектно-реляционной базы данных была поддержка ADT или абстрактных типов данных, которые выходили за рамки традиционных типов данных, обрабатываемых базой данных. JSON, JSONB, XML
Расширяемые методы доступа для новых типов данных Новые типы индексов и интерфейсов, подобные тем, которые используются в знаменитой географической информационной системе PostGIS.
Активные базы данных и системы правил Правила / триггеры, впервые появившиеся в Ingres, были еще одной конструкцией, популяризированной Postgres и нашедшей свое применение во всех основных механизмах баз данных. Хороший пример интенсивного использования триггеров в сценарии CDC (Change Data Capture) и Ingres, а не Postgres, проверьте Подключение к внешнему миру с помощью событий Perl и базы данных
Лог-ориентированное хранилище и восстановление
Поддержка мультипроцессоров: XPRS
Поддержка множества языковых моделей
Открытый источник
Коммерческие адаптации Это был краткий обзор исторического воспоминания; опять же, для более подробной информации прочтите «Непреходящее влияние Postgres».
А теперь мы можем насладиться плодами видения Стоунбрейкера. DBMS охватывают ряд технологий, выходящих далеко за рамки реляционной модели, хотя PostgreSQL имеет полный пакет, например:
Сохранение JSON непосредственно в базе данных или JSONB, если вам нужно его проиндексировать, используя индекс GIN, и запросить его.
Не только хеш-индексы и индексы B-Tree; PostgreSQL имеет множество из них, например GIN, который мы уже видели, GiST для полнотекстового поиска и геопространственных сценариев, SP-GiST, RUM, BRIN и Bloom.
Расширение основного движка, такого как PostGIS, одно из крупных расширений, которое превращает Postgres в геопространственную базу данных, которая поставляется с новыми типами данных и операторами, что дает PostgreSQL преимущество над многомиллионными коммерческими аналогами.
А как насчет поддержки pub / sub внутри базы данных? Да, PostgreSQL может это сделать с помощью команды LISTEN / NOTIFY. Проверьте, кто сказал, что PostgreSQL не может использовать Pub / Sub, как Redis?
Пользовательские функции в языках программирования, таких как Python с PL / Python. А как насчет Webassembly? Объявление о первом расширении Postgres для запуска WebAssembly
Аспект OSS и сообщество этого кейса. Postgres стал открытым исходным кодом, поэтому открыт для внесения вкладов, как только он вырвался из ограничений лаборатории Беркли. Именно это свойство, в конце концов, позволило ему развиться в плавильный котел новейших и величайших идей; и этот шаг очень скоро принес свои дивиденды. После того, как двое студентов представили в движок вариант SQL вместо приличного языка запросов Postquel (QUEL принадлежал Ingres), команда отвлеклась другими делами. не только периферийный вклад, но и улучшение самого ядра. С тех пор сообщество росло.
Будучи настолько универсальным, он выступает в качестве основы для других продуктов, способных замедлить рост, таких как Citus, который расширяет Postgres до горизонтально масштабируемой распределенной базы данных за пределы одного узла размером 100 ГБ. PostgreSQL долгое время был привлекательной отправной точкой для создания коммерческих систем баз данных, учитывая его разрешительную лицензию с открытым исходным кодом. , его надежная кодовая база, гибкость и широта функциональности.
И наконец, стабильность; обратной совместимости нет. Каждый выпуск просто обновляет и улучшает ситуацию.
В заключение, я совсем не удивлен, что PostresSQL выиграл эту награду, и я предсказываю, что это может повториться в следующем году.