Поделиться через


Создание масштабируемых облачных баз данных

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

Это важно

Эластичные запросы в режиме диспетчера карт сегментов (горизонтальное секционирование), используя EXTERNAL DATA SOURCE тип SHARD_MAP_MANAGER, достигают конца поддержки 31 марта 2027 г. После этой даты существующие рабочие нагрузки будут продолжать функционировать, но больше не будут получать поддержку, а создание новых внешних источников данных типа SHARD_MAP_MANAGER больше не будет возможным. Сведения о параметрах миграции см. в руководстве по миграции из режима диспетчера сопоставления сегментов эластичных запросов.

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

Чтобы скачать:

  • версия для Java доступна в репозитории Maven Central Repository;
  • версия библиотеки для .NET, см. на NuGet.

Документация

Возможности клиента

Масштабирование приложений с помощью сегментирования представляет проблемы как для разработчика, так и для администратора. Клиентская библиотека упрощает задачи управления, предоставляя средства управления масштабируемыми базами данных для разработчиков и администраторов. В типичном примере существует несколько баз данных для управления, называемых "сегментами". Клиенты расположены в одной и той же базе данных, и для каждого клиента существует одна база данных (схема с одним клиентом). Клиентская библиотека включает следующие возможности:

  • Управление картой сегментов: Создается специальная база данных, которая называется менеджером карты сегментов. Управление картой шардов — это возможность приложения управлять метаданными о своих шрдах. Разработчики могут использовать этот функционал для регистрации баз данных в качестве шардов, описания сопоставлений отдельных ключей шардирования или диапазонов ключей шардирования к этим базам данных. Функции библиотеки задействуются и для обновления метаданных по мере изменения числа и состава баз данных, чтобы отражать изменения в ёмкости системы. Без клиентской библиотеки Эластичной базы данных вам пришлось бы тратить много времени на написание кода управления при реализации сегментирования. Дополнительные сведения см. в разделе "Горизонтальное масштабирование баз данных" с помощью диспетчера карт сегментов.
  • Маршрутизация на основе данных. Представим, что в приложение приходит запрос. На основе значения ключа для сегментирования запроса приложение должно определить нужную базу данных. После этого оно открывает подключение к базе данных для обработки запроса. Маршрутизация с учётом данных позволяет установить соединение с помощью одного простого вызова к шардированной карте приложения. Маршрутизация, зависимая от данных, — еще одна область кода инфраструктуры, которая теперь покрывается функциональностью клиентской библиотеки Elastic Database. Дополнительные сведения см. в статье Об использовании маршрутизации, зависящей от данных, для маршрутизации запроса в соответствующую базу данных.
  • Многосегментные запросы (MSQ). Многосегментное формирование запросов применяется в том случае, когда запрос относится к нескольким (или всем) сегментам. Многосегментный запрос выполняет одинаковый код T-SQL во всех сегментах или наборе сегментов. Результаты из участвующих сегментов объединяются в общий результирующий набор с использованием семантики UNION ALL . Предоставляемые клиентской библиотекой функциональные возможности позволяют решать множество задач, в частности управление подключениями, управление потоками, обработка сбоев и обработка промежуточных результатов. MSQ может посылать запросы к сотням сегментов. Для получения дополнительной информации см. Запросы к нескольким шардовым базам с использованием инструментов Elastic Database.

Как правило, клиенты, использующие инструменты Elastic Database, могут рассчитывать на полную функциональность T-SQL при выполнении операций в пределах одного шарда, в отличие от операций между шардрами, которые имеют свою собственную семантику.

Еще не используете средства эластичных баз данных? Ознакомьтесь с нашим руководством по началу работы. Возникшие вопросы вы можете задать нам на странице вопросов Microsoft Q&A по Базе данных SQL. Что касается запросов новых функций, вы можете поделиться новыми идеями или проголосовать за существующие на форуме отзывов по Базе данных SQL.