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

Azure SQL Database

Azure SQL Database — это полностью управляемая облачная реляционная база данных как сервис (DBaaS), предоставляемая корпорацией Microsoft в рамках платформы Microsoft Azure. Она построена на основе ядра Microsoft SQL Server и обеспечивает автоматическое управление инфраструктурой, резервное копирование, обновление и масштабирование, освобождая пользователей от задач администрирования серверов и операционных систем. Azure SQL Database поддерживает синтаксис Transact-SQL (T-SQL) и совместима с большинством инструментов и клиентских библиотек, используемых для локальных версий SQL Server.

История

Развитие Azure SQL Database началось с выпуска в 2009 году службы SQL Azure, которая изначально предлагалась как реляционная база данных в облаке с ограниченной функциональностью по сравнению с локальным SQL Server. Основной целью было предоставление простого и масштабируемого решения для веб-приложений, работающих в Windows Azure (ныне Microsoft Azure).

В 2014 году Microsoft переименовала SQL Azure в Azure SQL Database и значительно расширила её возможности. Были добавлены поддержка индексов columnstore, эластичные пулы баз данных, а также возможность выбора уровня производительности (DTU — Database Transaction Unit). В 2017 году была представлена модель vCore (виртуальные ядра), которая позволила более гибко настраивать вычислительные ресурсы и использовать собственные лицензии SQL Server по программе Azure Hybrid Benefit.

Ключевым этапом стало внедрение Hyperscale в 2018 году — архитектуры, позволяющей автоматически масштабировать хранилище до 100 ТБ и выше без простоев. В последующие годы Microsoft продолжила интеграцию с другими сервисами Azure, добавив поддержку машинного обучения, аналитики в реальном времени (через Azure Synapse Link) и улучшенные средства безопасности.

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

Azure SQL Database работает на основе разделённой архитектуры, где вычислительные ресурсы (CPU, память) и хранилище логически отделены друг от друга. Это позволяет независимо масштабировать каждый компонент.

Уровни обслуживания

Azure SQL Database предлагает несколько уровней обслуживания, разделённых на две модели покупки:

  1. Модель DTU (Database Transaction Unit):
  • Basic: для небольших баз данных с низкой нагрузкой; обеспечивает до 2 ГБ хранилища и один DTU.
  • Standard: для типичных OLTP-нагрузок; предлагает от 10 до 3000 DTU и до 1 ТБ хранилища.
  • Premium: для высоконагруженных приложений с низкой задержкой; поддерживает до 4000 DTU и до 4 ТБ хранилища (до 1 ТБ для уровня P1-P6).
  1. Модель vCore (виртуальные ядра):
  • General Purpose: сбалансированный вариант для большинства рабочих нагрузок; обеспечивает предсказуемую производительность и автоматическое резервное копирование. Хранилище — до 4 ТБ.
  • Business Critical: для приложений, критичных к задержкам; использует несколько реплик с прямым доступом к хранилищу (In-Memory OLTP). Хранилище — до 4 ТБ.
  • Hyperscale: для очень больших баз данных (до 100 ТБ и более); обеспечивает быстрое масштабирование хранилища и высокую производительность чтения/записи.

Эластичные пулы

Эластичные пулы (Elastic Pools) — это модель, при которой несколько баз данных с непредсказуемой нагрузкой объединяются в общий пул ресурсов (DTU или vCore). Это позволяет снизить затраты, так как базы данных делят общий объём вычислительных мощностей, а не используют выделенные ресурсы для каждой. Пулы особенно эффективны для SaaS-приложений с множеством клиентов (мультитенантные среды).

Бессерверный режим (Serverless)

В модели vCore доступен бессерверный (serverless) уровень, который автоматически приостанавливает базу данных при отсутствии активности и возобновляет её при появлении запросов. Плата взимается только за используемое хранилище и вычислительные ресурсы во время активности. Это экономически выгодно для периодически используемых баз данных, например, для разработки или тестирования.

Основные возможности

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

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

Высокая доступность и аварийное восстановление

По умолчанию Azure SQL Database обеспечивает соглашение об уровне обслуживания (SLA) до 99,99% доступности. Это достигается за счёт использования нескольких реплик в рамках одного дата-центра (локальная избыточность) и возможности настройки географической репликации (Active Geo-Replication) между разными регионами Azure. При отказе основного дата-центра можно вручную или автоматически переключиться на реплику в другом регионе.

Безопасность

Azure SQL Database включает многоуровневую систему безопасности:

  • Сетевая безопасность: брандмауэр на уровне сервера и базы данных, виртуальные сети (VNet) и частные конечные точки (Private Link).
  • Аутентификация и авторизация: поддержка встроенной аутентификации Azure Active Directory (AAD) и традиционной аутентификации SQL Server. Используется управление доступом на основе ролей (RBAC).
  • Защита данных: шифрование неактивных данных (Transparent Data Encryption, TDE), шифрование при передаче (TLS/SSL), а также динамическое маскирование данных (Dynamic Data Masking) для скрытия конфиденциальной информации от неавторизованных пользователей.
  • Обнаружение угроз: встроенная служба Advanced Threat Protection (ATP) анализирует журналы аудита и выявляет подозрительные действия, такие как SQL-инъекции или аномальные попытки входа.

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

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

  • Query Performance Insight: визуализирует наиболее ресурсоёмкие запросы, их историю и тенденции.
  • Automatic Tuning: автоматически создаёт и удаляет индексы, а также корректирует планы выполнения запросов на основе анализа реальной нагрузки.
  • Intelligent Insights: использует машинное обучение для обнаружения аномалий производительности и предоставления диагностической информации.

Применение

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

  • Веб-приложения и мобильные бэкенды: как основное хранилище данных для приложений, работающих в Azure App Service или других облачных средах.
  • SaaS-решения (Software as a Service): благодаря эластичным пулам и мультитенантной архитектуре, Azure SQL Database подходит для многопользовательских приложений.
  • Миграция локальных баз данных: многие организации переносят существующие базы данных SQL Server в облако, используя Azure SQL Database как управляемую альтернативу, снижающую затраты на администрирование.
  • Аналитика и отчётность: с помощью Azure Synapse Link можно подключать Azure SQL Database к Azure Synapse Analytics для аналитики в реальном времени без влияния на OLTP-нагрузку.
  • Разработка и тестирование: бессерверный режим и автоматическое резервное копирование делают Azure SQL Database удобным выбором для сред разработки.

Ограничения и критика

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

  • Отсутствие некоторых функций: например, нет поддержки Service Broker, полнотекстового поиска в определённых конфигурациях, а также некоторых возможностей CLR-интеграции.
  • Ограниченный контроль над инфраструктурой: пользователи не могут управлять операционной системой, конфигурацией сервера или устанавливать сторонние расширения.
  • Зависимость от сети: производительность сильно зависит от задержек и пропускной способности сети между клиентом и облаком.
  • Стоимость: при больших объёмах данных или высокой нагрузке затраты на Azure SQL Database могут превышать стоимость самостоятельного администрирования SQL Server на виртуальных машинах Azure.

Источники

  1. Документация Microsoft по Azure SQL Database (learn.microsoft.com).
  2. Официальный блог команды Azure SQL Database (techcommunity.microsoft.com).
  3. Книга «Microsoft Azure SQL Database Step by Step» (Microsoft Press, 2017).
  4. Статья «A Survey of Cloud Database Systems» (IEEE Transactions on Knowledge and Data Engineering, 2019).
  5. Материалы конференции Microsoft Build (2020-2024).

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

На главную BFOmetr →