
PDF версия книги выложена на сайт internet-lab.ru с разрешения postgrespro.ru.
Новинка этого года. Бесплатная электронная книга.
В книге PostgreSQL 15 изнутри детально рассматривается устройство СУБД PostgreSQL. Эта книга для администраторов и разработчиков, которые предпочитают понимание внутренней механики готовым рецептам. Книга будет полезной и тем, кто хорошо знаком с устройством другой СУБД, но переходит на PostgreSQL и хочет разобраться в отличиях.
В книге рассматривается внутреннее устройство СУБД PostgreSQL: детали реализации многоверсионности и изоляции на основе снимков данных, включая процедуру очистки неактуальных версий строк; буферный кеш и журнал предзаписи; использование блокировок различных уровней; планирование и выполнение SQL-запросов; принципы расширяемости и особенности имеющихся индексных методов доступа. Большое внимание уделяется возможностям, предоставляемым для самостоятельного изучения механизмов функционирования PostgreSQL.
В новом издании учтены замечания читателей и исправлены опечатки, а также внесены изменения, произошедшие в версии PostgreSQL 15.
Сайт книги: https://postgrespro.ru/education/books/internals.
Для администраторов и программистов.
Автор Егор Рогов работает в Postgres Professional с 2015 года и занимается образовательными проектами.
От автора
Эта книга для тех, кого не устраивает работа с базой данных как с черным ящиком. Если вы любознательны, не довольствуетесь авторитетными советами и хотите во всем разобраться сами — нам по пути.
Я ориентируюсь на читателей, имеющих некоторый опыт использования PostgreSQL и хотя бы в общих чертах представляющих себе, что к чему. Надеюсь, что книга будет полезной и тем, кто хорошо знаком с устройством другой СУБД, но переходит на PostgreSQL и хочет разобраться в отличиях.
Здесь вы не найдете готовых рецептов. Ведь на все случаи жизни их все равно не хватит, а понимание внутренней механики позволяет критически переосмысливать чужой опыт и делать собственные выводы. Именно поэтому я объясняю, как что устроено, возможно даже более подробно, чем на первый взгляд может показаться практичным.
Большая часть сведений будет актуальна еще довольно долго, но отдельные детали устаревают с неумолимой быстротой — отсюда и номер версии на обложке. Обдумывайте, экспериментируйте, проверяйте. В PostgreSQL для этого есть все инструменты, и я старался показать, как ими пользоваться.
Содержание
-
- Введение
- Часть I. Изоляция и многоверсионность
- Изоляция
- Страницы и версии строк
- Снимки данных
- Внутристраничная очистка и hot-обновления
- Очистка и автоочистка
- Заморозка
- Перестроение таблиц и индексов
- Часть II. Буферный кеш и журнал
- Буферный кеш
- Журнал предзаписи
- Режимы журнала
- Часть III. Блокировки
- Блокировки отношений
- Блокировки строк
- Блокировки разных объектов
- Блокировки в памяти
- Часть IV. Выполнение запросов
- Этапы выполнения запросов
- Статистика
- Табличные методы доступа
- Индексные методы доступа
- Индексное сканирование
- Вложенный цикл
- Хеширование
- Сортировка и слияние
- Часть V. Типы индексов
- Хеш-индекс
- B-дерево
- Индекс GiST
- Индекс SP-GiST
- Индекс GIN
- Индекс BRIN