Общие сведения о гибридной транзакционной аналитической обработке с помощью Azure Synapse Link

Завершено

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

Например, компания Tailwind Traders использует Azure Cosmos DB для хранения данных профилей пользователей на сайте своего интернет-магазина. Хранилище документов NoSQL, предоставляемое API-интерфейсом Azure Cosmos DB SQL, обеспечивает возможность управления данными с использованием знакомого синтаксиса SQL, а также чтение и запись крупных файлов в глобальном масштабе.

Руководство компании Tailwind Traders удовлетворено возможностями и производительностью Azure Cosmos DB, однако при этом беспокоится о затратах на выполнение большого объема аналитических запросов к нескольким секциям (запросы между секциями) хранилища данных. Оно заинтересовано в поиске способа эффективно обращаться ко всем данным без необходимости увеличивать количество единиц запросов (ЕЗ) Azure Cosmos DB. Компания рассматривала варианты извлечения данных из контейнеров в озеро данных по мере их изменения с помощью механизма канала изменений Azure Cosmos DB. Проблема такого подхода заключается в излишней зависимости от службы и кода, а также в необходимости долгосрочного обслуживания решения. Компания могла бы выполнять операции массового экспорта из конвейера Synapse, но это не позволит в любой момент времени иметь доступ к актуальной информации.

Вы приняли решение использовать Azure Synapse Link для Cosmos DB и включить аналитическое хранилище в контейнерах Azure Cosmos DB. В этой конфигурации все транзакционные данные автоматически сохраняются в полностью изолированном хранилище столбцов. Это хранилище предоставляет функции крупномасштабной аналитики рабочих данных в Azure Cosmos DB, не влияя при этом на транзакционные рабочие нагрузки и не требуя дополнительных единиц ресурсов. Azure Synapse Link для Cosmos DB обеспечивает тесную интеграцию между Azure Cosmos DB и Azure Synapse Analytics, благодаря чему компания Tailwind Traders может работать с аналитическими данными в режиме, близком к реальному времени, не используя функции извлечения, преобразования и загрузки и обеспечивая при этом полную изоляцию от транзакционных рабочих нагрузок в контексте производительности.

Благодаря такому сочетанию возможностей масштабной распределенной обработки транзакций Cosmos DB со встроенным аналитическим хранилищем и вычислительными возможностями Azure Synapse Analytics Azure Synapse Link позволяет реализовать архитектуру гибридной транзакционной аналитической обработки транзакций (HTAP) для оптимизации бизнес-процессов компании Tailwind Traders. Такая интеграция исключает процессы извлечения, преобразования и загрузки, позволяя бизнес-аналитикам, инженерам и специалистам по обработке и анализу данных самостоятельно обслуживать и запускать конвейеры бизнес-аналитики, анализа и машинного обучения в отношении операционных данных в режиме, близком к реальному времени.

Прежде чем создавать контейнер Azure Cosmos DB с аналитическим хранилищем, сначала необходимо включить Azure Synapse Link.

  1. Перейдите на портал Azure (https://portal.azure.com) и выберите учетную запись Azure Cosmos DB.

    Navigate to Azure Cosmos DB

  2. Выберите Функции в меню слева (1), а затем выберите Azure Synapse Link (2).

    Enable Synapse Link

  3. Выберите Включить.

    Enable Synapse Link screen

Создание нового контейнера Azure Cosmos DB

Компания Tailwind Traders использует контейнер Azure Cosmos DB под названием OnlineUserProfile01. Поскольку функция Azure Synapse Link была включена уже после создания контейнера, мы не можем включить для него аналитическое хранилище. Поэтому мы создадим новый контейнер с тем же ключом секции и включенным аналитическим хранилищем.

После создания контейнера мы создадим новый конвейер Synapse для копирования данных из контейнера OnlineUserProfile01 в новый.

  1. В меню слева выберите обозреватель данных.

    Launch Data Explorer

  2. Выберите Создать контейнер.

    Select a container in Data Explorer

  3. В поле Идентификатор базы данных выберите Использовать существующую, а затем выберите CustomerProfile (1). Введите UserProfileHTAP в поле Идентификатор контейнера (2), а затем введите /userId в поле Ключ секции (3). В разделе Пропускная способность выберите Автомасштабирование (4), а затем введите 4000 в поле максимального количества единиц запросов в секунду(5). Наконец, установите в разделе Аналитическое хранилище переключатель Вкл. (6) и нажмите кнопку OK.

    Add a container

    Здесь мы устанавливаем значение ключа секции userId, поскольку это поле чаще всего используется в запросах и содержит относительно большое количество уникальных значений, чтобы обеспечить оптимальную эффективность секционирования. В разделе пропускной способности мы задаем автоматическое масштабирование с максимальным количеством единиц запроса в секунду, равным 4000. Это означает, что для контейнера будет выделено не менее 400 единиц запросов в секунду (10 % максимального числа) с возможностью увеличения этого количества до 4000 в случаях, когда подсистема масштабирования обнаружит достаточно высокую нагрузку, требующую увеличения пропускной способности. Наконец, мы включили для контейнера аналитическое хранилище, что позволит нам использовать все преимущества архитектуры гибридной транзакционной аналитической обработки (HTAP) в Synapse Analytics.

    Далее мы рассмотрим данные, которые будут копироваться в новый контейнер.

  4. Разверните контейнер OnlineUserProfile01 в базе данных CustomerProfile, а затем выберите Элементы (1). Выберите один из документов (2) и просмотрите его содержимое (3). Документы хранятся в формате JSON.

    View container items

Благодаря включенной функции Azure Synapse Link и наличию подготовленного аналитического хранилища вы можете выполнять запросы к аналитическому хранилищу непосредственно из Azure Synapse Analytics или создать конвейер для копирования содержимого аналитического хранилища.