Основные понятия высокого уровня доступности в Базе данных Azure для MySQL
Служба "База данных Azure" для MySQL обеспечивает гарантированный высокий уровень доступности с соглашением об уровне обслуживания (SLA), предусматривающим время доступности 99,99 %, с финансовыми гарантиями. База данных Azure для MySQL обеспечивает высокую доступность как во время плановых операций, таких как инициированное пользователем масштабирование вычислительных ресурсов, так и при возникновении непредусмотренных событий, таких как отказы поддерживающего работу БД оборудования, программного обеспечения или сети. База данных Azure для MySQL может быстро восстановиться после большинства критических происшествий, за счет чего при использовании этой службы обеспечивается практически полное отсутствие простоев приложений.
База данных Azure для MySQL подходит для размещения критически важных баз данных, требующих высоких значений времени бесперебойной работы. Этой основанной на архитектуре Azure службе присущи функции высокой доступности, избыточности и устойчивости, которые противодействуют простоям и минимизируют время простоя базы данных при плановых и неплановых нарушениях работы, причем от вас не требуется настраивать какие-либо дополнительные компоненты.
Компоненты Базы данных Azure для MySQL
Компонент Описание Сервер базы данных MySQL База данных Azure для MySQL реализует функции безопасности, изоляции, средства защиты ресурсов и возможность быстрого перезапуска серверов баз данных. Эти возможности упрощают выполнение таких операций, как масштабирование и восстановление сервера базы данных, после сбоя в течение 60–120 секунд в зависимости от степени активности транзакций в базе данных. Изменения данных на сервере базы данных обычно происходят в контексте транзакции базы данных. Все изменения базы данных записываются синхронно в виде журнала с упреждающей записью (ib_log) в службе хранилища Azure, подключенной к серверу базы данных. В процессе отработки контрольных точек базы данных страницы данных из памяти сервера базы данных также сбрасываются в хранилище. Удаленное хранилище Все файлы физических данных MySQL и файлы журналов WAL хранятся в службе хранилища Azure, архитектура которой предусматривает сохранение трех копий данных в рамках одного региона для обеспечения избыточности, доступности и надежности хранения данных. Уровень хранения также независим от сервера базы данных. Его можно отсоединить от сервера базы данных, на котором произошел сбой, и подсоединить к новому серверу базы данных за 60 секунд. Кроме того, служба хранилища Azure постоянно отслеживает хранилище на предмет любых ошибок. При обнаружении повреждения блока оно автоматически исправляется посредством создания экземпляра новой копии хранилища. Шлюз Шлюз выступает в качестве прокси-сервера базы данных и направляет все клиентские подключения к серверу базы данных.Уменьшение продолжительности запланированных простоев
Архитектура службы базы данных Azure для MySQL обеспечивает высокую доступность во время запланированных операций с простоем.
Ниже перечислен ряд сценариев планового обслуживания.
Сценарий Описание Увеличение/уменьшение масштаба вычислительных ресурсов Когда пользователь выполняет операцию вертикального увеличения или уменьшения масштаба вычислительных ресурсов, новый сервер базы данных подготавливается к работе с использованием масштабируемой конфигурации вычислений. На старом сервере базы данных ожидается завершение активных контрольных точек, останавливаются с отработкой клиентские подключения, все незафиксированные транзакции отменяются, и затем сервер останавливается. После этого хранилище отсоединяется от старого сервера базы данных и прикрепляется к новому серверу. Когда клиентское приложение пытается восстановить подключение или производит новое подключение, шлюз направляет такой запрос подключения новому серверу базы данных. Вертикальное увеличение масштаба хранилища Вертикальное увеличение масштаба хранилища — это интерактивная операция, которая не прерывает работу сервера базы данных. Развертывание нового программного обеспечения (Azure) Развертывание новых компонентов или исправлений производится автоматически, в составе планового обслуживания службы. Дополнительные сведения см. в документации, а также на портале. Обновление промежуточных версий База данных Azure для MySQL автоматически исправляет серверы баз данных до дополнительной версии, определенной Azure. Это происходит в рамках планового обслуживания сервиса. Во время планового обслуживания сервер базы данных может перезапускаться, а также могут происходить случаи отработки отказа сервера БД, что может привести к кратким периодам недоступности серверов баз данных для конечных пользователей. Серверы базы данных Azure для MySQL работают в контейнерах, поэтому перезапуски сервера базы данных обычно выполняются быстро, как правило, в течение 60–120 секунд. Все события планового обслуживания, включая перезапуск каждого сервера, тщательно контролируются командой разработчиков. Время простоя при отработке отказов зависит от времени восстановления базы данных, что может привести к тому, что база данных будет находиться в оперативном режиме, если на сервере во время операции отработки отказа имеется высокая активность транзакций. Чтобы избежать длительного перезапуска, рекомендуется избегать выполнения длительных транзакций (массовых загрузок) во время событий планового обслуживания. Дополнительные сведения см. в документации, а также на портале.
Уменьшение незапланированных простоев
Внеплановые простои могут возникнуть в результате непредвиденных сбоев, в том числе сбоев оборудования, обеспечивающего работу систем, отказов сети или программных ошибок. Если сервер базы данных непредвиденно прекращает работу, за 60–120 секунд подготавливается к работе новый сервер базы данных. Удаленное хранилище автоматически подсоединяется к этому новому серверу. Система MySQL выполняет операцию восстановления, используя журналы WAL и файлы базы данных, а затем открывает сервер базы данных и разрешает клиентам подключаться к нему. Незафиксированные транзакции будут утеряны, и приложениям потребуется выполнить их повторно. Хотя избежать внеплановых простоев невозможно, база данных Azure для MySQL сокращает длительность таких простоев, автоматически выполняя операции восстановления, как на сервере базы данных, так и на уровнях хранилища без необходимости вмешательства вручную.
Незапланированные простои: сценарии сбоев и восстановление услугНиже приведен ряд сценариев отказов и описано автоматическое восстановление базы данных Azure для MySQL в таких случаях:
Ниже перечислены некоторые сценарии сбоев, при которых для восстановления требуется вмешательство пользователя.
Сводка
База данных Azure для MySQL предоставляет возможность быстрого перезапуска серверов баз данных, избыточного хранилища и эффективной маршрутизации из шлюза. Для дополнительной защиты данных можно настроить георепликацию резервных копий, а также развернуть одну или несколько реплик чтения в других регионах. Благодаря встроенным функциям высокой доступности база данных Azure для MySQL защищает базы данных от распространенных причин отказов, а также предлагает лучшие в отрасли условия соглашения об уровне обслуживания с уровнем доступности 99,99 % и финансовыми гарантиями. Все эти функции обеспечения доступности и надежности делают Azure идеальной платформой для выполнения критически важных приложений.