Почитать PostgreSQL 11. Мастерство разработки (2019)
Доброго времени суток, многоуважаемые читатели и начинающие компьютерные инженеры. В данный раз я бы хотел представить вашему вниманию, очередную книгу, которая заслуживает вашего внимания, и называется она "PostgreSQL 11. Мастерство разработки". Лично для меня, как человека не имеющего большого опыта с базами данных, данное издание является хорошим подспорьем, это изменить. Я всегда стараюсь себя прокачивать по разным направлениям и давно убежден, что современный системный администратор просто не может быть конкурентным на рынке если он узко заточен, уж таковы реалии России.
- Автор: Ганс-Юрген Шениг
- Жанр: Базы данных
- Формат: PDF
- Размер: 2,26 МБ
Описание книги PostgreSQL 11. Мастерство разработки (2019)
Прочитав эту книгу, вы научитесь создавать динамичные корпоративные приложения на основе последней версии СУБД PostgreSQL, которая позволяет аналитикам без труда проектировать физические и технические аспекты системной архитектуры. Приводится введение в новые функциональные возможности PostgreSQL, благодаря которым можно разрабатывать эффективные и отказоустойчивые приложения. Подробно описывается передовые средства PostgreSQL, включая логическую репликацию, кластеры баз данных, оптимизацию производительности, мониторинг и управление пользователями.
Не оставлен без внимания оптимизатор запросов PostgreSQL, конфигурирование СУБД для достижения высокого быстродействия и переход с Oracle на PostgreSQL. Рассматриваются транзакции, блокировка, индексирование и оптимизация запросов. Кроме того, описана настройка сетевой безопасности, организация резервного копирования и репликации. В конце книги приведены сведения о полезных расширениях PostgreSQL.
Содержание книги PostgreSQL 11. Мастерство разработки (2019)
- Глава 1. Обзор PostgreSQL
- Что нового в PostgreSQL 11.0?
- Новые средства администрирования базы данных
- Усовершенствования в индексировании и оптимизации
- Улучшенное управление кешем
- Улучшенные оконные функции
- Добавление JIT-компиляции
- Улучшенное секционирование
- Поддержка хранимых процедур
- Улучшение команды ALTER TABLE
- Глава 2. Транзакции и блокировка
- Работа с транзакциями в PostgreSQL
- Обработка ошибок внутри транзакции
- Использование команды SAVEPOINT
- Транзакционные DDL-команды
- Основы блокировки
- Предотвращение типичных ошибок и явная блокировка
- Использование фраз FOR SHARE и FOR UPDATE
- Уровни изоляции транзакций
- SSI-транзакции
- Взаимоблокировки и смежные вопросы
- Рекомендательные блокировки
- Оптимизация хранилища и управление очисткой
- Настройка VACUUM и autovacuum
- Наблюдение за работой VACUUM
- Ограничение длительности транзакций с помощью времени жизни снимка
Глава 3. Использование индексов - Простые запросы и стоимостная модель
- Использование команды EXPLAIN6
- Стоимостная модель PostgreSQL
- Развертывание простых индексов
- Сортировка результатов
- Эффективное использование просмотра по битовой карте
- Разумное использование индексов
- Повышение быстродействия с помощью кластеризованных таблиц.
- Кластеризация таблиц
- Просмотр только индекса
- Дополнительные свойства B-деревьев
- Комбинированные индексы
- Добавление функциональных индексов
- Уменьшение занятого места на диске
- Добавление данных во время индексирования
- Введение в классы операторов
- Создание класса операторов для B-дерева
- Типы индексов в PostgreSQL
- Хеш-индексы
- GiST-индексы
- GIN-индексы
- SP-GiST-индексы
- BRIN-индексы
- Добавление новых типов индексов
- Получение более точных ответов с помощью нечеткого поиска
- Расширение pg_trgm и его достоинства
- Ускорение запросов с предикатом LIKE
- Регулярные выражения
- Полнотекстовый поиск
- Сравнение строк
- Определение GIN-индексов
- Отладка поиска.
- Сбор статистики по словам
- О пользе операторов исключения
Глава 4. Передовые средства SQL - Введение в наборы группирования
- Загрузка тестовых данных
- Применение наборов группирования
- Сочетание наборов группирования с фразой FILTER
- Использование упорядоченных наборов
- Гипотетические агрегаты
- Оконные функции и аналитические средства
- Разбиение данных
- Упорядочение данных внутри окна
- Скользящие окна
- Абстрагирование окон
- Использование встроенных оконных функций
- Создание собственных агрегатов
- Создание простых агрегатов
- Добавление поддержки параллельных запросов
- Повышение эффективности
- Написание гипотетических агрегатов
- Глава 5. Журналы и статистика системы
- Сбор статистических данных о работе системы
- Системные представления в PostgreSQL
- Создание файлов журналов
- Конфигурационный файл postgresql.conf
- Глава 6. Оптимизация запросов для достижения
- максимальной производительности
- Что делает оптимизатор
- Оптимизация на примере
- Разбираемся в планах выполнения
- Систематический подход к планам выполнения
- Выявление проблем
- Соединения: осмысление и исправление
- Как соединять правильно
- Обработка внешних соединений
- Параметр join_collapse_limit
- Включение и выключение режимов оптимизатора
- Генетическая оптимизация запросов
- Секционирование данных
- Создание секций
- Применение табличных ограничений
- Модификация наследуемой структуры
- Перемещение таблицы в наследуемую структуру и из нее.
- Очистка данных
- Секционирование в PostgreSQL 11.0
- Настройка параметров для повышения производительности запросов
- Ускорение сортировки
- Ускорение административных задач
- Распараллеливание запросов
- Что PostgreSQL умеет делать параллельно?
- Распараллеливание на практике
- Введение в JIT-компиляцию
- Настройка JIT
- Выполнение запросов
- Глава 7. Написание хранимых процедур
- Языки хранимых процедур
- Фундаментальные основы – хранимые процедуры и функции
- Анатомия функции
- Языки хранимых процедур
- Введение в PL/pgSQL
- Создание хранимых процедур на PL/pgSQL
- Введение в PL/Perl
- Введение в PL/Python
- Улучшение функций
- Уменьшение числа вызовов функций
- Глава 8. Безопасность в PostgreSQL
- Управление сетевой безопасностью
- Подключения и адреса привязки
- Файл pg_hba.conf
- Безопасность на уровне экземпляра
- Задание безопасности на уровне базы данных
- Задание прав на уровне схемы
- Работа с таблицами
- Задание прав на уровне столбцов
- Задание привилегий по умолчанию
- Безопасность на уровне строк
- Просмотр прав
- Передача объектов и удаление пользователей
Глава 9. Резервное копирование и восстановление - Простая выгрузка
- Запуск pg_dump
- Задание пароля и информации о подключении
- Извлечение подмножества данных
- Форматы резервной копии
- Восстановление из резервной копии
- Сохранение глобальных данных
- Глава 10. Резервное копирование и репликация
- Что такое журнал транзакций
- Знакомство с журналом транзакций
- Контрольные точки
- Оптимизация журнала транзакций
- Архивация и восстановление журнала транзакций
- Настройка архивации
- Конфигурирование файла pg_hba.conf
- Создание базовой резервной копии
- Воспроизведение журнала транзакций
- Очистка архива журналов транзакций
- Настройка асинхронной репликации
- Базовая настройка
- Остановка и возобновление репликации
- Проверка состояния репликации для обеспечения доступности
- Отработка отказов и линии времени
- Управление конфликтами
- Повышение надежности репликации
- Переход на синхронную репликацию
- Настройка долговечности
- Слоты репликации
Работа с физическими слотами репликации - Работа с логическими слотами репликации
- Использование команд CREATE PUBLICATION и CREATE SUBSCRIPTION
Глава 11. Полезные расширения - Как работают расширения
- Проверка доступных расширений
- Использование модулей из подборки contrib
- Модуль adminpack
- Применение фильтра Блума
- Установка btree_gist и btree_gin
- Dblink – пора расстаться
- Доступ к файлам с помощью file_fdw
- Анализ хранилища с помощью pageinspect
- Анализ кеша с помощью pg_buffercache
- Шифрование данных с помощью pgcrypto
- Прогрев кеша с помощью pg_prewarm
- Анализ производительности с помощью pg_stat_statements
- Анализ хранилища с помощью pgstattuple
- Нечеткий поиск с помощью pg_trgm
- Подключение к удаленному серверу с помощью postgres_fdw
- Другие полезные расширения
- Глава 12. Поиск и устранение неполадок
- Первоначальное изучение незнакомой базы данных
- Анализ результатов pg_stat_activity
- Опрос pg_stat_activity
- Выявление медленных запросов
- Анализ отдельных запросов
- Углубленный анализ с помощью perf
- Анализ журнала
- Анализ наличия индексов
- Анализ памяти и ввода-вывода
- О конкретных ошибочных ситуациях
- Повреждение clog
- Что означают сообщения о контрольной точке
- Что делать с поврежденными страницами данных
- Беззаботное управление подключениями
- Борьба с разбуханием таблиц
Глава 13. Переход на PostgreSQL - Перенос команд SQL в PostgreSQL.
- Латеральные соединения
- Наборы группирования
- Фраза WITH – общие табличные выражения
- Фраза WITH RECURSIVE
- Фраза FILTER
- Оконные функции
- Упорядоченные наборы – фраза WITHIN GROUP
- Фраза TABLESAMPLE
- Ограничение выборки и смещение
- Фраза OFFSET1
- Темпоральные таблицы
- Сопоставление с образцом во временных рядах
- Переход с Oracle на PostgreSQL
- Использование расширения oracle_fdw для переноса данных
- Использование ora2pg для перехода с Oracle
- Распространенные подводные камни
- ora_migrator – быстрая миграция Oracle в PostgreSQL
- Переход из MySQL или MariaDB на PostgreSQL
- Обработка данных в MySQL и MariaDB
- Перенос данных и схемы