LibCoder

PostgreSQL 16 изнутри

1C Agda DataBase (SQL)
PostgreSQL 16 изнутри
Дата выхода: 2024
Издательство: ДМК Пресс
Количество страниц: 665
Размер файла: 6,5 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
О книге....18 Глава 1. Введение....24 Организация данных....24 Базы данных....24 Системный каталог....25 Схемы....26 Табличные пространства....27 Отношения....28 Слои и файлы....29 Страницы....34 TOAST....34 Процессы и память....40 Клиенты и клиент-серверный протокол....42 Часть I. Изоляция и многоверсионность....46 Глава 2. Изоляция....48 Согласованность....48 Уровни изоляции и аномалии в стандарте SQL....50 Потерянное обновление....51 Грязное чтение и Read Uncommitted....51 Неповторяющееся чтение и Read Committed....52 Фантомное чтение и Repeatable Read....52 Отсутствие аномалий и Serializable....53 Почему именно эти аномалии?....53 Уровни изоляции в PostgreSQL....55 Read Committed....56 Repeatable Read....64 Serializable....71 Какой уровень изоляции использовать?....74 Глава 3. Страницы и версии строк....76 Структура страниц....76 Заголовок страницы....76 Специальная область....77 Версии строк....77 Указатели на версии строк....78 Свободное место....79 Структура версий строк....79 Выполнение операций над версиями строк....81 Вставка....82 Фиксация....86 Удаление....88 Отмена....89 Обновление....89 Индексы....90 TOAST....91 Виртуальные транзакции....92 Вложенные транзакции....93 Точки сохранения....93 Ошибки и атомарность операций....95 Глава 4. Снимки данных....98 Что такое снимок данных....98 Видимость версий строк в снимке....99 Из чего состоит снимок....100 Видимость собственных изменений....105 Горизонт транзакции....106 Снимок данных для системного каталога....109 Экспорт снимка данных....110 Глава 5. Внутристраничная очистка и hot-обновления....112 Внутристраничная очистка....112 Hot-обновления....116 Внутристраничная очистка при hot-обновлениях....120 Разрыв hot-цепочки....122 Внутристраничная очистка индексов....124 Глава 6. Очистка и автоочистка....126 Очистка вручную....126 Еще раз о горизонте базы данных....129 Этапы выполнения очистки....132 Сканирование таблицы....132 Очистка индексов....132 Очистка таблицы....134 Усечение таблицы....134 Анализ....135 Автоматическая очистка и анализ....135 Устройство автоочистки....136 Какие таблицы требуют очистки....137 Какие таблицы требуют анализа....139 Автоочистка в действии....140 Регулирование нагрузки....144 Управление интенсивностью обычной очистки....145 Управление интенсивностью автоочистки....145 Мониторинг очистки....146 Отслеживание выполнения ручной очистки....147 Отслеживание выполнения автоочистки....149 Глава 7. Заморозка....151 Переполнение счетчика транзакций....151 Заморозка версий и правила видимости....152 Управление заморозкой....155 Минимальный возраст для заморозки....156 Возраст для агрессивной заморозки....158 Возраст для аварийного срабатывания автоочистки....160 Возраст для приоритетного режима заморозки....162 Заморозка вручную....163 Очистка с заморозкой....163 Заморозка при загрузке....163 Глава 8. Перестроение таблиц и индексов....166 Полная очистка....166 Необходимость....166 Оценка плотности информации....167 Заморозка....171 Другие способы перестроения....172 Аналоги полной очистки....172 Перестроение без долгих блокировок....173 Профилактика....174 Читающие запросы....174 Обновление данных....174 Часть II. Буферный кеш и журнал....178 Глава 9. Буферный кеш....180 Кеширование....180 Устройство буферного кеша....181 Попадание в кеш....183 Промах кеша....188 Поиск буфера и вытеснение....189 Массовое вытеснение....191 Настройка размера....195 Прогрев кеша....198 Локальный кеш....200 Глава 10. Журнал предзаписи....202 Журналирование....202 Устройство журнала....204 Логическая структура....204 Физическая структура....207 Контрольная точка....209 Восстановление....214 Фоновая запись....217 Настройка....218 Настройка контрольной точки....218 Настройка фоновой записи....221 Мониторинг....222 Глава 11. Режимы журнала....225 Производительность....225 Надежность....229 Кеширование....230 Повреждение данных....231 Неатомарность записи....233 Уровни журнала....237 Minimal....238 Replica....240 Logical....242 Часть III. Блокировки....244 Глава 12. Блокировки отношений....246 Общие сведения о блокировках....246 Тяжелые блокировки....249 Блокировки номеров транзакций....251 Блокировки отношений....252 Очередь ожидания....255 Глава 13. Блокировки строк....259 Устройство....259 Режимы блокировки строки....260 Исключительные режимы....260 Разделяемые режимы....262 Мультитранзакции....263 Очередь ожидания....265 Исключительные режимы....265 Разделяемые режимы....272 Блокировка без ожидания....275 Взаимоблокировки....277 Взаимоблокировка при обновлении строк....279 Взаимоблокировка двух команд UPDATE....280 Глава 14. Блокировки разных объектов....284 Блокировки неотношений....284 Блокировки расширения отношения....286 Блокировки страниц....287 Рекомендательные блокировки....287 Предикатные блокировки....289 Глава 15. Блокировки в памяти....296 Спин-блокировки....296 Легкие блокировки....297 Примеры....297 Буферный кеш....297 Буферы журнала предзаписи....299 Мониторинг ожиданий....300 Семплирование....302 Часть IV. Выполнение запросов....306 Глава 16. Этапы выполнения запросов....308 Демонстрационная база данных....308 Простой протокол запросов....311 Разбор....311 Трансформация....313 Планирование....315 Исполнение....324 Расширенный протокол запросов....326 Подготовка....326 Привязка параметров....327 Планирование и исполнение....328 Получение результатов....331 Глава 17. Статистика....332 Базовая статистика....332 Неопределенные значения....336 Уникальные значения....337 Наиболее частые значения....339 Гистограмма....342 Статистика для нескалярных типов данных....346 Средний размер поля....347 Корреляция....347 Статистика по выражению....348 Расширенная статистика по выражению....349 Статистика для индекса по выражению....350 Многовариантная статистика....351 Функциональные зависимости между столбцами....351 Многовариантное число различных значений....353 Многовариантные списки частых значений....355 Глава 18. Табличные методы доступа....357 Подключаемые движки хранения....357 Последовательное сканирование....360 Оценка стоимости....361 Параллельные планы выполнения....365 Параллельное последовательное сканирование....366 Оценка стоимости....366 Ограничения параллельного выполнения....370 Количество рабочих процессов....370 Нераспараллеливаемые запросы....374 Ограниченно распараллеливаемые запросы....375 Глава 19. Индексные методы доступа....380 Индексы и расширяемость....380 Классы и семейства операторов....383 Класс операторов....383 Семейство операторов....388 Интерфейс механизма индексирования....390 Свойства метода доступа....391 Свойства индекса....395 Свойства столбцов....396 Глава 20. Индексное сканирование....400 Простое индексное сканирование....400 Оценка стоимости....401 Хороший случай: высокая корреляция....402 Плохой случай: низкая корреляция....405 Сканирование только индекса....408 Include-индексы....411 Сканирование по битовой карте....413 Точность карты....414 Действия с битовыми картами....416 Оценка стоимости....417 Параллельные версии индексного сканирования....421 Сравнение методов доступа....423 Глава 21. Вложенный цикл....425 Виды и способы соединений....425 Соединение вложенным циклом....427 Декартово произведение....427 Параметризованное соединение....431 Кеширование (мемоизация) строк....435 Внешние соединения....439 Анти- и полусоединения....440 Неэквисоединения....442 Параллельный режим....443 Глава 22. Хеширование....445 Соединение хешированием....445 Однопроходное соединение хешированием....445 Двухпроходное соединение хешированием....451 Динамические корректировки плана....454 Соединение хешированием в параллельных планах....458 Параллельное однопроходное хеш-соединение....459 Параллельное двухпроходное хеш-соединение....461 Модификации....464 Группировка и уникальные значения....466 Глава 23. Сортировка и слияние....470 Соединение слиянием....470 Слияние отсортированных наборов....470 Параллельный режим....474 Модификации....475 Сортировка....476 Быстрая сортировка....478 Частичная пирамидальная сортировка....479 Внешняя сортировка....481 Инкрементальная сортировка....485 Параллельный режим....487 Группировка и уникальные значения....489 Сравнение способов соединения....492 Часть V. Типы индексов....496 Глава 24. Хеш-индекс....498 Общий принцип....498 Страничная организация....499 Класс операторов....506 Свойства....507 Свойства метода доступа....507 Свойства индекса....508 Свойства столбцов....509 Глава 25. B-дерево....510 Общий принцип....510 Поиск и вставка....511 Поиск по равенству....511 Поиск по неравенству....513 Поиск по диапазону....514 Вставка....514 Страничная организация....516 Компактное хранение дубликатов....520 Компактное хранение внутренних индексных записей....522 Класс операторов....523 Семантика сравнения....523 Сортировка и составные индексы....529 Свойства....534 Свойства метода доступа....534 Свойства индекса....535 Свойства столбцов....535 Глава 26. Индекс GiST....537 Общий принцип....537 R-дерево для точек....539 Страничная организация....542 Класс операторов....543 Поиск вхождения в область....545 Поиск ближайших соседей....547 Вставка....552 Ограничение исключения....553 Свойства....556 RD-дерево для полнотекстового поиска....559 Про полнотекстовый поиск....559 Индексация tsvector....560 Свойства....568 Другие типы данных....568 Глава 27. Индекс SP-GiST....571 Общий принцип....571 Дерево квадрантов для точек....573 Класс операторов....574 Страничная организация....578 Поиск....579 Вставка....580 Свойства....583 K-мерные деревья для точек....585 Префиксное дерево для строк....587 Класс операторов....588 Поиск....589 Вставка....590 Свойства....592 Другие типы данных....593 Глава 28. Индекс GIN....595 Общий принцип....595 Индекс для полнотекстового поиска....596 Страничная организация....598 Класс операторов....600 Поиск....602 Частые и редкие лексемы....603 Вставка....607 Ограничение выборки....609 Свойства....610 Ограничения GIN и RUM-индекс....612 Индекс для триграмм....613 Индекс для массивов....615 Индекс для JSON....619 Класс операторов jsonb_ops....619 Класс операторов jsonb_path_ops....622 Другие типы данных....624 Глава 29. Индекс BRIN....625 Общий принцип....625 Пример....626 Страничная организация....628 Поиск....630 Обновление сводной информации....631 Вставка значений....631 Обобщение зоны....632 Диапазоны значений (minmax)....633 Выбор столбцов для индексирования....634 Размер зоны и эффективность поиска....635 Свойства....639 Мультидиапазоны значений (minmax-multi)....642 Охватывающие значения (inclusion)....645 Фильтры Блума (bloom)....648 Заключение....653 Предметный указатель....654

Описание

Ниже — практический обзор по теме «postgresql».

Перед вами обновленное издание бестселлера "PostgreSQL изнутри".

Рассматривается внутреннее устройство СУБД PostgreSQL: детали реализации многоверсионности и изоляции на основе снимков данных, включая процедуру очистки неактуальных версий строк; буферный кеш и журнал предзаписи; использование блокировок различных уровней; планирование и выполнение SQL-запросов; принципы расширяемости и особенности имеющихся индексных методов доступа. Большое внимание уделяется возможностям, предоставляемым для самостоятельного изучения механизмов функционирования PostgreSQL.В новом издании учтены замечания читателей и исправлены опечатки, а также внесены изменения, произошедшие в версии PostgreSQL 16.

Книга предназначена администраторам и программистам, а также будет полезна всем разработчикам, которых не устраивает работа с базой данных как с "черным ящиком".

Если материал оказался полезен — сохраните страницу.

postgresql изнутри данных также перед вами обновленное издание

Частые вопросы

Можно ли скачать «PostgreSQL 16 изнутри» бесплатно?

Да, «PostgreSQL 16 изнутри» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 6,5 МБ.

Кто автор и когда вышла книга?

автор — Рогов Егор, издательство ДМК Пресс, год выпуска 2024, 665 страниц.

О чём книга «PostgreSQL 16 изнутри»?

Перед вами обновленное издание бестселлера "PostgreSQL изнутри".Рассматривается внутреннее устройство СУБД PostgreSQL: детали реализации многоверсионности и изоляции на основе снимков данных, включая процедуру очистки неактуальных версий ст

Похожие материалы