Что такое 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 для включения аналитики Extract-Transform-Load (ETL) в Azure Synapse Analytics в отношении операционных данных в масштабе. Бизнес-аналитики, инженеры по данным и специалисты по обработке и анализу данных теперь могут взаимозаменяемым образом использовать Synapse Spark или Synapse SQL для выполнения конвейеров бизнес-аналитики, аналитики и машинного обучения практически в реальном времени. Вы можете анализировать данные в режиме реального времени, не влияя на производительность транзакционных рабочих нагрузок в Azure Cosmos DB.

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

Architecture diagram for Azure Synapse Analytics integration with Azure Cosmos DB

Чтобы проанализировать большие операционные наборы данных при минимизации влияния на производительность критически важных транзакционных рабочих нагрузок, клиенты Azure Cosmos DB традиционно экспортируют операционные данные. Эти операции выполняются конвейерами Extract-Transform-Load (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 Cosmos DB прямо сейчас, используя отдельные соединители.

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

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

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

Ограничения

  • Azure Synapse Link для Azure Cosmos DB поддерживается для API NoSQL и MongoDB. Он не поддерживается для API Cassandra или Table и остается в предварительной версии для API Gremlin.

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

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

  • Теперь доступна возможность включения Synapse Link в учетных записях базы данных с поддержкой непрерывного резервного копирования. Но обратная ситуация, чтобы включить непрерывную резервную копию в учетных записях базы данных 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.

Следующие шаги

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