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

Область применения: База данных SQL Azure

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

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

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

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

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

На следующей схеме представлены различные типы узлов в базе данных уровня "Гипермасштабирование".

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

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

Вычисления

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

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

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

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

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

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

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

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

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

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

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

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

Хранилище Azure

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

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

Гипермасштабирование поддерживает настраиваемую избыточность хранилища. При создании базы данных с Гипермасштабированием можно выбрать геоизбыточное хранилище с доступом на чтение (RA-GRS), избыточное между зонами хранилище (ZRS) (предварительная версия) или локально избыточное хранилище (LRS) (предварительная версия) Azure ценовой категории "Стандартный". Выбранный вариант избыточности хранилища будет действовать на всем протяжении существования базы данных как для избыточности хранилища данных, так и для избыточности хранилища резервных копий.

Дальнейшие действия

Дополнительные сведения Гипермасштабировании см. в следующих статьях: