MySQL по максимуму: Проверенные стратегии. 4 изд

MySQL по максимуму: Проверенные стратегии. 4 изд

MySQL по максимуму: Проверенные стратегии. 4 изд
Автор: Ботрос Сильвия, Тинли Джереми
Дата выхода: 2023
Издательство: Питер
Количество страниц: 432
Тип файла: PDF
Добавил: codelibs

Внимание!!!! Книга удалена по требованию правообладателя!!!!

Отзывы о книге....15

Предисловие....16

Введение....18

Для кого эта книга....18

Новое в этом издании....19

Используемые в книге соглашения....20

Благодарности к четвертому изданию....21

От Сильвии....21

От Джереми....22

Спасибо рецензентам....22

От издательства....23

Глава 1. Архитектура MySQL....24

Логическая архитектура MySQL....24

Управление соединениями и их безопасность....25

Оптимизация и исполнение....26

Управление конкурентным доступом....27

Блокировки чтения/записи....27

Гранулярность блокировок....28

Транзакции....30

Уровни изолированности....32

Взаимоблокировки....34

Ведение журнала транзакций....35

Транзакции в MySQL....35

Управление конкурентным доступом с помощью многоверсионности....38

Репликация....40

Структура файлов данных....41

Подсистема хранения InnoDB....41

Поддержка JSON-документов....43

Изменения словаря данных....43

Атомарный DDL....43

Резюме....44

Глава 2. Мониторинг в мире проектирования надежности....45

Влияние проектирования надежности на DBA группы....46

Определение целей уровня обслуживания....47

Что нужно, чтобы клиенты были довольны?....49

Что измерять....50

Определение SLI и SLO....50

Решения для мониторинга....51

Мониторинг доступности....53

Мониторинг задержки запросов....55

Мониторинг ошибок....56

Проактивный мониторинг....57

Измерение долгосрочной эффективности....66

Изучение вашего делового ритма....66

Эффективное отслеживание показателей....67

Применение инструментов мониторинга для контроля производительности....68

Использование SLO для управления общей архитектурой....69

Резюме....70

Глава 3. Performance Schema....71

Введение в Performance Schema....71

Список инструментов....72

Организация потребителей....74

Потребление ресурсов....75

Ограничения....76

Схема sys....77

Кратко о потоках....77

Конфигурация....78

Включение и отключение Performance Schema....79

Включение и отключение инструментов....79

Включение и отключение потребителей....81

Настройка мониторинга для конкретных объектов....82

Настройка мониторинга потоков....82

Настройка размера памяти для Performance Schema....84

Значения по умолчанию....84

Использование Performance Schema....85

Анализ операторов SQL....85

Анализ производительности чтения и записи....95

Анализ блокировок метаданных....96

Анализ использования памяти....97

Анализ переменных....100

Анализ наиболее частых ошибок....103

Анализ самой Performance Schema....104

Резюме....107

Глава 4. Оптимизация операционной системы и оборудования....108

Что ограничивает производительность MySQL....108

Как выбрать процессоры для MySQL....109

Балансировка памяти и дисковых ресурсов....109

Кэширование, чтение и запись....110

Каково ваше рабочее множество....111

Твердотельные хранилища данных....111

Обзор флеш-памяти....112

Сборка мусора....113

Оптимизация производительности с помощью RAID....113

Отказ, восстановление и мониторинг RAID....116

Конфигурация RAID и кэширование....118

Конфигурация сети....122

Выбор файловой системы....123

Выбор планировщика дисковых очередей....126

Память и подкачка....127

Состояние операционной системы....129

Резюме....134

Глава 5. Оптимизация настроек сервера....136

Основы конфигурации MySQL....137

Синтаксис, область видимости и динамичность....139

Сохраняемые системные переменные....140

Побочные эффекты установки переменных....141

Планирование изменений ваших переменных....142

Чего делать не следует....143

Создание конфигурационного файла MySQL....145

Минимальная конфигурация....145

Проверка переменных состояния сервера MySQL....147

Настройка использования памяти....148

Сколько памяти нужно для соединения....148

Резервирование памяти для операционной системы....149

Буферный пул InnoDB....149

Кэш потоков....150

Настройка ввода/вывода в MySQL....151

Журнал транзакций InnoDB....153

Буфер журнала....154

Табличное пространство InnoDB....156

Прочие параметры настройки ввода/вывода....160

Настройка конкурентного доступа в MySQL....160

Настройки безопасности....162

Дополнительные настройки InnoDB....165

Резюме....167

Глава 6. Разработка схемы и управление....168

Выбор оптимальных типов данных....169

Целые числа....170

Вещественные числа....171

Строковые типы....172

Типы Date и Time....178

Битовые типы данных....180

JSON данные....182

Выбор идентификаторов....186

Специальные типы данных....189

Подводные камни проектирования схемы в MySQL....189

Слишком много столбцов....189

Слишком много соединений....190

Всемогущий тип ENUM....190

Замаскированный тип ENUM....190

NULL изобрели не здесь....190

Управление схемой....191

Управление схемой как часть платформы хранения данных....191

Резюме....200

Глава 7. Повышение производительности с помощью индексирования....201

Основы индексирования....202

Типы индексов....203

Преимущества индексов....208

Стратегии индексирования для достижения производительности....209

Префиксные индексы и селективность индексов....209

Многостолбцовые индексы....213

Выбор правильного порядка столбцов....215

Кластерные индексы....219

Покрывающие индексы....227

Использование сканирования индекса для сортировки....229

Избыточные и дублирующиеся индексы....232

Неиспользуемые индексы....235

Обслуживание индексов и таблиц....236

Поиск и исправление повреждений таблицы....236

Обновление статистики индекса....237

Уменьшение фрагментации индекса и данных....239

Резюме....240

Глава 8. Оптимизация производительности запросов....242

Почему запросы бывают медленными....243

Основная причина медленных запросов — оптимизация доступа к данным....243

Не запрашиваете ли вы лишние данные у базы?....244

Не слишком ли много данных анализирует MySQL?....245

Способы реструктуризации запросов....250

Один сложный или несколько простых запросов....251

Разбиение запроса на части....252

Декомпозиция соединения....252

Основные принципы выполнения запросов....254

Клиент-серверный протокол MySQL....255

Состояния запроса....257

Процесс оптимизации запроса....258

Подсистема выполнения запросов....273

Возврат результатов клиенту....274

Ограничения оптимизатора запросов MySQL....274

Ограничения UNION....274

Распространение равенства....275

Параллельное выполнение....276

SELECT и UPDATE для одной и той же таблицы....276

Оптимизация конкретных типов запросов....277

Оптимизация запросов COUNT()....277

Оптимизация запросов с JOIN....279

Оптимизация GROUP ВУ WIТH ROLLUP....280

Оптимизация LIMIT и OFFSET....280

Оптимизация SQL_CALC_FOUND_ROWS....282

Оптимизация UNION....283

Резюме....283

Глава 9. Репликация....284

Обзор репликации....284

Как работает репликация....286

Взгляд на репликацию изнутри....287

Выбор формата репликации....287

Глобальные идентификаторы транзакций....289

Обеспечение безопасности при сбоях репликации....290

Отложенная репликация....291

Многопоточная репликация....292

Полусинхронная репликация....295

Фильтры репликации....296

Отказоустойчивость репликации....298

Запланированные повышения....298

Незапланированные повышения....299

Компромиссы повышения....300

Топологии репликации....300

Активный/пассивный....300

Активный/пул чтения....302

Нерекомендуемые топологии....304

Администрирование и обслуживание репликации....308

Мониторинг репликации....308

Измерение отставания репликации....309

Как определить, согласованы ли реплики с источником....310

Проблемы с репликацией и их решения....311

Повреждение двоичных журналов в источнике....312

Неуникальные идентификаторы серверов....312

Неопределенные идентификаторы серверов....312

Отсутствующие временные таблицы....313

Репликация не всех обновлений....313

Слишком большое отставание репликации....314

Чрезмерно большие пакеты от источника....315

Отсутствие места на диске....315

Ограничения репликации....315

Резюме....316

Глава 10. Резервное копирование и восстановление....317

Зачем нужно резервное копирование....319

Определение требований к восстановлению....319

Проектирование решения для резервного копирования MySQL....321

Оперативное или автономное резервное копирование?....323

Логическое и физическое резервное копирование....324

Что нужно копировать....327

Инкрементное и дифференциальное резервное копирование....328

Репликация....330

Управление двоичными журналами и их резервное копирование....331

Инструменты резервного копирования и восстановления....332

MySQL Enterprise Backup....333

Percona XtraBackup....333

mydumper....333

mysqldump....334

Резервное копирование данных....334

Логические SQL-дампы....334

Снимки файловой системы....336

Percona XtraBackup....343

Восстановление из резервной копии....347

Восстановление логических резервных копий....348

Восстановление физических файлов из моментального снимка....350

Восстановление с помощью Percona XtraBackup....351

Запуск MySQL после восстановления физических файлов....352

Резюме....353

Глава 11. Масштабирование MySQL....355

Что такое масштабируемость....355

Рабочие нагрузки, связанные с чтением и записью....357

Знание рабочей нагрузки....358

Рабочие нагрузки, связанные с чтением....359

Рабочие нагрузки, связанные с записью....359

Функциональное сегментирование....360

Масштабирование чтения с помощью пулов чтения....361

Управление конфигурацией пулов чтения....364

Проверки работоспособности пулов чтения....365

Выбор алгоритма балансировки нагрузки....366

Очередь....368

Масштабирование операций записи с помощью шардирования....369

Выбор схемы сегментирования....370

Несколько ключей сегментирования....372

Запросы в разных шардах....373

Vitess....374

ProxySQL....378

Резюме....383

Глава 12. MySQL в облаке....384

Управляемая MySQL....384

Amazon Aurora для MySQL....385

GCP Cloud SQL....388

MySQL на виртуальных машинах....389

Типы машин в облаке....390

Выбор правильного типа машины....390

Выбор правильного типа диска....392

Дополнительные советы....394

Резюме....397

Глава 13. Соответствие MySQL нормативным требованиям....398

Что такое соответствие....399

Элементы контроля сервисной организацией типа 2....399

Закон Сарбейнса — Оксли....399

Стандарт безопасности данных индустрии платежных карт....400

Закон о переносимости и подотчетности медицинского страхования....400

Федеральная программа управления рисками и авторизацией....401

Общий регламент по защите данных....401

Schrems II....401

Выстраивание контроля за соблюдением нормативных требований....402

Управление секретами....403

Разделение ролей и данных....406

Отслеживание изменений....407

Процедуры резервного копирования и восстановления....415

Резюме....417

Приложение А. Обновление MySQL....419

Зачем обновлять версию?....419

Жизненный цикл обновления....420

Тестирование обновлений....421

Тестирование среды разработки....421

Копия производственных данных....422

Реплика....422

Инструментарий....422

Масштабное обновление....422

Резюме....424

Приложение Б. MySQL на Kubernetes....425

Предоставление ресурсов с помощью Kubernetes....425

Тщательно определите свою цель....426

Выберите плоскость управления....426

Более тонкие детали....426

Резюме....428

Об авторах....429

Иллюстрация на обложке....430

Хотите выжать из MySQL максимум возможностей? Вам поможет уникальная книга, написанная экспертами для экспертов.Пора изучать лучшие практики, начиная с постановки целей уровня обслуживания, проектирования схем, индексов, запросов и заканчивая настройкой вашего сервера, операционной системы и оборудования, чтобы реализовать потенциал вашей платформы по максимуму. Администраторы баз данных научатся безопасным и практичным способам масштабирования приложений с помощью репликации, балансировки нагрузки, высокой доступности и отказоустойчивости.Это издание было обновлено и переработано с учетом последних достижений в области облачного и самостоятельного хостинга MySQL, производительности InnoDB, а также новых функций и инструментов. Вы сможете разработать платформу реляционных данных, которая будет масштабироваться вместе с вашим бизнесом, и узнаете о передовых методах обеспечения безопасности, производительности и стабильности баз данных.


Похожее:

Список отзывов:

Нет отзывов к книге.