дипдом. Диплом_Юмжана. LoungebarMojo
Скачать 1.59 Mb.
|
1.3. СУБД PostgreSQLPostgreSQL — это объектно-реляционная система управления базами данных (ОРСУБД, ORDBMS), основанная на POSTGRES, Version 4.2 — программе, разработанной на факультете компьютерных наук Калифорнийского университета в Беркли. В POSTGRES появилось множество новшеств, которые были реализованы в некоторых коммерческих СУБД гораздо позднее. PostgreSQL поддерживает большую часть стандарта SQL и предлагает множество современных функций: сложные запросы, внешние ключи, триггеры, изменяемые представления, транзакционная целостность, многоверсионность. Также пользователи могут всячески расширять возможности PostgreSQL, например создавая свои: типы данных, функции, операторы, агрегатные функции, методы индексирования, процедурные языки А благодаря свободной лицензии, PostgreSQL разрешается бесплатно использовать, изменять и распространять всем и для любых целей — личных, коммерческих или учебных. Система управления базами данных PostgreSQL считается подходящим решением для сложных операций с большими объемами данных. Причина в том, что она лучше справляется с чрезвычайными ситуациями. Считается, что у PostgreSQL больше функций, чем в других СУБД . Кроме того, PostgreSQL — расширяемая система, ее работа базируется на каталогах (подход catalog-driven). Другими словами, она хранит информацию не только о таблицах и столбцах, но и о типах данных, типах индексов, функциональных языках и так далее. Пользователи могут изменять всю эту информацию в системных каталогах, которые выглядят как обычные таблицы. Другие отличительные черты базы данных PostgreSQL — это объектно-реляционная система, которая совместима с принципами ACID: атомарность; согласованность; изолированность; cтойкость. Также она поддерживает высокопараллельные вычисления и NoSQL. Характеристики PostgreSQL: 1. Открытый исходный код: PostgreSQL — это свободная и открытая объектно-реляционная система управления базами данных (ОРСУБД). В отличие от обычных РСУБД. Она позволяет использовать как объектно-ориентированные, так и реляционные базы данных. 2. Расширенные настройки: вы можете разработать собственные плагины и настроить PostgreSQL под свои нужды. База данных PostgreSQL также позволяет активировать нестандартные функции, написанные на других языках программирования, таких как C/C++, Java и других. 3. Долгая история: PostgreSQL развивается с 1988 года. 4. Частые обновления: так, последним обновлением на март 2020 года в PostgreSQL является версия 12.2 от 13 февраля 2020 года. 5. Либеральная открытая лицензия: у базы данных PostgreSQL щедрая опенсорсная лицензия, которая позволяет использовать, изменять и распространять СУБД как вам угодно. 6. Функции MVCC: база данных PostgreSQL была первой СУБД, которая реализовала функции управления параллельным доступом посредством многоверсионности (MVCC). 7. Отзывчивое сообщество: преданное сообщество разработчиков и активистов всегда готово помочь. Кроме того, можно воспользоваться платной поддержкой от сторонних компаний. Сообщество поддерживает PostgreSQL и обновляет платформу через группу PostgreSQL Global Development Group. 8. Высокая оценка пользователей: у PostgreSQL рейтинг 4,4 звезды (из пяти) по итогам 452 отзывов на G2 Crowd. «PostgreSQL — одна из самых интересных РСУБД с открытым исходным кодом. На сегодняшний день PostgreSQL считается самой продвинутой системой управления базами данных. При совершении транзакции тут не нужно ставить блокировки чтения, что дает лучшую масштабируемость. Также этот инструмент управляется не человеком или компанией, а сообществом разработчиков», а ее программирование представляет собой своеобразный мостик между объектно-ориентированным и реляционным/процедурным программированием (как C++), что позволяет определять объекты и наследование таблиц, что порождает более сложные структуры данных. ОРСУБД великолепно подходит для данных, которые не вписываются в строго реляционную модель Система отлично подходит для сложных запросов, когда нужно выполнить сложные операции чтения-записи с одновременной валидацией данных. Поддержка NoSQL и большое разнообразие типов данных: PostgreSQL является популярным выбором для функций NoSQL. Она изначально поддерживает большое разнообразие типов данных, включая JSON, hstore и XML. Можете также настроить исходные типы данных и задействовать нестандартные функции. Спроектирована для управления очень большими базами данных: функции PostgreSQL не ограничивают размер ваших баз данных. Например, по словам администратора баз данных на Adjust.com, у них база данных PostgreSQL управляет базой «примерно на четыре петабайта». Далее он утверждает, что «окружение обрабатывает, а затем записывает в журнал, от 100 до 250 тысяч внешних запросов в секунду». Это действительно тяжелая нагрузка. Управление параллельным доступом посредством многоверсионности (MVCC): это одна из главных причин, почему компании выбирают Постгрес SQL. MVCC предоставляет одновременный доступ к базе данных множеству агентов на чтение и запись. Это устраняет необходимость каждый раз блокировать чтение-запись, когда кто-то взаимодействует с данными. Таким образом, значительно повышается эффективность управления СУБД и ее производительность. MVCC обеспечивает такую функциональность через «изоляцию снапшотов» (как ее называет Oracle). Моментальные снимки (снапшоты) представляют состояние данных в определенный момент времени. Соответствие ACID: База данных PostgreSQL предотвращает повреждение данных и сохраняет их целостность на транзакционном уровне. Подробнее о важности ACID-соответствия читайте здесь (как упоминалось выше, база данных MySQL тоже предлагает соответствие ACID, но могут возникнуть осложнения). СУБД PostgreSQL также просто развернуть в облаке: в VK Cloud Solutions (бывш. MCS) доступно развертывание из шаблона, сервис автоматической миграции данных, аудит работы с данными. Поддерживаемые языки базы данных PostgreSQL. Она поддерживает несколько более широкий набор языков: C/C++, Delphi, Erlang, Go, Java, JavaScript, Lisp, .Net, Python, R, Tcl и другие языки программирования. СУБД PostgreSQL предлагает облачную поддержку и локальную установку, обычно ее устанавливают на серверах Linux. Кроме того, доступен веб-сервер PostgREST для работы с базой данной через программные интерфейсы REST API. На рис.1 показана схема работы типичного приложения. Процессу POSTMASTER, который существует всегда на серверную машину посылается запрос на подключение. Если запрос на подключение проходит проверку, то POSTMASTER создаёт свою копию. Все дальнейшие операции между базой данных и клиентом проводятся через эту копию POSTMASTER. На каждое соединение создаётся своя копия — это позволяет производить все действия с данными непосредственно на сервере [4]. Рис. 1 Схема работы приложения на PostgreSQL |