PostgreSQL изнутри
Book information
Description
В книге рассматривается внутреннее устройство СУБД PostgreSQL: детали реализации многоверсионности и изоляции на основе снимков данных, включая процедуру очистки неактуальных версий строк; буферный кеш и журнал предзаписи; использование блокировок различных уровней; планирование и выполнение SQL-запросов; принципы расширяемости и особенности имеющихся индексных методов доступа. Большое внимание уделяется возможностям, предоставляемым для самостоятельного изучения механизмов функционирования PostgreSQL. Сайт книги: https://postgrespro.ru/education/books/internals Для администраторов и программистов. О книге Глава 1. Введение Организация данных Базы данных Системный каталог Схемы Табличные пространства Отношения Слои и файлы Страницы TOAST Процессы и память Клиенты и клиент-серверный протокол Часть I. Изоляция и многоверсионность Глава 2. Изоляция Согласованность Уровни изоляции и аномалии в стандарте SQL Потерянное обновление Грязное чтение и Read Uncommitted Неповторяющееся чтение и Read Committed Фантомное чтение и Repeatable Read Отсутствие аномалий и Serializable Почему именно эти аномалии? Уровни изоляции в PostgreSQL Read Committed Repeatable Read Serializable Какой уровень изоляции использовать? Глава 3. Страницы и версии строк Структура страниц Заголовок страницы Специальная область Версии строк Указатели на версии строк Свободное место Структура версий строк Выполнение операций над версиями строк Вставка Фиксация Удаление Отмена Обновление Индексы TOAST Виртуальные транзакции Вложенные транзакции Точки сохранения Ошибки и атомарность операций Глава 4. Снимки данных Что такое снимок данных Видимость версий строк в снимке Из чего состоит снимок Видимость собственных изменений Горизонт транзакции Снимок данных для системного каталога Экспорт снимка данных Глава 5. Внутристраничная очистка и hot-обновления Внутристраничная очистка Hot-обновления Внутристраничная очистка при hot-обновлениях Разрыв hot-цепочки Внутристраничная очистка индексов Глава 6. Очистка и автоочистка Очистка вручную Еще раз о горизонте базы данных Этапы выполнения очистки Сканирование таблицы Очистка индексов Очистка таблицы Усечение таблицы Анализ Автоматическая очистка и анализ Устройство автоочистки Какие таблицы требуют очистки Какие таблицы требуют анализа Автоочистка в действии Регулирование нагрузки Управление интенсивностью обычной очистки Управление интенсивностью автоочистки Мониторинг очистки Отслеживание выполнения ручной очистки Отслеживание выполнения автоочистки Глава 7. Заморозка Переполнение счетчика транзакций Заморозка версий и правила видимости Управление заморозкой Минимальный возраст для заморозки Возраст для «агрессивной» заморозки Возраст для аварийного срабатывания автоочистки Возраст для приоритетного режима заморозки Заморозка вручную Очистка с заморозкой Заморозка при загрузке Глава 8. Перестроение таблиц и индексов Полная очистка Необходимость Оценка плотности информации Заморозка Другие способы перестроения Аналоги полной очистки Перестроение без долгих блокировок Профилактика Читающие запросы Обновление данных Часть II. Буферный кеш и журнал Глава 9. Буферный кеш Кеширование Устройство буферного кеша Попадание в кеш Промах кеша Поиск буфера и вытеснение Массовое вытеснение Настройка размера Прогрев кеша Локальный кеш Глава 10. Журнал предзаписи Журналирование Устройство журнала Логическая структура Физическая структура Контрольная точка Восстановление Фоновая запись Настройка Настройка контрольной точки Настройка фоновой записи Мониторинг Глава 11. Режимы журнала Производительность Надежность Кеширование Повреждение данных Неатомарность записи Уровни журнала Minimal Replica Logical Часть III. Блокировки Глава 12. Блокировки отношений Общие сведения о блокировках Тяжелые блокировки Блокировки номеров транзакций Блокировки отношений Очередь ожидания Глава 13. Блокировки строк Устройство Режимы блокировки строки Исключительные режимы Разделяемые режимы Мультитранзакции Очередь ожидания Исключительные режимы Разделяемые режимы Блокировка без ожидания Взаимоблокировки Взаимоблокировка при обновлении строк Взаимоблокировка двух команд UPDATE Глава 14. Блокировки разных объектов Блокировки не-отношений Блокировки расширения отношения Блокировки страниц Рекомендательные блокировки Предикатные блокировки Глава 15. Блокировки в памяти Спин-блокировки Легкие блокировки Примеры Буферный кеш Буферы журнала предзаписи Мониторинг ожиданий Семплирование Часть IV. Выполнение запросов Глава 16. Этапы выполнения запросов Демонстрационная база данных Протокол простых запросов Разбор Трансформация Планирование Исполнение Протокол расширенных запросов Подготовка Привязка параметров Планирование и исполнение Получение результатов Глава 17. Статистика Базовая статистика Неопределенные значения Уникальные значения Наиболее частые значения Гистограмма Статистика для нескалярных типов данных Средний размер поля Корреляция Статистика по выражению Расширенная статистика по выражению Статистика для индекса по выражению Многовариантная статистика Функциональные зависимости между столбцами Многовариантное число различных значений Многовариантные списки частых значений Глава 18. Табличные методы доступа Подключаемые движки хранения Последовательное сканирование Оценка стоимости Параллельные планы выполнения Параллельное последовательное сканирование Оценка стоимости Ограничения параллельного выполнения Количество рабочих процессов Нераспараллеливаемые запросы Ограниченно распараллеливаемые запросы Глава 19. Индексные методы доступа Индексы и расширяемость Классы и семейства операторов Класс операторов Семейство операторов Интерфейс механизма индексирования Свойства метода доступа Свойства индекса Свойства столбцов Глава 20. Индексное сканирование Простое индексное сканирование Оценка стоимости Хороший случай: высокая корреляция Плохой случай: низкая корреляция Сканирование только индекса Include-индексы Сканирование по битовой карте Точность карты Действия с битовыми картами Оценка стоимости Параллельные версии индексного сканирования Сравнение методов доступа Глава 21. Вложенный цикл Виды и способы соединений Соединение вложенным циклом Декартово произведение Параметризованное соединение Кеширование (мемоизация) строк Внешние соединения Анти- и полусоединения Не эквисоединения Параллельный режим Глава 22. Хеширование Соединение хешированием Однопроходное соединение хешированием Двухпроходное соединение хешированием Динамические корректировки плана Соединение хешированием в параллельных планах Параллельное однопроходное хеш-соединение Параллельное двухпроходное хеш-соединение Модификации Группировка и уникальные значения Глава 23. Сортировка и слияние Соединение слиянием Слияние отсортированных наборов Параллельный режим Модификации Сортировка Быстрая сортировка Частичная пирамидальная сортировка Внешняя сортировка Инкрементальная сортировка Параллельный режим Группировка и уникальные значения Сравнение способов соединения Часть V. Типы индексов Глава 24. Хеш-индекс Общий принцип Страничная организация Класс операторов Свойства Свойства метода доступа Свойства индекса Свойства столбцов Глава 25. B-дерево Общий принцип Поиск и вставка Поиск по равенству Поиск по неравенству Поиск по диапазону Вставка Страничная организация Компактное хранение дубликатов Компактное хранение внутренних индексных записей Класс операторов Семантика сравнения Сортировка и составные индексы Свойства Свойства метода доступа Свойства индекса Свойства столбцов Глава 26. Индекс GiST Общий принцип R-дерево для точек Страничная организация Класс операторов Поиск вхождения в область Поиск ближайших соседей Вставка Ограничение исключения Свойства RD-дерево для полнотекстового поиска Про полнотекстовый поиск Индексация tsvector Свойства Другие типы данных Глава 27. Индекс SP-GiST Общий принцип Дерево квадрантов для точек Класс операторов Страничная организация Поиск Вставка Свойства K-мерные деревья для точек Префиксное дерево для строк Класс операторов Поиск Вставка Свойства Другие типы данных Глава 28. Индекс GIN Общий принцип Индекс для полнотекстового поиска Страничная организация Класс операторов Поиск Частые и редкие лексемы Вставка Ограничение выборки Свойства Ограничения GIN и RUM-индекс Индекс для триграмм Индекс для массивов Индекс для JSON Класс операторов jsonb_ops Класс операторов jsonb_path_ops Другие типы данных Глава 29. Индекс BRIN Общий принцип Пример Страничная организация Поиск Обновление сводной информации Вставка значений Обобщение зоны Диапазоны значений (minmax) Выбор столбцов для индексирования Размер зоны и эффективность поиска Свойства Мультидиапазоны значений (minmax-multi) Охватывающие значения (inclusion) Фильтры Блума (bloom) Заключение Предметный указатель
Similar books
PostgreSQL 16 изнутри
2024 · PDF
PostgreSQL 15 изнутри
2023 · PDF
PostgreSQL 15 изнутри.
2023 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF
Трешниковские чтения - 2023. Современная географическая картина мира и технологии географического образования =: Treshnikov readings - 2023. Modern geographical global picture and technology of geographic education : материалы Всероссийской научно-практической конференции с международным участием, посвящённой памяти знаменитого российского океанолога, исследователя Арктики и Антарктики, академика Алексея Фёдоровича Трёшникова и 60-летию Ульяновского областного отделения Всероссийской общественной организации "Русское гаографическое общество" (13 апреля 2023)
2023 · PDF