Архитектура# Оглавление Устройство сервера Клиент-серверный протокол Транзакции ACID Практика: Запросы Простое выполнение запросов Разбор Трансформация Планирование Выполнение Расширенный режим выполнения запросов Практика: Курсоры Процессы и память Пулы соединений Хранение данных Изоляция и многоверсионность Изоляция Введение Многоверсионность Снимки данных Практика: Изоляция Read Committed Repeatable Read Уровень изоляции Serializable Итоговая таблица Самостоятельно: Строки. Версии строк Структура страницы Практика: Структура версий строк Операции над версиями строк Удаление строки Отмена изменений Обновление Точки сохранения и вложенные транзакции Дополнительно: Самостоятельно Снимки данных Видимость строк Пример: Горизонт событий Экспорт снимка Самостоятельно: HOT-обновления и самоочистка HOT обновление Практика: Очистка при HOT обновлениях Разрыв HOT-цепочки Внутристраничная очистка при обычных обновлениях Самостоятельно: Очистка Обычная очистка Пример: Мониторинг Регулирование нагрузки Параллельная очистка Анализ Пример: Полная очистка Пример: Аналоги Самостоятельно: Автоочистка (autovacuum) Autovacuum launcher Регулирование нагрузки Заморозка Настройка заморозки vacuum_freeze_min_age vacuum_freeze_table_age autovacuum_freeze_max_age vacuum_failsafe_age Практика: Ручная заморозка Практика: Журналирование Буферный кэш Обнаружение страницы страницы в кэше Практика: Чтение страницы с диска В свободный буфер Чтение с вытеснением Настройка размера Массовое вытеснение Временные таблицы Практика: Прогрев кэша Практика: Практика: Журнал предзаписи (write-ahead log) Защита данных Логическое предствление Практика Физическое устройство Практика Механизм упреждающей записи Практика Восстановление Практика Контрольные точки Процесс Практика Восстановление Практика Настройка Практика: Фоновая запись Мониторинг Практика: Практика Настройка журнала Уровни журнала Практика: Надежность записи Кеширование Повреждение данных Неатомарность записи Производительность Синхронный режим Асинхронная запись Практика Дополнительно Практика Блокировки Блокировки объектов Блокировки и ресурсы Факторы эффекивности Виды блокировок Блокировки объектов Блокировки отношений Очередь ожидания Мониторинг Блокировки других типов Advisory Locks Предикатные блокировки Практика Блокировки строк Режимы блокировки строки Исключительные режимы Разделяемые режимы Очередь ожидания Исключительные режимы Разделяемый режим Блокировка без ожидания Взаимоблокировки Практика Блокировки в оперативной памяти Спин-блокировки Легкие блокировки Закрепление буфера (buffer pin) Примеры использования блокировок Мониторинг ожиданий Семплирование