Оглавление
Предисловие...........................................................................................................................................13
Введение...................................................................................................................................................14
Почему мы написали эту книгу.................................................................................................15
Для кого эта книга..........................................................................................................................16
Структура издания.........................................................................................................................16
Условные обозначения.................................................................................................................19
От издательства.....................................................................................................................................20
Глава 1. Введение в обеспечение надежности базы данных..................................................21
Основные принципы DBRE.......................................................................................................22
Защита данных..........................................................................................................................22
Самообслуживание как фактор масштабирования.....................................................24
Избавление от рутины...........................................................................................................24
Базы данных — это не «особенные снежинки».............................................................25
Устранение барьеров между разработкой и эксплуатацией.....................................26
Обзор работы по сопровождению и эксплуатации.............................................................27
Иерархия потребностей...............................................................................................................28
Выживание и безопасность..................................................................................................28
Любовь и принадлежность...................................................................................................29
Уважение....................................................................................................................................30
Самоактуализация...................................................................................................................31
Резюме................................................................................................................................................32
Глава 2. Управление уровнем качества обслуживания...........................................................33
Зачем нужны целевые показатели качества обслуживания............................................33
Показатели уровня обслуживания...........................................................................................35
Задержка.....................................................................................................................................36
Доступность...............................................................................................................................36
Пропускная способность.......................................................................................................36
Надежность хранения............................................................................................................37
Стоимость — эффективность...............................................................................................37
Определение целей обслуживания..........................................................................................38
Показатели задержки.............................................................................................................38
Показатели доступности.......................................................................................................41
Показатели пропускной способности...............................................................................44
Мониторинг SLO и построение отчетов................................................................................46
Мониторинг доступности.....................................................................................................47
Мониторинг задержки..................................................................................................................49
Мониторинг пропускной способности.............................................................................50
Мониторинг стоимости и эффективности......................................................................50
Резюме................................................................................................................................................51
Глава 3. Управление рисками..........................................................................................................52
Факторы риска................................................................................................................................53
Неизвестные факторы и сложность..................................................................................53
Наличие ресурсов....................................................................................................................54
Человеческий фактор.............................................................................................................54
Групповые факторы................................................................................................................55
Что мы делаем..................................................................................................................................56
Чего не надо делать........................................................................................................................57
Рабочий процесс: запуск........................................................................................................57
Оценка риска для сервиса.....................................................................................................59
Ревизия архитектуры.............................................................................................................61
Расстановка приоритетов......................................................................................................62
Управление рисками и принятие решений....................................................................66
Постепенное совершенствование.............................................................................................69
Резюме................................................................................................................................................71
Глава 4. Оперативный контроль.....................................................................................................72
Новые правила оперативного контроля.................................................................................74
Относитесь к системам OpViz как к системам BI........................................................75
Тенденции в эфемерных распределенных средах........................................................75
Хранение ключевых показателей с высокой детализацией......................................77
Сохраняйте простоту архитектуры...................................................................................78
Структура OpViz............................................................................................................................79
Входные данные..............................................................................................................................80
Телеметрия/показатели........................................................................................................82
События......................................................................................................................................84
Журнал событий......................................................................................................................84
Выходные данные....................................................................................................................84
Первоначальный запуск мониторинга....................................................................................85
Безопасны ли данные?...........................................................................................................87
Работает ли сервис?................................................................................................................88
Испытывают ли клиенты трудности?...............................................................................89
Оснащение приложения..............................................................................................................90
Контроль выполнения в распределенных системах...........................................................91
События и журналы................................................................................................................92
Оснащение серверов и экземпляров баз данных.................................................................93
События и журналы................................................................................................................94
Оснащение хранилища данных.................................................................................................95
Уровень соединения с хранилищем данных..................................................................96
Контроль внутри базы данных............................................................................................99
Объекты базы данных..........................................................................................................104
Запросы к базе данных.........................................................................................................105
Проверки и события базы данных...................................................................................106
Резюме..............................................................................................................................................106
Глава 5. Инжиниринг инфраструктуры.....................................................................................107
Хосты................................................................................................................................................107
Физические серверы.............................................................................................................107
Работа на уровне системы и ядра.....................................................................................108
Сети хранения данных.........................................................................................................120
Преимущества физических серверов..............................................................................120
Недостатки физических серверов....................................................................................120
Виртуализация..............................................................................................................................120
Гипервизор...............................................................................................................................121
Параллелизм............................................................................................................................121
Хранилище...............................................................................................................................122
Примеры использования.....................................................................................................122
Контейнеры....................................................................................................................................123
База данных как сервис..............................................................................................................123
Проблемы DBaaS...................................................................................................................124
DBRE и DBaaS........................................................................................................................125
Резюме..............................................................................................................................................126
Глава 6. Управление инфраструктурой..................................................................................... 127
Контроль версий...........................................................................................................................128
Определение конфигурации.....................................................................................................129
Сборка из конфигурации...........................................................................................................131
Поддержка конфигурации........................................................................................................132
Применение определений конфигурации.....................................................................133
Определение и оркестрация инфраструктуры...................................................................134
Определение монолитной инфраструктуры................................................................135
Разделение по вертикали....................................................................................................135
Разделенные уровни (горизонтальные определения)..............................................137
Приемочное тестирование и согласованность...................................................................137
Каталог сервисов..........................................................................................................................138
Собираем все вместе....................................................................................................................139
Среды разработки.........................................................................................................................140
Резюме..............................................................................................................................................141
Глава 7. Резервное копирование и восстановление ............................................................. 142
Основные принципы...................................................................................................................143
Физическое или логическое?............................................................................................143
Автономное или оперативное?..........................................................................................144
Полное, инкрементное и дифференциальное..............................................................144
Соображения по восстановлению данных...........................................................................145
Сценарии восстановления.........................................................................................................145
Сценарии планового восстановления.............................................................................146
Незапланированные сценарии..........................................................................................148
Область действия сценария...............................................................................................151
Последствия сценария.........................................................................................................152
Содержание стратегии восстановления...............................................................................152
Структурный блок № 1: обнаружение............................................................................153
Структурный блок № 2: многоуровневое хранилище..............................................155
Структурный блок № 3: разнообразие инструментария..........................................157
Структурный блок № 4: тестирование...........................................................................159
Определение стратегии восстановления..............................................................................160
Онлайновое быстрое хранилище с полными и инкрементными
резервными копиями............................................................................................................160
Онлайновое медленное хранилище с полными и инкрементными
резервными копиями............................................................................................................161
Автономное хранилище.......................................................................................................163
Хранилище объектов............................................................................................................164
Резюме..............................................................................................................................................165
Глава 8. Управление релизами......................................................................................................166
Обучение и сотрудничество.....................................................................................................166
Станьте источником знаний..............................................................................................167
Развивайте общение..............................................................................................................168
Знания из конкретной области.........................................................................................168
Сотрудничество......................................................................................................................171
Интеграция.....................................................................................................................................172
Предпосылки...........................................................................................................................173
Тестирование.................................................................................................................................176
Приемы разработки с тестированием.............................................................................176
Тестирование после фиксации в VCS............................................................................177
Тестирование на полном наборе данных.......................................................................178
Нисходящее тестирование..................................................................................................179
Операционные тесты............................................................................................................180
Развертывание...............................................................................................................................181
Миграции и управление версиями..................................................................................181
Анализ последствий..............................................................................................................182
Паттерны миграции..............................................................................................................183
Вручную или автоматически?...........................................................................................187
Резюме..............................................................................................................................................188
Глава 9. Безопасность.......................................................................................................................189
Цель безопасности.......................................................................................................................189
Защита данных от кражи.....................................................................................................190
Защита от целенаправленного повреждения...............................................................190
Защита от случайного повреждения...............................................................................190
Защита данных от раскрытия............................................................................................191
Стандарты соответствия и аудита....................................................................................191
Безопасность базы данных как функция.............................................................................191
Обучение и сотрудничество.....................................................................................................192
Самообслуживание...............................................................................................................193
Интеграция и тестирование...............................................................................................194
Оперативный контроль.......................................................................................................195
Уязвимости и эксплойты...........................................................................................................197
STRIDE.....................................................................................................................................197
DREAD......................................................................................................................................198
Основные меры предосторожности.................................................................................199
Отказ в обслуживании.........................................................................................................200
SQL-инъекция.........................................................................................................................204
Сетевые протоколы и протоколы аутентификации..................................................206
Шифрование данных..................................................................................................................207
Финансовые данные.............................................................................................................207
Личные данные о здоровье.................................................................................................208
Данные частных лиц.............................................................................................................208
Военные и правительственные данные..........................................................................208
Конфиденциальные данные и коммерческие тайны.................................................208
Передача данных....................................................................................................................209
Данные, хранящиеся в базе................................................................................................214
Данные в файловой системе..............................................................................................217
Резюме..............................................................................................................................................220
Глава 10. Хранение, индексирование и репликация данных..............................................221
Хранение структуры данных....................................................................................................221
Хранение данных в виде таблиц.......................................................................................222
Отсортированные строковые таблицы
и журнально-структурированные деревья со слиянием..........................................226
Индексирование.....................................................................................................................229
Журналы и базы данных.....................................................................................................230
Репликация данных.....................................................................................................................230
Репликация с одним ведущим узлом..............................................................................231
Репликация с несколькими ведущими узлами...........................................................246
Резюме..............................................................................................................................................253
Глава 11. Справочник по видам хранилищ данных...............................................................254
Концептуальные особенности хранилища данных..........................................................255
Модель данных.......................................................................................................................255
Транзакции...............................................................................................................................259
BASE...........................................................................................................................................265
Внутренние характеристики хранилища данных.............................................................267
Хранилище...............................................................................................................................267
Вездесущая теорема CAP....................................................................................................268
Компромисс между согласованностью и задержкой.................................................270
Доступность.............................................................................................................................272
Резюме..............................................................................................................................................273
Глава 12. Примеры архитектур данных......................................................................................274
Архитектурные компоненты....................................................................................................274
Внешние хранилища данных.............................................................................................274
Уровень доступа к данным.................................................................................................276
Прокси базы данных ............................................................................................................276
Системы обработки событий и сообщений..................................................................279
Кэши и устройства памяти.................................................................................................281
Архитектуры данных...................................................................................................................285
Лямбда и каппа.......................................................................................................................285
Порождение событий...........................................................................................................288
CQRS..........................................................................................................................................289
Резюме..............................................................................................................................................291
Глава 13. Как обосновать и внедрить DBRE............................................................................292
Культура обеспечения надежности баз данных.................................................................293
Разрушение барьеров...........................................................................................................293
Принятие решений на основе данных............................................................................300
Целостность и возможность восстановления данных..............................................300
Резюме..............................................................................................................................................301
Об авторах.............................................................................................................................................302
Об обложке............................................................................................................................................303