Возможности PostgreSQL

15.04.2021

PostgreSQL – одна из самых популярных свободно распространяемых систем управления базами данных. Пожалуй, из СУБД с открытым исходных ходом только её и MySQL можно считать полноценными альтернативами коммерческим программным продуктам этого типа. В чём же причина этой популярности? Какие возможности она предоставляет? Полный их перечень и подробное описание можно прочесть в официальной документации, однако она насчитывает свыше 1300 страниц, так что найти в ней нужную информацию может быть затруднительно. Поэтому для этой статьи мы подготовили краткий их список.

  • MVCC (Multiversion Concurrency Control). В отличие от обычных баз данных, которые используют блокировки, PostgreSQL поддерживает многоверсионность. Это значит, что каждая транзакция видит ту версию БД, которая существовала на момент её начала, даже если состояние базы с тех пор уже успело измениться. Таким образом, индивидуальные транзакции находятся в изоляции друг от друга и защищены от несогласованных изменений, которые могли бы быть произведены другими транзакциями. В традиционных БД чтение и запись могут блокировать друг друга – здесь такого никогда не происходит;
  • Write Ahead Logging (WAL) – система протоколирования транзакций, обеспечивающая лёгкое и удобное восстановление после программных и аппаратных сбоев. Этот подход означает, что все изменения сначала заносятся в журнал, который записывается в стабильное хранилище, и только потом вносятся собственно в БД. Это гарантирует возможность восстановить её с помощью логов;
  • Point in Time Recovery (PITR) – функция восстановления состояния БД на конкретный момент в прошлом с использованием WAL;
  • Отсутствие ограничений на максимальный объём баз данных и количество записей и индексов в таблице;
  • Пользователь может писать функции как на чистом SQL, так и на других языках программирования;
  • Постгрес поддерживает стандартные (B-tree, hash, R-tree, GiST), частичные и функциональные индексы. При необходимости пользователь может создавать и собственные индексы, хотя это и довольно сложная задача;
  • Богатые возможности расширяемости. Это означает, что систему можно настраивать и дополнять для собственных нужд практически в любой области. Пользователь может определять собственные функции, операторы, агрегаты, типы данных, процедурные языки, домены и индексы.

Постгрес полностью соответствует требованиям ACID (атомарность, согласованность, изолированность, прочность), ставя надёжность и безопасность во главе своих приоритетов. Все результаты успешных транзакций гарантированно записываются на стабильный носитель, даже если в процессе происходят сбои аппаратуры. Всё это делает PostgreSQL одной из наиболее часто используемых СУБД, особенно в области разработки сложных сайтов и веб-приложений. Её поддерживают большинство используемых в веб-разработке фреймворков, так что человеку, умеющему работать с этой системой управления БД, не составит труда найти работу.

Учебный центр РРС
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.