Возможности производительности
Начнем с рассмотрения некоторых возможностей производительности SQL Azure по сравнению с SQL Server.
Так как база данных SQL Azure и Управляемый экземпляр SQL Azure основаны на ядре СУБД SQL Server, большинство возможностей, которые входят в состав SQL Server, также доступны в SQL Azure. Существует несколько возможностей, влияющих на производительность баз данных, которые следует учитывать при развертывании и настройке SQL Azure. К ним относятся максимальные емкости, индексы, OLTP в памяти, секции, улучшения SQL Server и интеллектуальные возможности производительности.
Доступные объемы памяти, ресурсов ЦП и операций ввода-вывода
Выбор правильного развертывания и уровня служб для базы данных или Управляемого экземпляра SQL Azure может быть важен для повышения производительности. Во втором модуле вы узнали о различных вариантах развертывания для SQL Azure. Учитывайте следующие важные максимальные объемы в рамках развертывания:
- База данных SQL Azure может поддерживать до 128 виртуальных ядер, 4 ТБ памяти и объем базы данных до 4 ТБ.
- Развертывание на уровне "Гипермасштабирование" поддерживает базы данных размером до 100 ТБ.
- Управляемый экземпляр SQL Azure может поддерживать до 80 виртуальных ядер, 400 ГБ памяти и базы данных до 8 ТБ.
- Количество виртуальных ядер и уровень служб также влияет на емкость других ресурсов, например на максимальную производительность журнала транзакций, число операций ввода-вывода в секунду, задержку операций ввода-вывода и память.
- Объекты задания Windows используются для поддержки ограничений определенных ресурсов, таких как память. Используйте sys.dm_os_job_object, чтобы найти реальные объемы для развертывания.
Индексы
Индексы часто очень важны для повышения производительности запросов SQL Server и SQL Azure. Ниже приведены важные моменты, которые следует учитывать при работе с индексами и SQL Azure:
- Все типы индексов, кластеризованные и некластеризованные, поддерживаются в SQL Azure.
- Подключенные к сети и возобновляемые индексы поддерживаются полностью. Подключенные к сети и возобновляемые индексы могут быть критически важными для обеспечения максимальной доступности.
- Индексы columnstore доступны практически на всех уровнях служб. Сведения об исключениях см. в документации.
Выполняющаяся в памяти OLTP
Важным фактором, характеризующим обработку транзакций в строке (OLTP), является приложение, которое считывает и записывает данные с множеством параллельных транзакций в режиме реального времени. Выполняющаяся в памяти OLTP — это возможность для приложений, чувствительных к задержке транзакций, таких как приложения с большим количеством одновременных пользователей, изменяющих данные. Ниже приведены важные моменты о выполняющейся в памяти OLTP и SQL Azure:
- Оптимизированные для памяти таблицы доступны только на уровнях "Критически важный для бизнеса".
- Оптимизированная для памяти FILEGROUP предварительно создается в базе данных SQL Azure и Управляемом экземпляре SQL при создании базы данных (даже для уровней "Общего назначения").
- Объем памяти для таблиц, оптимизированных для памяти, представляет собой процентную долю предела памяти, зависящего от виртуальных ядер.
Секции
В SQL Server часто используются секции для таблиц с большим количеством строк для повышения производительности путем деления данных по столбцу в таблице. Учитывайте следующие моменты для секций в SQL Azure:
- Секции поддерживаются для базы данных SQL Azure и Управляемого экземпляра SQL.
- Файловые группы можно использовать только с секциями в Управляемый экземпляр SQL.
Последние улучшения производительности SQL Server
Многие функции производительности, представленные с sql Server 2019, такие как интеллектуальная обработка запросов (IQP), также доступны в База данных SQL Azure и Управляемый экземпляр SQL Azure. Однако есть и исключения. Например, tempdb
оптимизация метаданных пока недоступна для SQL Azure. Полный список поддержки функций IQP см. в разделе "Интеллектуальные функции обработки запросов".
Интеллектуальное управление производительностью
Интеллектуальное управление производительностью в SQL Azure включает в себя интеллектуальную обработку запросов, автоматическое исправление плана и автоматическую настройку (включая индексы). Дополнительные сведения об этих функциях см. в следующем уроке.