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

Область применения: API Azure Cosmos DB API SQL для 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 извлекаются и обрабатываются конвейерами извлечения и преобразования (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 Synapse Analytics доступ к этому уровню хранилища обеспечивает простоту и высокую производительность.

Рентабельность

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

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

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

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

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

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 Analytics

С помощью Synapse Link теперь можно подключаться непосредственно к контейнерам Azure Cosmos DB из Azure Synapse Analytics и обращаться к аналитическому хранилищу без отдельных соединителей. В настоящее время Azure Synapse Analytics поддерживает 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 Cosmos DB в среде выполнения Azure Synapse Analytics см. в статье Поддержка Azure Synapse Analytics для Cosmos DB.

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

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

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

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

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

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

Ограничения

  • Azure Synapse Link для Azure Cosmos DB поддерживается для API SQL и API Azure Cosmos DB для MongoDB. Эта возможность не поддерживается для API Gremlin, API Cassandra и API таблиц.

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

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

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

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

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

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

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

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

    • При использовании бессерверных пулов 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.

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

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