Архитектура распределенных функций с Гипермасштабированием

Применимо к:База данных SQL Azure

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

Совет

Упрощенная цена на База данных SQL Гипермасштабирование в ближайшее время. Дополнительные сведения см. в блоге о ценах на гипермасштабирование.

Обзор архитектуры с Гипермасштабированием

Традиционные ядра СУБД централизуют функции управления данными в одном процессе: даже так называемые распределенные базы данных в рабочей среде сегодня имеют несколько копий монолитного ядра данных.

Базы данных с Гипермасштабированием используют другой подход. Гипермасштабирование отделяет подсистему обработки запросов, в которой разделяется семантика различных подсистем данных, от компонентов, которые обеспечивают долгосрочное хранение и устойчивость данных. Таким образом, емкость хранилища может быть плавно горизонтально масштабирована по мере необходимости. Изначально поддерживаемое ограничение для хранилища составляет 100 ТБ.

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

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

На следующей схеме показана функциональная архитектура гипермасштабирования:

Diagram showing Hyperscale's compute tier.

База данных с Гипермасштабированием включает компоненты следующих типов: вычислительные узлы, серверы страниц, служба журналов и служба хранилища Azure.

Службы вычислений

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

Вычислительные узлы имеют локальные кэши на основе SSD, называемые расширением отказоустойчивого буферного пула (кэш данных RBPEX). Кэш данных RBPEX — это интеллектуальный кэш данных с низкой задержкой, который сводит к минимуму необходимость получения данных с удаленных серверов страниц.

Базы данных с Гипермасштабированием имеют один первичный вычислительный узел, в котором обрабатываются транзакции и рабочая нагрузка чтения и записи. По запросу можно добавить до четырех вторичных вычислительных узлов с высоким уровнем доступности. Они действуют как горячие резервные узлы для отработки отказа и могут служить вычислительными узлами только для чтения, чтобы выгрузить рабочие нагрузки чтения при необходимости. Именованные реплика — это вторичные вычислительные узлы, предназначенные для включения различных дополнительных сценариев масштабирования для чтения OLTP и повышения поддержки рабочих нагрузок гибридной транзакционной и аналитической обработки (HTAP). Гео вторичный вычислительный узел можно добавить для аварийного восстановления и служить вычислительным узлом только для чтения для разгрузки рабочих нагрузок чтения в другом регионе Azure.

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

Ядро СУБД, работающее на вычислительных узлах уровня служб "Гипермасштабирование" такое же, как и на других уровнях служб базы данных SQL Azure. Когда пользователи взаимодействуют с ядром СУБД на вычислительных узлах с гипермасштабированием, поддерживаемая область поверхности и ядро работают так же, как и в других уровнях служб, за исключением известных ограничений.

Сервер страниц

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

Задача сервера страниц заключается в том, чтобы предоставлять страницы базы данных для вычислительных узлов по требованию и обновлять страницы, когда транзакции обновляют данные. Серверы страниц хранятся в актуальном состоянии путем повтора записей журнала транзакций из службы журналов.

Серверы страниц также поддерживают кэширование на основе диска SSD, чтобы повысить производительность. Для обеспечения надежности за долгосрочное хранение страниц данных отвечает служба хранилища Azure.

Служба журналов

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

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

Служба хранилища Azure

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

Резервные копии реализуются с помощью моментальных снимков файлов данных. Операции восстановления с использованием моментальных снимков выполняются быстро, независимо от размера данных. Базу данных можно восстановить до любой точки во времени в течение срока хранения ее резервной копии.

Гипермасштабирование поддерживает настраиваемую избыточность хранилища. При создании базы данных гипермасштабирования можно выбрать один из следующих типов хранилища Azure уровня "Стандартный":

  • Локально избыточное хранилище (LRS)
  • хранилище, избыточное между зонами (ZRS);
  • геоизбыточное хранилище с доступом на чтение (RA-GRS).
  • Хранилище, геоизбыточное между зонами, с доступом на чтение (RA-GZRS)

Параметры хранилища, избыточные между зонами, доступны в регионах Azure с зонами доступности.

Выбранный параметр избыточности хранилища используется в течение всего времени существования базы данных для избыточности хранилища данных и избыточности хранилища резервных копий.