Открыть сервис

Microsoft Azure SQL Database

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

Служба относится к семейству решений Azure SQL, в которое также входят Управляемый экземпляр Azure SQL (SQL Managed Instance) и Azure SQL Server на виртуальных машинах. Основное отличие Azure SQL Database от классического SQL Server — модель потребления «плати за то, что используешь» (pay-as-you-go) и полная программная абстракция от аппаратного обеспечения.

История

Проект Azure SQL Database был запущен под кодовым названием «CloudSQL» и вышел в коммерческую эксплуатацию в феврале 2010 года. Первоначально сервис назывался SQL Azure. В 2012 году, в рамках ребрендинга платформы Windows Azure в Microsoft Azure, сервис получил текущее название.

Ключевые этапы развития:

Архитектура и модель предоставления

Логическая структура

Azure SQL Database не предоставляет прямого доступа к операционной системе или файловой системе сервера. Пользователь получает логический сервер (logical server) — абстрактную точку подключения, внутри которой могут располагаться одна или несколько изолированных баз данных. Логический сервер управляется через портал Azure, интерфейс командной строки (Azure CLI) или REST API.

Модели развертывания

Служба предлагает три основных варианта развертывания:

  1. Одиночная база данных (Single Database) — изолированная база со своим набором выделенных ресурсов. Подходит для простых приложений или сервисов с предсказуемой нагрузкой.
  2. Эластичный пул (Elastic Pool) — набор баз данных, разделяющих фиксированный пул ресурсов (vCores, память, хранилище). Позволяет эффективно обслуживать множество малоактивных баз, сглаживая пиковые нагрузки каждой.
  3. Управляемый экземпляр (Managed Instance) — отдельный экземпляр SQL Server в облачной среде, предоставляющий почти стопроцентную совместимость с локальным SQL Server (включая CLR, Service Broker, SQL Agent, поддержку межбазовых запросов). Предназначен для миграции существующих приложений с минимальными изменениями.

Уровни обслуживания (Service Tiers)

В рамках Single Database и Elastic Pool выделяют три основных уровня производительности:

УровеньКраткое описаниеТипичная нагрузка
General PurposeСбалансированный вариант, подходит для большинства рабочих нагрузок. Отказоустойчивость за счёт гео-избыточных копий на серверах с отдельным хранилищем.ERP, CRM, веб-приложения.
Business CriticalВысокая производительность и минимальное время восстановления (RPO). Использует кластеризацию Always On Availability Groups напрямую на узлах.Высоконагруженные транзакционные системы (OLTP), финансовые операции.
HyperscaleАрхитектура с разделением вычислительных и накопительных мощностей. Хранилище может достигать 100 ТБ, при этом добавление вычислительных узлов происходит почти мгновенно.Хранилища данных, SaaS-сервисы с большими объёмами запросов.

Ключевые характеристики

Автоматическое управление

Безопасность и соответствие требованиям

Azure SQL Database поддерживает ряд встроенных механизмов защиты:

Производительность и масштабирование

Масштабирование ресурсов (вычислительных ядер и памяти) осуществляется без остановки сервиса, хотя на короткое время может наблюдаться переключение (failover) продолжительностью до нескольких секунд. За счёт использования архитектуры Hyperscale возможно масштабирование вверх (scale-up) для одного узла и масштабирование наружу (scale-out) с добавлением реплик только для чтения (read-only replicas).

Применение

Azure SQL Database используется в широком спектре сценариев:

Ограничения и особенности

При использовании Azure SQL Database следует учитывать ряд ограничений по сравнению с локальным SQL Server:

Критика и альтернативы

Основные нарекания пользователей связаны с возможным ростом стоимости при неконтролируемом росте запросов (скрытые затраты на потребляемые ресурсы в устаревшей модели DTU, сложность прогнозирования стоимости при переменной нагрузке). Также критикуется ограниченная совместимость с некоторыми устаревшими функциями SQL Server, что затрудняет миграцию старых приложений.

В качестве альтернативных облачных реляционных баз данных выступают Amazon Aurora (совместима с MySQL и PostgreSQL) и Google Cloud SQL (для продуктов на MySQL, PostgreSQL и SQL Server). В нише баз данных с полной управляемостью и схожими требованиями к совместимости с SQL Server основными конкурентами считаются Amazon RDS for SQL Server и Управляемый экземпляр Azure SQL, который, в отличие от Azure SQL Database, является отдельным продуктом.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →