Выбор оптимального варианта MySQL Server в Azure

ОБЛАСТЬ ПРИМЕНЕНИЯ: Отдельный сервер Базы данных Azure MySQL Гибкий сервер Базы данных Azure MySQL

Внимание

База данных Azure для MySQL один сервер находится на пути выхода на пенсию. Настоятельно рекомендуется выполнить обновление до База данных Azure для MySQL гибкого сервера. Дополнительные сведения о миграции на гибкий сервер База данных Azure для MySQL см. в статье "Что происходит с одним сервером База данных Azure для MySQL?"

В Azure ваши рабочие нагрузки сервера MySQL могут выполняться на размещенной виртуальной машине в качестве решения IaaS (инфраструктура как услуга) или PaaS (платформа как услуга). В PaaS у вас есть два варианта развертывания, и в каждом варианте развертывания есть несколько уровней служб. При выборе между IaaS и PaaS необходимо решить, нужно ли управлять базой данных, применять исправления, резервные копии, безопасность, мониторинг и масштабирование или делегировать эти операции в Azure.

В ходе принятия решения рассмотрите два варианта.

  • База данных Azure для MySQL. Этот вариант входит в категорию отрасли PaaS и представляет полностью управляемый ядро СУБД MySQL на основе стабильной версии выпуска сообщества MySQL. Это реляционная база данных, которая предоставляется как услуга (DBaaS). Она размещается на облачной платформе Azure и относится к отраслевым категориям PaaS. С помощью управляемого экземпляра MySQL в Azure можно использовать встроенные функции, зависящие от автоматического исправления, высокого уровня доступности, автоматизированных резервных копий, эластичного масштабирования, безопасности корпоративного уровня, соответствия требованиям и управления, мониторинга и предупреждений, требующих обширной настройки, когда Сервер MySQL находится в локальной среде или на виртуальной машине Azure. При использовании MySQL в качестве службы вы используете оплату по мере использования, с параметрами масштабирования и увеличения масштаба для повышения контроля без прерывания. База данных Azure для MySQL, на базе выпуска сообщества MySQL, доступен в двух режимах развертывания:

    • Гибкий сервер — это полностью управляемая служба базы данных, готовая к рабочей среде, предназначенная для более детального управления и гибкости функций управления базами данных и параметров конфигурации. Архитектура гибкого сервера позволяет обеспечивать высокий уровень доступности в пределах одной или нескольких зон доступности. Гибкие серверы обеспечивают более удобные средства оптимизации затрат с возможностью остановки и запуска сервера и масштабируемого вычислительного уровня, идеально подходит для рабочих нагрузок, которые не нуждаются в полной вычислительной емкости непрерывно. Гибкий сервер также поддерживает зарезервированные экземпляры, что позволяет сэкономить до 63 % затрат, что идеально подходит для рабочих нагрузок с прогнозируемыми требованиями к емкости вычислений. Служба поддерживает версию сообщества MySQL 5.7 и 8.0. Служба общедоступна сегодня в различных регионах Azure. Гибкие серверы отлично подходят для всех новых разработок и миграции рабочих нагрузок в службу Базы данных Azure для MySQL.

    • Отдельный сервер — это полностью управляемая служба базы данных, предназначенная для минимальной настройки. Платформа с одним сервером предназначена для обработки большинства функций управления базами данных, таких как исправление, резервное копирование, высокий уровень доступности и безопасность с минимальной конфигурацией пользователя и контролем. Архитектура оптимизирована для встроенной высокой доступности с доступностью 99,99 % в одной зоне доступности. Она поддерживает версию сообщества MySQL 5.6 (прекращена), 5.7 и 8.0. Служба общедоступна сегодня в различных регионах Azure. Отдельные серверы лучше всего подходят только для существующих приложений, уже использующих одиночные серверы. Рекомендуется выбрать гибкий сервер для всех новых разработок или миграций.

  • MySQL на виртуальных машинах Azure. Этот вариант относится к отраслевым категориям IaaS. С помощью этой службы можно запустить сервер MySQL внутри управляемой виртуальной машины на облачной платформе Azure. На виртуальной машине можно установить все последние версии и выпуски MySQL.

Сравнение параметров развертывания MySQL в Azure

Основные различия между этими вариантами показаны в приведенной ниже таблице.

Атрибут База данных Azure для MySQL
Отдельный сервер
База данных Azure для MySQL
Гибкий сервер
MySQL на виртуальных машинах Azure
Общие сведения
Общая доступность Общедоступная версия Общедоступная версия Общедоступная версия
Соглашение об уровне обслуживания (SLA) Соглашение об уровне обслуживания: доступность 99,99 % 99,99 % с Зонами доступности 99,99 % с Зонами доступности
Базовая ОС Windows Linux Управление осуществляет пользователь
Выпуск SQL Community Edition Community Edition Выпуск Community или Enterprise
Поддержка версий MySQL 5.6 (отставной), 5.7 и 8.0 5.7 и 8.0 Любая версия
Выбор зоны доступности для совместного размещения приложения No Да Да
Имя пользователя в строке подключения <user_name>@server_name. Например: mysqlusr@mypgServer Только имя пользователя. Например: mysqlusr Только имя пользователя. Например: mysqlusr
Масштабирование вычислений и служба хранилища
Уровни вычислений "Базовый", "Общего назначения" и "Оптимизированный для операций в памяти". "С увеличивающейся производительностью", "Общего назначения" и "Оптимизированный для операций в памяти". "С увеличивающейся производительностью", "Общего назначения" и "Оптимизированный для операций в памяти".
Масштабирование вычислительных ресурсов Поддерживается (масштабирование с уровня "Базовый" и до него не поддерживается) Поддерживается Поддерживается
Объем памяти От 5 ГиБ до 16 ТиБ От 20 ГиБ до 16 ТиБ От 32 ГиБ до 32 767 ГиБ
Интерактивное масштабирование хранилища Поддерживается Поддерживается Не поддерживается
Автоматическое масштабирование хранилища Поддерживается Поддерживается Не поддерживается
Масштабирование операций ввода-вывода в секунду Не поддерживается Поддерживается Не поддерживается
Оптимизация затрат
Цены на зарезервированные экземпляры виртуальных машин Azure Поддерживается Поддерживаемые Поддерживается
Остановка/запуск сервера для разработки Сервер можно остановить до семи дней Сервер можно остановить на срок до 30 дней Поддерживается
SKU с увеличивающейся производительностью и низкими затратами Не поддерживается Поддерживается Поддерживается
Сеть и безопасность
Сетевое подключение — Общедоступные конечные точки с брандмауэром сервера.
— Частный доступ с поддержкой Приватного канала.
— Общедоступные конечные точки с брандмауэром сервера.
— Частный доступ с поддержкой Приватного канала.
— Частный доступ с интеграцией виртуальной сети.
— Общедоступные конечные точки с брандмауэром сервера.
— Частный доступ с поддержкой Приватного канала.
SSL/TLS; Включено по умолчанию с поддержкой TLS v 1.2, 1.1 и 1.0 Включено по умолчанию с поддержкой TLS v 1.2, 1.1 и 1.0 Поддерживается с помощью TLS версии 1.2, 1.1 и 1.0
Шифрование неактивных данных Поддерживается с ключами, управляемыми клиентом (BYOK) Поддерживается с ключами, управляемыми службой Не поддерживается
Проверка подлинности Microsoft Entra Поддерживается Поддерживается Не поддерживается
Поддержка Microsoft Defender для облака Да Да Нет
Аудит сервера Поддерживается Поддерживается Управление осуществляет пользователь
Исправление и обслуживание
Исправления операционной системы Автоматически Автоматически Управление осуществляет пользователь
Обновление промежуточной версии MySQL Автоматически Автоматически Управление осуществляет пользователь
Обновление основной действующей версии MySQL на месте Поддерживается от 5.6 до 5.7 Не поддерживается Управление осуществляет пользователь
Управление обслуживанием Управление осуществляется системой Управляемые клиентом Управление осуществляет пользователь
Период обслуживания В любой момент в пределах 15 часов Окно в 1 час Управление осуществляет пользователь
Уведомления о плановом обслуживании Три дня Пять дней Управление осуществляет пользователь
Обеспечение высокого уровня доступности
Высокий уровень доступности Встроенный высокий уровень доступности (без сервера горячей замены) Встроенный высокий уровень доступности (без сервера горячей замены), высокий уровень доступности с сервером горячей замены в одной зоне и избыточный между зонами Управление осуществляет пользователь
Избыточность между зонами Не поддерживается Поддерживается Поддерживается
Размещение в резервной зоне Не поддерживается Поддерживается Поддерживается
автоматический переход на другой ресурс Да (разворачивается дополнительный сервер). Да Управление осуществляет пользователь
Принудительный переход на другой ресурс, инициированный пользователем No Да Управление осуществляет пользователь
Прозрачная отработка отказа приложений Да Да Управление осуществляет пользователь
Репликация
Поддержка реплик чтения Да Да Управление осуществляет пользователь
Количество поддерживаемых реплик чтения 5 10 Управление осуществляет пользователь
Тип репликации Асинхронный Асинхронный Управление осуществляет пользователь
Поддержка Gtid реплик чтения Поддерживается Поддерживается Управление осуществляет пользователь
Поддержка между регионами (георепликация) Да Не поддерживается Управление осуществляет пользователь
Гибридные сценарии Поддерживается с Репликацией входных данных Поддерживается с Репликацией входных данных Управление осуществляет пользователь
Поддержка Gtid репликации данных Поддерживается Не поддерживается Управление осуществляет пользователь
Репликация исходящих данных Не поддерживается Поддерживается Поддерживается
Резервное копирование и восстановление
Автоматическое резервное копирование Да Да Нет
Хранение архивных копий От 7 до 35 дней. От 1 до 35 дней Управление осуществляет пользователь
Долгосрочного хранение резервных копий Управление осуществляет пользователь Управление осуществляет пользователь Управление осуществляет пользователь
Экспорт резервных копий Поддерживается при использовании логических резервных копий Поддерживается при использовании логических резервных копий Поддерживается
Возможность восстановить состояние на любой момент времени в течение периода хранения Да Да Управление осуществляет пользователь
Точка быстрого восстановления No Да Нет
Возможность восстановления в другую зону Не поддерживается Да Да
Возможность восстановления в другой виртуальной сети No Да Да
Возможность восстановления в другой регион Да (геоизбыточность). Да (геоизбыточность). Управление осуществляет пользователь
Возможность восстановления удаленного сервера Да Да Нет
Аварийное восстановление
Аварийное восстановление в регионах Azure Использование реплика чтения между регионами, геоизбыточное резервное копирование Геоизбыточное резервное копирование Управление осуществляет пользователь
автоматический переход на другой ресурс No Не поддерживается No
Можно использовать ту же конечную точку чтения и записи No Не поддерживается No
Мониторинг
Интеграция и оповещение Azure Monitor Поддерживается Поддерживается Управление осуществляет пользователь
Мониторинг операций базы данных Поддерживается Поддерживается Управление осуществляет пользователь
Сведения об анализе производительности запросов Поддерживается Поддерживается (с использованием Workbooks) Управление осуществляет пользователь
Журналы сервера Поддерживается Мониторинг (с использованием журналов диагностики) Управление осуществляет пользователь
Журналы аудита Поддерживается Поддерживаемые Поддерживается
Журналы ошибок Не поддерживается Поддерживается Поддерживается
Поддержка помощника по Azure Поддерживается Не поддерживается Не поддерживается
Подключаемые модули
validate_password Не поддерживается На этапе предварительной версии Поддерживается
caching_sha2_password Не поддерживается На этапе предварительной версии Поддерживается
Продуктивность разработки
Управление транспортным парком. Поддерживается с Azure CLI, PowerShell, REST и Azure Resource Manager Поддерживается с Azure CLI, PowerShell, REST и Azure Resource Manager Поддерживается для виртуальных машин с Azure CLI, PowerShell, REST и Azure Resource Manager
Поддержка Terraform Поддерживается Поддерживаемые Поддерживается
GitHub Actions Поддерживается Поддерживается Управление осуществляет пользователь

Бизнес-причины для выбора PaaS или IaaS

Несколько факторов могут повлиять на выбор PaaS или IaaS для размещения баз данных MySQL.

Себестоимость

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

Выставление счетов

База данных Azure для MySQL в настоящее время доступна как услуга на нескольких уровнях с различными ценами на ресурсы. Счета за все ресурсы выставляются ежечасно по фиксированной ставке. Последние сведения о текущих поддерживаемых уровнях служб, объемах вычислительных ресурсов и объемах хранилища см. на странице цен. Вы можете менять уровни служб и объем вычислительных ресурсов в динамическом режиме в соответствии с различными требованиями приложения к пропускной способности. Счета выставляются за исходящий интернет-трафик по обычным тарифам на передачу данных.

Корпорация Майкрософт автоматически настраивает, устанавливает исправления и обновляет программное обеспечение базы данных с помощью Базы данных Azure для MySQL. Эти автоматизированные действия снижают затраты на администрирование. Кроме того, База данных Azure для MySQL предоставляет возможности автоматизированного резервного копирования. Эти возможности помогают значительно сократить затраты, особенно при наличии большого количества баз данных. Напротив, с MySQL на виртуальных машинах Azure можно выбрать и запустить любую версию MySQL. Независимо от используемой версии MySQL вы платите за подготовленную виртуальную машину, стоимость хранения, связанную с данными, резервным копированием, мониторингом данных и хранилищем журналов, а также затратами на конкретный тип лицензии MySQL, используемый (при наличии).

База данных Azure для MySQL обеспечивает встроенную высокую доступность для прерывания на уровне узла при сохранении гарантии соглашения об уровне обслуживания на уровне узла 99,99 %. Для обеспечения высокого уровня доступности базы данных на виртуальных машинах используются такие функции, как репликация MySQL, доступные в базе данных MySQL. Использование поддерживаемого параметра высокой доступности не обеспечивает дополнительное соглашение об уровне обслуживания. Но это позволяет достичь более 99,99% доступности базы данных при дополнительных затратах и административных затратах.

Дополнительные сведения о ценах см. в следующих статьях:

Администрирование

Во многих организациях решение о переходе на облачные сервисы означает снижение как сложности администрирования, так и затрат.

С помощью IaaS корпорация Майкрософт выполняет следующие действия:

  • Управляет базовой инфраструктурой.
  • Автоматически устанавливает исправления для базового оборудования и ОС.

С помощью PaaS корпорация Майкрософт выполняет следующие действия:

  • Управляет базовой инфраструктурой.
  • Автоматически устанавливает исправления для базового оборудования, ОС и ядра СУБД.
  • Управляет высокой доступностью базы данных.
  • Автоматически выполняет резервное копирование и реплицирует все данные для аварийного восстановления.
  • По умолчанию шифрует неактивные и перемещаемые данные.
  • Наблюдает за сервером и предоставляет функции для анализа производительности процессов и рекомендации по производительности.

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

  • С помощью База данных Azure для MySQL можно продолжить администрирование базы данных. При этом больше не требуется управлять ядром СУБД, операционной системой или оборудованием. Ниже перечислены примеры элементов, которые можно продолжить администрировать.

    • Базы данных
    • Вход
    • Настройка индекса
    • Настройка запросов
    • Аудит
    • Безопасность

    Кроме того, при настройке высокой доступности для другого центра обработки данных требуется минимальная (или вовсе не требуется) конфигурация и администрирование.

  • С помощью MySQL на виртуальных машинах Azure можно управлять операционной системой и конфигурацией экземпляра сервера MySQL. Вы решаете, когда следует обновить или обновить программное обеспечение операционной системы и базы данных с виртуальной машиной и какие исправления следует применить. Вы также выбираете, когда нужно установить любое дополнительное программное обеспечение, например антивирусное приложение. Некоторые автоматизированные функции предоставляются для упрощения значительной исправления, резервного копирования и высокой доступности. Вы можете контролировать размер виртуальной машины, количество дисков и их конфигурации хранения. Дополнительные сведения см. в статье Размеры виртуальных машин в Azure.

Пора переходить на Azure

  • База данных Azure для MySQL идеально подойдет для приложений, разработанных для облачной среды, так как для них эффективность разработки и сокращение времени выхода на рынок новых решений являются критическими. С помощью программных функций, таких как DBA, служба подходит для облачных архитекторов и разработчиков, так как она снижает необходимость управления базовой операционной системой и базой данных.

  • Если вы хотите избежать затрат на приобретение нового локального оборудования, MySQL на виртуальных машинах Azure является правильным решением для приложений, требующих детального управления и настройки подсистемы MySQL, не поддерживаемой службой или требующей доступа к базовой ОС. Это решение также подходит для переноса существующих локальных приложений и баз данных в Azure без изменений в случаях, когда База данных Azure для MySQL плохо подходят.

Так как изменять уровень презентации, приложения и данных не нужно, вы экономите время и средства при изменении имеющегося решения. Вместо этого вы можете сосредоточиться на переносе всех решений в Azure и оптимизации производительности, необходимой для платформы Azure.

Следующие шаги