PostgreSQL
11067

PostgreSQL


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

Согласно данным Группы глобального развития PostgreSQL: "PostgreSQL имеет множество функций, призванных помочь разработчикам создавать приложения, администраторам защищать целостность данных и создавать отказоустойчивые среды, а также помочь вам управлять данными, независимо от того, насколько велик или мал набор данных." Это решение для баз данных, которое предлагает больше возможностей для выполнения сложных действий и делает это с высоким уровнем безопасности и стабильности, необходимыми для компаний, работающих с огромными объемами данных, таких как Skype, Instagram, Spotify, IMDB, Reddit, NASA и других.

По данным LearnSQL.com, Postgre в настоящее время является второй по популярности технологией управления базами данных, уступая по доле рынка только более известной MySQL.

Именно этой технологии доверяют работу со 100 миллионами записей о киноиндустрии на IMDB, миллиардом пользователей Instagram и 50 миллионами сообщений в день, а также 271 миллионом ежемесячных слушателей Spotify. Без Postgre вы, вероятно, не слушали бы, например, новую песню Эда Ширана.

PostgreSQL относится к объектно-реляционным СУБД (ОРСУБД), то есть она поддерживает определяемые пользователем объекты и их поведение, включая типы данных, функции, операторы, домены и индексы. Это делает PostgreSQL чрезвычайно гибкой и надежной. PostgreSQL поддерживает широкий спектр типов данных, которые другие базы данных с открытым исходным кодом реализуют в той или иной степени, но Postgres поддерживает их все, включая типы данных сетевых адресов, многомерные массивы, геометрические данные и поддержку JSON без схемы. Кроме того, он позволяет создавать свои типы данных.

Основные возможности PostgreSQL


  1. Бесплатность: она с открытым исходным кодом, и мы можем легко загрузить ее с официального сайта PostgreSQL.
  2. Совместимость с несколькими операционными системами: PostgreSQL работает на всех основных операционных системах, таких как Microsoft Windows, Linux, MacOS X, UNIX (AIX, BSD, HP-UX, SGI IRIX, Solaris и Tru64) и т.д.
  3. Совместимость с различными языками программирования: Поддерживает множество интерфейсов программирования, таких как C/C++, JAVA, Python, Perl, PHP, Ruby, Tcl и ODBC (Open Database Connectivity).
  4. Поддержка целостности данных, которая включает следующее:
    • Первичные ключи УНИКАЛЬНЫЕ, NOT NULL
    • Внешние ключи
    • Явные блокировки, Advisory Locks
    • Exclusion Constraints
  5. Поддержка большого количества функций SQL:
    • MVCC (Multi-Version Concurrency Control)
    • Поддерживается множественное индексирование, такое как многоколоночное, частичное, B-дерево и выражения.
    • Подзапросы SQL.
    • Сложные SQL-запросы.
    • Потоковая репликация.
    • Поддерживаются транзакции, вложенные транзакции через точки сохранения (savepoints).
    • JIT компиляция выражений.
    • Разбиение таблиц на разделы (партицирование)
  6. Совместимость с различными типами данных:
    • Структурированные: Массив, Дата и время, UUID (универсально уникальный идентификатор), Диапазон.
    • Примитивы: String, Integer, Boolean, Numeric.
    • Пользовательские: Пользовательские типы, составные.
    • Геометрические: Полигон, Круг, Линия, Точка.
    • Документы: XML, JSON/JSONB, ключ-значение (Key - value).
  7. PostgreSQL обладает высокой расширяемостью на нескольких этапах, которые заключаются в следующем:
    • Он поддерживает процедурные языки, такие как Perl, PL/PGSQL, Python и т.д.
    • Выражения пути JSON/SQL.
    • Хранимые процедуры и функции.
    • Для таблиц поддерживается настраиваемый интерфейс хранения.
    • Совместим с обертками внешних данных (Foreign Data Wrappers), которые подключаются к другим базам данных с помощью стандартного интерфейса SQL.
  8. Безопасность:
    • PostgreSQL обеспечивает надежную систему контроля доступа.
    • Включает несколько видов аутентификации, таких как Lightweight Directory Access Protocol (LDAP), Generic Security Service Application Program Interface (GSSAPI), SCRAM-SHA-256, Security Support Provider Interface (SSPI), Certificate и так далее.
    • PostgreSQL поддерживает безопасность на уровне столбцов и строк.
  9. Высокая надежность, а также обеспечивает аварийное восстановление:
    • Активные резервные копии, PITR (восстановление в момент времени).
    • Поддерживается WAL (Write-ahead Logging).
    • Табличные пространства
    • Поддерживаются различные типы репликации: синхронная, асинхронная и логическая.
  10. PostgreSQL поддерживает интернационализацию, что означает, что международные наборы символов включают ICU коллизии, коллизии без учета ударений и с учетом регистра, а также полнотекстовый поиск.
  11. В PostgreSQL таблица может быть настроена на наследование своих характеристик от "родительской" таблицы.
  12. Он совместим с ANSI-SQL2008.
  13. PostgreSQL помогает улучшить функциональность программирования на стороне сервера. Возможность установки расширений для добавления дополнительной функциональности PostgreSQL.

Получать оповещения о новых статьях:


Не нашли нужную статью? Предложите свою тему