SQL Server в различных вариантах базы данных Azure: что предлагается пользователям

Tags: Azure, SQL Server, database, VM

Если вы планируете перенести свои локальные базы данных SQL Server в облако Microsoft Azure, сначала вам необходимо решить, какой из различных вариантов облачных вычислений вам больше подходит. Вы можете не осознавать это с самого начала, но есть три способа реализации SQL Server в Azure.

Вы можете запустить облачные рабочие нагрузки SQL Server в развертывании IaaS или в размещенной настройке PaaS. В первом случае вы устанавливаете и запускаете SQL Server на виртуальной машине Azure (VM); в последнем вы переносите свои базы данных в облачную службу базы данных Microsoft Azure SQL. Кроме того, существует более новая платформа управляемых экземпляров базы данных SQL Azure, которая предлагает нечто среднее между подходами IaaS и PaaS.

Давайте подробнее рассмотрим три варианта развертывания баз данных SQL Server в Azure и их основные функции, модели ценообразования и инструменты миграции баз данных.

SQL Server на виртуальных машинах Azure

Самый простой способ развертывания SQL Server в Azure - это установить его на виртуальную машину Azure. Для этого у вас должна быть учетная запись Azure. Первым шагом является создание и определение размера виртуальной машины Azure. Затем вам нужно установить ОС и SQL Server на ВМ, а затем перенести в нее свои базы данных.

Чтобы ускорить этот процесс, в Azure Marketplace есть несколько образов виртуальных машин с SQL Server и предустановленной операционной системой Windows Server или Linux. Например, изображение SQL Server 2017 для Windows выделяется на экране портала Azure, показанном на рисунке 1.

 

Выбор этого параметра позволяет быстро создать виртуальную машину SQL Server 2017, работающую на Windows Server 2016, без необходимости вручную устанавливать ОС или программное обеспечение базы данных. Существуют также изображения для SQL Server 2017 в Linux и предварительный выпуск SQL Server 2019, а также более ранние версии системы управления базами данных (СУБД).

Виртуальные машины Azure обеспечивают доступность до 99,95%, и вы имеете полный контроль над конфигурацией виртуальной машины и экземпляром SQL Server. Поскольку вы развертываете свой собственный экземпляр SQL Server, у локальной версии SQL Server есть полный паритет функциональности - по сути, это одно и то же. Вы также можете развернуть другие приложения или службы на узле виртуальной машины, на котором выполняется SQL Server, и можете предоставить свои собственные частные IP-адреса виртуальной машине с помощью виртуальной сети Azure (VNet).

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

Вам также необходимо реализовать все инструменты высокой доступности (HA) и аварийного восстановления, которые требуются вашему экземпляру SQL Server, и вы несете ответственность за перенастройку системных ресурсов, таких как ЦП и хранилище, на виртуальной машине Azure, что приведет к простою базы данных. Управлять виртуальными машинами SQL Server в Azure можно с помощью SQL Server Management Studio (SSMS), более легкого инструмента Azure Data Studio, инструментов данных SQL Server (SSDT) ​​в Visual Studio или редактора кода Visual Studio с расширением mssql.

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

Миграция с локального SQL Server на виртуальные машины Azure относительно проста и может быть выполнена различными способами:

  • копирование резервной копии базы данных на виртуальную машину Azure;
  • с помощью функции Microsoft Backup to URL, в которой резервная копия базы данных сохраняется в хранилище BLOB-объектов Azure, а затем восстанавливается на ВМ;
  • отсоединение данных и файлов журналов, копирование их в хранилище BLOB-объектов Azure и последующее присоединение их к виртуальной машине;
  • преобразование локальной физической системы или виртуальной машины в виртуальный жесткий диск Hyper-V, загрузку виртуального жесткого диска в хранилище BLOB-объектов Azure и последующее развертывание его на новой виртуальной машине Azure;
  • использование группы доступности Always On для создания базы данных реплики на виртуальной машине Azure; а также
  • запуск помощника по миграции данных (DMA) для переноса базы данных на виртуальную машину Azure.

Azure SQL Database

База данных Azure SQL, опция Microsoft PaaS для пользователей SQL Server в облаке, более конкретно, представляет собой базу данных как услугу (DBaaS). С базой данных Azure SQL вам не нужно настраивать базовую систему, создавать виртуальные машины или устанавливать ОС и само программное обеспечение базы данных. Вместо этого Microsoft управляет всем управлением платформой и отвечает за безопасность, доступность и резервное копирование.

Одним из больших преимуществ подхода PaaS является то, что вы можете сэкономить как на капитальных, так и на эксплуатационных расходах. База данных Azure SQL также требует значительных усилий по сравнению с SQL Server в реализации Azure. Microsoft обеспечивает мониторинг баз данных и автоматическую настройку производительности, а облачная служба автоматически выполняет полное, разностное и резервное копирование журналов транзакций в базах данных и поддерживает восстановление на определенный момент времени.

Azure SQL Database гарантирует доступность 99,99% и использует последнюю стабильную версию компонента SQL Server Database Engine, хотя параметры уровня совместимости по умолчанию от Microsoft можно использовать для выравнивания существующих баз данных с более старыми версиями СУБД, если вы хотите это сделать.

Базу данных Azure SQL можно реализовать как отдельную базу данных или эластичный пул. Как следует из названия, одна база данных состоит из одной базы данных со своим собственным набором ресурсов - аналогично использованию локальной базы данных. Эластичный пул - это набор баз данных с общим набором ресурсов. Эластичные пулы предназначены для управления несколькими базами данных с уровнями использования, которые варьируются непредсказуемым образом - они гарантируют, что базы данных получат необходимые ресурсы обработки при увеличении спроса.

Вы можете масштабировать как отдельные базы данных, так и эластичные пулы без прерывания обслуживания. Оба также позволяют настроить до четырех читаемых вторичных баз данных для использования в качестве группы отработки отказа для HA и балансировки нагрузки. Как и в SQL Server на виртуальных машинах Azure, вы можете использовать Azure VNet для назначения частных IP-адресов системам баз данных Azure SQL.

Для разработки и управления базами данных в базе данных SQL Azure вы можете использовать портал Azure в дополнение к SSMS, Azure Data Studio, SSDT и Visual Studio Code. Экран портала Azure для создания базы данных показан на рисунке 2.

 

База данных Azure SQL имеет высокий уровень совместимости с локальным SQL Server. Однако некоторые локальные функции не поддерживаются в облачной службе. Например, вы не можете присоединить базу данных к экземпляру базы данных SQL Azure или выполнить команды резервного копирования вручную. Сбор данных об изменениях, расширения Common Language Runtime, Database Mail, моментальные снимки базы данных, распределенные разделенные представления, связанные серверы и агент SQL Server - некоторые другие функции, которые не поддерживаются.

Microsoft предлагает две модели ценообразования для базы данных SQL Azure. Первоначальная модель представляет собой модель с оплатой по факту, основанную на единицах транзакций базы данных (DTU), метрике использования ресурсов, созданной Microsoft. Модель на основе DTU включает три уровня обслуживания для поддержки легких и тяжелых рабочих нагрузок базы данных. Различные размеры системы на каждом уровне обеспечивают предварительно сконфигурированное сочетание вычислительных ресурсов, памяти и ресурсов хранения.

В 2018 году Microsoft добавила модель ценообразования на основе vCore, которая позволяет вам выбирать количество ядер виртуальных процессоров, а также объем памяти и хранилища, необходимых для выполнения рабочих нагрузок базы данных. Теперь Microsoft рекомендует использовать модель vCore, заявив, что она предлагает более простой способ преобразования требований локальной рабочей нагрузки SQL Server в базу данных SQL Azure. В рамках подхода vCore клиенты, имеющие действующие лицензии на SQL Server и договоры на обслуживание Software Assurance, могут также использовать скидку на стоимость гибридного преимущества Azure для получения экономии; Кроме того, опция зарезервированной емкости позволяет компаниям осуществлять предоплату за vCores за один или три года по более низкой ставке.

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

Управляемый экземпляр базы данных SQL Azure

Опция развертывания управляемого экземпляра базы данных SQL Azure стала доступна в 2018 году. Это полностью управляемое предложение DBaaS, которое дает пользователям SQL Server в Azure все преимущества PaaS для базы данных SQL Azure. Однако он также включает большинство дополнительных локальных возможностей, которые ранее были доступны облачным пользователям только в SQL Server на виртуальных машинах Azure.

Microsoft сообщает, что управляемый экземпляр базы данных SQL Azure обеспечивает почти 100% совместимость с локальным SQL Server; управляемый экземпляр в Azure аналогичен локальному экземпляру. Однако все еще существуют некоторые различия в функциональности - например, в резервных копиях, высокой доступности и безопасности. Кроме того, такие инструменты, как службы анализа SQL Server, службы Integration Services и службы Reporting Services, не встроены, хотя их функции могут предоставляться через другие службы Azure.

Для управляемого экземпляра базы данных SQL Azure существует два разных уровня обслуживания: General Purpose - универсальный для приложений с типичными рабочими нагрузками и Business Critical - уровень для рабочих нагрузок, требующих высокой производительности и низкой задержки ввода-вывода. Управляемый экземпляр может размещать до 100 баз данных на 8 ТБ хранилища на уровне общего назначения и 4 ТБ на уровне Business Critical в зависимости от выбранного уровня производительности и количества vCores, настроенных в системе. Как и версии единой базы данных и эластичного пула базы данных SQL Azure, предложение управляемого экземпляра обеспечивает доступность 99,99% и поддерживает частные IP-адреса через Azure VNet.

Основная цель управляемого экземпляра базы данных SQL Azure - упростить миграцию экземпляров SQL Server в Azure. В настоящее время это может быть особенно привлекательным вариантом для компаний, все еще использующих SQL Server 2008 и SQL Server 2008 R2. 9 июля 2019 года Microsoft прекратила расширенную поддержку этих двух версий СУБД, и многие из оставшихся установок работают на устаревших аппаратных платформах. Управляемый экземпляр базы данных SQL Azure поддерживает миграцию с SQL Server 2008 и 2008 R2, а также с более новых версий SQL Server с минимальными изменениями базы данных или без изменений.

Как показано на рисунке 3, вы можете создать новый управляемый экземпляр на портале Azure, выбрав «Создать ресурс», затем «Базы данных», а затем «Управляемый экземпляр SQL Azure».

 

Управляемый экземпляр базы данных Azure SQL использует модель ценообразования на основе vCore с двумя вычислительными уровнями, построенными на разных процессорах: один поддерживает от 8 до 24 vCores, а другой - от четырех до 80. Как и в случае с другими вариантами развертывания базы данных SQL Azure, вы можете воспользоваться преимуществами Azure Hybrid Benefit при наличии Software Assurance с действующими лицензиями SQL Server. Вы также можете заплатить аванс за зарезервированную емкость со скидкой.

Microsoft поддерживает два метода переноса баз данных в управляемый экземпляр базы данных Azure SQL для пользователей, которые хотят запустить SQL Server в Azure. Вы можете восстановить базу данных из собственной резервной копии SQL Server, скопированной в хранилище Azure, или использовать службу миграции баз данных Azure с DMA.

No Comments

Add a Comment