Игорь Викторович Левшин , Павел Вениаминович Лузанов , Егор Валерьевич Рогов - Postgres. Первое знакомство
8-е издание, переработанное и дополненноеНазвание: | Postgres. Первое знакомство | |
Автор: | Игорь Викторович Левшин , Павел Вениаминович Лузанов , Егор Валерьевич Рогов | |
Жанр: | Базы данных, Учебники и самоучители по компьютеру | |
Изадано в серии: | неизвестно | |
Издательство: | ООО "ППГ" | |
Год издания: | 2022 | |
ISBN: | 978-5-6045970-0-2 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Postgres. Первое знакомство"
Аннотация к этой книге отсутствует.
Читаем онлайн "Postgres. Первое знакомство". [Страница - 3]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (38) »
RADIUS, PAM, Kerberos).
При управлении пользователями и доступом к объектам БД
предоставляются следующие возможности:
•
создание и управление пользователями и групповыми
ролями;
•
разграничение доступа к объектам БД на уровне как отдельных пользователей, так и групп;
•
детальное управление доступом на уровне отдельных
столбцов и строк;
•
поддержка SELinux через встроенную функциональность SE-PostgreSQL (мандатное управление доступом).
Специальная версия PostgreSQL компании Postgres Professional, Postgres Pro Certified, сертифицирована ФСТЭК
для использования в системах обработки конфиденциальной информации и персональных данных.
Соответствие стандартам
По мере развития стандарта ANSI SQL его поддержка постоянно добавляется в PostgreSQL. Это относится ко всем
версиям стандарта от SQL-92 до самой последней SQL:2016,
стандартизировавшей поддержку работы с форматом JSON.
Существенная часть этого функционала уже реализована
в PostgreSQL 14.
В целом PostgreSQL обеспечивает высокий уровень соответствия стандарту и поддерживает 170 из 177 обязательных возможностей, а также большое количество необязательных.
Поддержка транзакционности
PostgreSQL обеспечивает полную поддержку свойств ACID
и обеспечивает эффективную изоляцию транзакций. Для
этого в PostgreSQL используется механизм многоверсионного управления одновременным доступом (MVCC), который позволяет обходиться без блокировок строк во всех
случаях, кроме одновременного изменения одной и той
же строки данных в нескольких процессах: читающие транзакции никогда не блокируют пишущих транзакций, а пишущие — читающих.
Это справедливо и для самого строгого уровня изоляции
serializable, который, используя инновационную систему
Serializable Snapshot Isolation, обеспечивает полное отсутствие аномалий сериализации и гарантирует, что при
одновременном выполнении транзакций результат будет
таким же, как и при последовательном выполнении.
9
i
10
i
Для разработчиков приложений
Разработчики приложений получают в свое распоряжение
богатый инструментарий, позволяющий реализовать приложения любого типа:
•
всевозможные языки серверного программирования:
встроенный PL/pgSQL (удобный своей тесной интеграцией с SQL), C для критичных по производительности
задач, Perl, Python, Tcl, а также JavaScript, Java и другие;
•
программные интерфейсы для обращения к СУБД из
приложений на любом языке, включая стандартные интерфейсы ODBC и JDBC;
•
набор объектов баз данных, позволяющий эффективно
реализовать логику любой сложности на стороне сервера: таблицы и индексы, последовательности, ограничения целостности, представления и материализованные
представления, секционирование, подзапросы и withзапросы (в том числе рекурсивные), агрегатные и оконные функции, хранимые функции, триггеры и т. д.;
•
гибкая система полнотекстового поиска с поддержкой
русского и всех европейских языков, дополненная эффективным индексным доступом;
•
слабоструктурированные данные в духе NoSQL: хранилище пар «ключ-значение» hstore, xml, json (в текстовом
и в эффективном двоичном представлении jsonb);
•
подключение источников данных, включая все основные СУБД, в качестве внешних таблиц по стандарту
SQL/MED с возможностью их полноценного использования, в том числе для записи и распределенного выполнения запросов (Foreign Data Wrappers).
Масштабируемость и производительность
PostgreSQL эффективно использует современную архитектуру многоядерных процессоров — производительность
СУБД растет практически линейно с увеличением количества ядер.
Есть возможность параллельного выполнения запросов:
PostgreSQL умеет распараллеливать чтение данных и соединения (в том числе и для секционированных таблиц),
выполнять в параллельном режиме ряд служебных команд
(создание индексов, очистку). JIT-компиляция запросов повышает возможности использования аппаратных средств
для ускорения операций. Каждая следующая версия PostgreSQL содержит множество новых оптимизаций.
Для горизонтального масштабирования PostgreSQL предоставляет возможности репликации, как физической, так
и логической. Это позволяет строить на базе PostgreSQL
кластеры для решения задач отказоустойчивости, высокой производительности, географической распределенности. Примерами таких систем могут служить Citus (Citusdata), Postgres-BDR (2ndQuadrant), Multimaster (Postgres
Professional), Patroni (Zalando).
Планировщик --">
При управлении пользователями и доступом к объектам БД
предоставляются следующие возможности:
•
создание и управление пользователями и групповыми
ролями;
•
разграничение доступа к объектам БД на уровне как отдельных пользователей, так и групп;
•
детальное управление доступом на уровне отдельных
столбцов и строк;
•
поддержка SELinux через встроенную функциональность SE-PostgreSQL (мандатное управление доступом).
Специальная версия PostgreSQL компании Postgres Professional, Postgres Pro Certified, сертифицирована ФСТЭК
для использования в системах обработки конфиденциальной информации и персональных данных.
Соответствие стандартам
По мере развития стандарта ANSI SQL его поддержка постоянно добавляется в PostgreSQL. Это относится ко всем
версиям стандарта от SQL-92 до самой последней SQL:2016,
стандартизировавшей поддержку работы с форматом JSON.
Существенная часть этого функционала уже реализована
в PostgreSQL 14.
В целом PostgreSQL обеспечивает высокий уровень соответствия стандарту и поддерживает 170 из 177 обязательных возможностей, а также большое количество необязательных.
Поддержка транзакционности
PostgreSQL обеспечивает полную поддержку свойств ACID
и обеспечивает эффективную изоляцию транзакций. Для
этого в PostgreSQL используется механизм многоверсионного управления одновременным доступом (MVCC), который позволяет обходиться без блокировок строк во всех
случаях, кроме одновременного изменения одной и той
же строки данных в нескольких процессах: читающие транзакции никогда не блокируют пишущих транзакций, а пишущие — читающих.
Это справедливо и для самого строгого уровня изоляции
serializable, который, используя инновационную систему
Serializable Snapshot Isolation, обеспечивает полное отсутствие аномалий сериализации и гарантирует, что при
одновременном выполнении транзакций результат будет
таким же, как и при последовательном выполнении.
9
i
10
i
Для разработчиков приложений
Разработчики приложений получают в свое распоряжение
богатый инструментарий, позволяющий реализовать приложения любого типа:
•
всевозможные языки серверного программирования:
встроенный PL/pgSQL (удобный своей тесной интеграцией с SQL), C для критичных по производительности
задач, Perl, Python, Tcl, а также JavaScript, Java и другие;
•
программные интерфейсы для обращения к СУБД из
приложений на любом языке, включая стандартные интерфейсы ODBC и JDBC;
•
набор объектов баз данных, позволяющий эффективно
реализовать логику любой сложности на стороне сервера: таблицы и индексы, последовательности, ограничения целостности, представления и материализованные
представления, секционирование, подзапросы и withзапросы (в том числе рекурсивные), агрегатные и оконные функции, хранимые функции, триггеры и т. д.;
•
гибкая система полнотекстового поиска с поддержкой
русского и всех европейских языков, дополненная эффективным индексным доступом;
•
слабоструктурированные данные в духе NoSQL: хранилище пар «ключ-значение» hstore, xml, json (в текстовом
и в эффективном двоичном представлении jsonb);
•
подключение источников данных, включая все основные СУБД, в качестве внешних таблиц по стандарту
SQL/MED с возможностью их полноценного использования, в том числе для записи и распределенного выполнения запросов (Foreign Data Wrappers).
Масштабируемость и производительность
PostgreSQL эффективно использует современную архитектуру многоядерных процессоров — производительность
СУБД растет практически линейно с увеличением количества ядер.
Есть возможность параллельного выполнения запросов:
PostgreSQL умеет распараллеливать чтение данных и соединения (в том числе и для секционированных таблиц),
выполнять в параллельном режиме ряд служебных команд
(создание индексов, очистку). JIT-компиляция запросов повышает возможности использования аппаратных средств
для ускорения операций. Каждая следующая версия PostgreSQL содержит множество новых оптимизаций.
Для горизонтального масштабирования PostgreSQL предоставляет возможности репликации, как физической, так
и логической. Это позволяет строить на базе PostgreSQL
кластеры для решения задач отказоустойчивости, высокой производительности, географической распределенности. Примерами таких систем могут служить Citus (Citusdata), Postgres-BDR (2ndQuadrant), Multimaster (Postgres
Professional), Patroni (Zalando).
Планировщик --">
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (38) »
Книги схожие с «Postgres. Первое знакомство» по жанру, серии, автору или названию:
Игорь Викторович Левшин, Павел Вениаминович Лузанов, Егор Валерьевич Рогов - PostgreSQL. Первое знакомство |