PostgreSQL 16 изнутри
Рогов Е. В.
PostgreSQL 16 изнутри. — М.: ДМК Пресс, 2024. — 664 с.
ISBN 978-5-93700-305-8
Эта книга для тех, кого не устраивает работа с базой данных как с черным ящиком. Если вы любознательны, не довольствуетесь авторитетными советами и хотите во всем разобраться сами — нам по пути.
Я ориентируюсь на читателей, имеющих некоторый опыт использования PostgreSQL и хотя бы в общих чертах представляющих себе, что к чему. Надеюсь, что книга будет полезной и тем, кто хорошо знаком с устройством другой СУБД, но переходит на PostgreSQL и хочет разобраться в отличиях.
Здесь вы не найдете готовых рецептов. Ведь на все случаи жизни их все равно не хватит, а понимание внутренней механики позволяет критически переосмысливать чужой опыт и делать собственные выводы. Именно поэтому я объясняю, как что устроено, возможно даже более подробно, чем на первый взгляд может показаться практичным.
Большая часть сведений будет актуальна еще довольно долго, но отдельные детали устаревают с неумолимой быстротой — отсюда и номер версии на обложке. Обдумывайте, экспериментируйте, проверяйте. В PostgreSQL для этого есть все инструменты, и я старался показать, как ими пользоваться.
В настоящем издании учтены замечания читателей и исправлены опечатки, а также отражены изменения, произошедшие в версии PostgreSQL 16.
На этом снимке Олега Бартунова я запечатлен в глубокой задумчивости. Это обычное состояние, когда пытаешься разобраться в том, как оно все-таки устроено.
Я работаю в Postgres Professional с 2015 года и занимаюсь образовательными проектами. До этого довольно долго работал в консалтинге: занимался разработкой и поддержкой приложений, руководил разработчиками. Так или иначе моя деятельность всегда была связана с базами данных.
Скачать книгу в формате PDF.
Оглавление книги:
- Введение
- Часть I. Изоляция и многоверсионность
- Изоляция
- Страницы и версии строк
- Снимки данных
- Внутристраничная очистка и hot-обновления
- Очистка и автоочистка
- Заморозка
- Перестроение таблиц и индексов
- Часть II. Буферный кеш и журнал
- Буферный кеш
- Журнал предзаписи
- Режимы журнала
- Часть III. Блокировки
- Блокировки отношений
- Блокировки строк
- Блокировки разных объектов
- Блокировки в памяти
- Часть IV. Выполнение запросов
- Этапы выполнения запросов
- Статистика
- Табличные методы доступа
- Индексные методы доступа
- Индексное сканирование
- Вложенный цикл
- Хеширование
- Сортировка и слияние
- Часть V. Типы индексов
- Хеш-индекс
- B-дерево
- Индекс GiST
- Индекс SP-GiST
- Индекс GIN
- Индекс BRIN