PostgreSQL
Cвободная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL и рассчитана на повышенные нагрузки
Бесплатная объектно-реляционная система управления базами данных (СУБД) с открытым исходным кодом.
С её помощью можно гибко управлять базами данных: создавать, изменять или удалять в них записи, а также отправлять транзакции — наборы последовательных операций на языке SQL. Обеспечивается поддержка широкого набора данных. Гибкость, использование не только стандартизированных типов данных, но других, например, координат для геолокации и картографических сервисов, сетевых и MAC-адресов, а также результатов полнотекстового поиска. Применяются надстройки и расширения, которые легко позволят добавить нужный тип данных.
Возможности
Мощная система транзакций
Полностью совместимая с ACID система управления транзакциями, обеспечивает атомарность, согласованность, изоляцию и долговечность операций. Это позволяет использовать базу как для OLTP‑систем, так и для аналитических нагрузок без потери целостности данных.
Расширяемый тип данных и операторы
Пользователи могут создавать собственные типы, индексы, функции и операторы. Это открывает широкие возможности для специализированных приложений: от географических систем (PostGIS) до полнотекстового поиска.
Многоязыковая поддержка
PostgreSQL полностью поддерживает Unicode (UTF‑8), что позволяет хранить и обрабатывать тексты на любом языке. Благодаря этому база легко интегрируется в глобальные информационные системы.
Параллельные запросы
В последних версиях реализована параллельная обработка SELECT‑запросов, что повышает производительность при работе с большими таблицами и аналитическими задачами.
Интеграция с внешними системами
Через механизм Foreign Data Wrapper (FDW) PostgreSQL может обращаться к данным, расположенным в других базах данных, файловых системах или облачных хранилищах. Это позволяет объединять данные из разрозненных источников в единый запрос.
Архитектура
Модульная архитектура
База состоит из ядра, модулей (extensions) и расширяемых компонентов. Ядро отвечает за хранение данных, планирование запросов и транзакции, а модули добавляют функциональность без изменения исходного кода. Доступно расширение модулями сторонних разработчиков.
Foreign Data Wrapper (FDW)
Плагин, реализующий стандартизированный интерфейс для доступа и обеспечения совместимости с внешними источниками. С помощью FDW можно читать данные из MySQL, Oracle, MongoDB и даже CSV‑файлов, а также писать в них.
Расширение PostGIS
Самый популярный модуль для геопространственных данных. Он добавляет типы geometry и geography, индексы GiST/ SP-GiST, а также набор функций для пространственного анализа.
Пакет pg_stat_statements
Встроенная расширяемость позволяет собирать статистику по выполнению запросов, что упрощает мониторинг и оптимизацию производительности.
Система репликации
Встроенная логическая и физическая репликация обеспечивает отказоустойчивость, масштабирование чтения и возможность синхронной/асинхронной репликации между серверами PostgreSQL без сторонних инструментов.
