Что такое Azure Synapse Link для Azure Cosmos DB?

ПРИМЕНИМО К: Nosql Mongodb Гремлин

Azure Synapse Link для Azure Cosmos DB — это облачная гибридная транзакционно-аналитическая возможность обработки (HTAP), которая обеспечивает аналитику операционных данных в Azure Cosmos DB почти в реальном времени. Azure Synapse Link обеспечивает тесную эффективную интеграцию между Azure Cosmos DB и Azure Synapse Analytics.

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

На следующем рисунке показана интеграция Azure Synapse Link с Azure Cosmos DB и Azure Synapse Analytics:

Схема архитектуры для интеграции Azure Synapse Analytics с Azure Cosmos DB

Для анализа больших операционных наборов данных и минимизации влияния на производительность критически важных транзакционных рабочих нагрузок Azure Cosmos DB обычно извлекает и обрабатывает операционные данные. Эти операции выполняются с помощью конвейеров Extract-Transform-Load (ETL). Конвейерам ETL требуется много уровней перемещения данных, что приводит к значительной сложности операций и влияет на производительность транзакционных рабочих нагрузок. Также увеличивается задержка для анализа операционных данных от начального момента.

По сравнению с традиционными решениями на основе ETL, Azure Synapse Link для Azure Cosmos DB предлагает следующие преимущества:

Уменьшение сложности без необходимости управления заданиями ETL

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

Анализ операционных данных почти в реальном времени

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

Отсутствие компрометации производительности рабочих нагрузок

С помощью Azure Synapse Link можно выполнять аналитические запросы к аналитическому хранилищу Azure Cosmos DB— хранилищу столбцов для ваших данных. Запросы можно выполнять во время обработки транзакционных операций с использованием подготовленной пропускной способности для транзакционной рабочей нагрузки через хранилище транзакций на основе строк Azure Cosmos DB. Аналитическая рабочая нагрузка не зависит от трафика транзакционной рабочей нагрузки, не потребляя пропускную способность, выделенную для рабочих данных.

Оптимизация для крупномасштабных аналитических рабочих нагрузок

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

Экономичность

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

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

Аналитика для локально доступных, глобально распределенных записей для нескольких регионов

Это позволяет эффективно выполнять аналитические запросы по отношению к ближайшей региональной копии ваших данных в Azure Cosmos DB. Azure Cosmos DB предоставляет современные возможности для выполнения глобальных распределенных аналитических рабочих нагрузок вместе с транзакционными рабочими нагрузками в режиме "активный — активный".

Включение сценариев HTAP для операционных данных

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

Аналитическое хранилище Azure Cosmos DB

Аналитическое хранилище Azure Cosmos DB — это представление операционных данных в Azure Cosmos DB, ориентированное на столбцы. Это аналитическое хранилище подходит для быстрых и экономичных запросов к большим операционным наборам данных. Это хранилище может запрашивать данные, не копируя данные и не влияя на производительность транзакционных рабочих нагрузок.

Аналитическое хранилище автоматически фиксирует часто выполняющиеся операции вставки, обновления и удаления в ваших транзакционных рабочих нагрузках практически в реальном времени благодаря полностью управляемому компоненту (автоматическая синхронизация) Azure Cosmos DB. Нет необходимости в канале изменений или ETL.

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

С помощью Azure Synapse Link теперь можно напрямую подключаться к контейнерам Azure Cosmos DB из Azure Synapse Analytics и получать доступ к аналитическому хранилищу без отдельных соединителей. Azure Synapse Analytics в настоящее время поддерживает Azure Synapse Link с Synapse Apache Spark и бессерверным пулом SQL.

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

  • Synapse Apache Spark с полной поддержкой Scala, Python, SparkSQL и C# (Synapse Spark — это основное средство для инжиниринга, обработки и анализа данных);

  • Бессерверный пул SQL с языком T-SQL и поддержкой знакомых средств бизнес-аналитики (например, Power BI Premium и т. п.).

Примечание

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

Примечание

Вы можете запустить аналитику с низкой задержкой в регионе Azure, подключив контейнер Azure Cosmos DB к среде выполнения Synapse в этом регионе.

Такая интеграция позволяет выполнять следующие сценарии HTAP для разных пользователей:

  • Инженер бизнес-аналитики, который хочет смоделировать и опубликовать отчет Power BI, чтобы получить доступ к текущим операционным данным в Azure Cosmos DB напрямую через Synapse SQL.

  • Аналитик данных, который хочет получить ценную информацию из операционных данных в контейнере Azure Cosmos DB, отправив запрос с помощью Synapse SQL, прочитать данные в большом масштабе и объединить эти результаты с другими источниками данных.

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

  • Инженер данных, который хочет сделать данные доступными для потребителей, создавая таблицы SQL или Spark в контейнерах Azure Cosmos DB без процессов ETL, выполняемых вручную.

Дополнительные сведения о поддержке среды выполнения Azure Synapse Analytics для Azure Cosmos DB см. в статье Поддержка Azure Synapse Analytics для Azure Cosmos DB.

Azure Synapse Link рекомендуется использовать в следующих случаях:

  • Если вы являетесь клиентом Azure Cosmos DB и хотите использовать аналитику, бизнес-аналитику и машинное обучение для своих операционных данных. В таких случаях Azure Synapse Link предоставляет более интегрированный интерфейс аналитики, не влияя на подготовленную пропускную способность хранилища транзакций. Пример:

    • Если вы используете аналитику или бизнес-аналитику для операционных данных Azure Cosmos DB прямо сейчас, используя отдельные соединители.

    • Если вы используете процессы ETL для извлечения операционных данных в отдельную систему аналитики.

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

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

Ограничения

  • Azure Synapse Link для Azure Cosmos DB не поддерживается для API-интерфейсов Cassandra и таблиц. Он поддерживается для API для NoSQL и MongoDB. Кроме того, он находится в предварительной версии для API Gremlin.

  • Доступ к хранилищу аналитики Azure Cosmos DB с помощью выделенного пула SQL Azure Synapse сейчас не поддерживается.

  • Включение Azure Synapse Link в существующих контейнерах Azure Cosmos DB поддерживается только для учетных записей API для NoSQL. Azure Synapse Link можно включить в новых контейнерах для учетных записей API для NoSQL и MongoDB.

  • Хотя данные аналитического хранилища не архивируются и, следовательно, не могут быть восстановлены, вы можете перестроить аналитическое хранилище, повторно заверив Azure Synapse Link в восстановленном контейнере. Дополнительные сведения см. в документации по аналитическому хранилищу .

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

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

  • В настоящее время рабочие области Azure Synapse не поддерживают связанные службы с Managed Identity. Всегда используйте параметр MasterKey.

Безопасность

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

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

  • Шифрование с использованием ключей, управляемых клиентом. Можно легко автоматически и прозрачно шифровать данные в транзакционных хранилищах и хранилищах аналитических данных, используя одни и те же ключи, управляемые клиентом. Azure Synapse Link поддерживает только настройку ключей, управляемых клиентом, с помощью управляемого удостоверения учетной записи Azure Cosmos DB. Вам нужно настроить управляемое удостоверение учетной записи в политике доступа Azure Key Vault до того, как вы включите Azure Synapse Link в своей учетной записи. Дополнительные сведения см. в статье Настройка ключей, управляемых клиентом, с помощью управляемых удостоверений учетных записей Azure Cosmos DB.

  • Безопасное управление ключами. Доступ к данным в хранилище аналитических данных из Synapse Spark и бессерверных пулов SQL требует управления ключами Azure Cosmos DB в рабочих областях Synapse Analytics. Azure Synapse Link предоставляет более безопасные возможности, чем использование ключей учетной записи Azure Cosmos DB в заданиях Spark или скриптах SQL.

    • При использовании бессерверных пулов SQL Synapse можно запрашивать аналитическое хранилище Azure Cosmos DB, предварительно создав учетные данные SQL, храня ключи учетных записей и указав ссылки на эти ключи в OPENROWSET функции. Дополнительные сведения см. в статье Запрос с использованием бессерверного пула SQL Azure Synapse Link.

    • При использовании Synapse Spark можно хранить ключи учетной записи в связанных объектах службы, указывающих на базу данных Azure Cosmos DB, и ссылаться на ключи в конфигурации Spark во время выполнения. Дополнительные сведения см. в статье Копирование данных в выделенный пул SQL с помощью Apache Spark.

Цены

Модель выставления счетов по Azure Synapse Link включает в себя затраты, связанные с использованием аналитического хранилища Azure Cosmos DB и среды выполнения Synapse. Дополнительные сведения см. в статьях Цены на аналитическое хранилище Azure Cosmos DB и Цены на Azure Synapse Analytics.

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

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