Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Important
Synapse Link для Cosmos DB больше не поддерживается для новых проектов. Не используйте эту функцию.
Пожалуйста, используйте функцию зеркалирования Azure Cosmos DB для Microsoft Fabric, которая теперь доступна в общей доступности (GA). Зеркальное отображение обеспечивает те же преимущества нулевого ETL и полностью интегрировано с Microsoft Fabric. Дополнительные сведения см. в Обзоре зеркалирования Cosmos DB.
Azure Synapse Link для Azure Cosmos DB — это облачная гибридная транзакционно-аналитическая возможность обработки (HTAP), которая позволяет вам выполнять аналитику операционных данных в Azure Cosmos DB почти в реальном времени. Synapse Link обеспечивает тесную эффективную интеграцию между Azure Cosmos DB и Azure Synapse Analytics.
Возможность Azure Synapse Link доступна для API SQL Azure Cosmos DB, а также для API Azure Cosmos DB для учетных записей Mongo DB. И он находится в предварительной версии для API Gremlin с активацией с помощью команд CLI. Выполните следующие действия, чтобы создать аналитические запросы с помощью Azure Synapse Link для Azure Cosmos DB:
- Включение Azure Synapse Link для учетных записей Azure Cosmos DB
- Включение Azure Synapse Link для контейнеров
- Подключение базы данных Azure Cosmos DB к рабочей области Azure Synapse
- Запрос аналитического хранилища с помощью Azure Synapse Analytics
- Повышение производительности с помощью лучших практик
Вы также можете проверить обучающий модуль по настройке Azure Synapse Link для Azure Cosmos DB.
Включение Azure Synapse Link для учетных записей Azure Cosmos DB
Первым шагом для использования Synapse Link является включение учетной записи базы данных Azure Cosmos DB.
Замечание
Если вы хотите использовать в Azure Synapse Link ключи, управляемые клиентом, то необходимо настроить управляемое удостоверение учетной записи в политике доступа Azure Key Vault, прежде чем включать для нее Azure Synapse Link. Дополнительные сведения см. в статье Настройка ключей, управляемых клиентом, с помощью управляемых удостоверений учетных записей Azure Cosmos DB.
Замечание
Чтобы настроить схему Full Fidelity для API учетных записей NoSQL, включите Synapse Link с помощью Azure CLI или PowerShell. Невозможно изменить выделение после включения Synapse Link. Дополнительные сведения см. в документации по представлению схемы аналитического хранилища.
Замечание
Вам нужна роль участника , чтобы включить Synapse Link на уровне учетной записи. Для того чтобы включить Synapse Link в контейнерах или коллекциях, требуется как минимум Operator.
Средства командной строки
Включите Synapse Link в API Azure Cosmos DB для учетной записи NoSQL или MongoDB с помощью Azure CLI или PowerShell.
Замечание
При включении Synapse Link аналитическое хранилище не включается автоматически. После того как вы включили Synapse Link в учетной записи Cosmos DB, включите аналитическое хранилище в контейнерах, чтобы приступить к использованию Synapse Link.
Azure CLI
Используйте --enable-analytical-storage true как для операции создания, так и для операции обновления. Вам также потребуется выбрать тип схемы представления. Для учетных записей API для NoSQL можно использовать --analytical-storage-schema-type со значениями FullFidelity или WellDefined. Для учетных записей API для MongoDB всегда используйте --analytical-storage-schema-type FullFidelity.
- Создание новой учетной записи Azure Cosmos DB с поддержкой Synapse Link
- Обновление существующей учетной записи Azure Cosmos DB для включения Synapse Link
Используйте Azure CLI, чтобы включить Synapse Link для Azure Synapse Link для учетной записи API Gremlin.
Synapse Link для API Gremlin теперь находится в предварительной версии. Вы можете включить Synapse Link в новых или существующих графах с помощью Azure CLI. Используйте приведенную ниже команду CLI, чтобы включить Synapse Link для учетной записи API Gremlin:
az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true
Для существующих учетных записей API Gremlin замените create на update.
PowerShell
Используйте EnableAnalyticalStorage true как для операции создания, так и для операции обновления. Вам также потребуется выбрать тип схемы представления. Для учетных записей API для NoSQL можно использовать --analytical-storage-schema-type со значениями FullFidelity или WellDefined. Для учетных записей API для MongoDB всегда используйте -AnalyticalStorageSchemaType FullFidelity.
- Создание новой учетной записи Azure Cosmos DB с поддержкой Synapse Link
- Обновление существующей учетной записи Azure Cosmos DB для включения Synapse Link
Шаблон Azure Resource Manager
Этот шаблон Azure Resource Manager создает учетную запись Azure Cosmos DB с поддержкой Synapse Link для API SQL. Этот шаблон позволяет создать учетную запись API (SQL) Core в одном регионе с настроенным контейнером, для которого включена поддержка аналитического срока жизни и возможность выбрать для пропускной способности настройку вручную или с помощью автомасштабирования. Чтобы развернуть этот шаблон, щелкните Развернуть в Azure на странице ReadMe.
Включить Azure Synapse Link для контейнеров
Второй шаг — включить Synapse Link для контейнеров или коллекций. Чтобы обеспечить бесконечное хранение, установите свойство analytical TTL в -1, или установите его в положительное целое число, равное количеству секунд, которое вы хотите сохранить в аналитическом хранилище. Этот параметр можно изменить позже. Дополнительные сведения см. в статье о поддерживаемых значениях аналитического TTL.
Обратите внимание на следующие сведения при включении Azure Synapse Link в существующих контейнерах API SQL:
- Изоляция производительности процесса автоматической синхронизации аналитического хранилища применяется и для его начальной синхронизации, и эта процедура не влияет на рабочие нагрузки OLTP.
- Время начальной синхронизации контейнера с аналитическим хранилищем зависит от объема данных и сложности документов. Этот процесс может занять от нескольких секунд до нескольких дней.
- На общее время начальной синхронизации также влияет пропускная способность контейнера или учетной записи базы данных. Хотя RU/s для этой миграции не используются, на производительность процесса влияет общее количество доступных RU/s. Чтобы ускорить процесс, вы можете временно увеличить количество доступных ЕЗ в своей среде.
- Пока для существующего контейнера включена служба Synapse Link, отправлять запросы к его аналитическому хранилищу нельзя. Это не затрагивает рабочую нагрузку OLTP, и чтение данных можно продолжать в обычном режиме. Данные, полученные после запуска начальной синхронизации, будут объединены в аналитическое хранилище в рамках обычного процесса автоматической синхронизации аналитического хранилища.
Замечание
Теперь вы можете включить Synapse Link в существующих коллекциях API MongoDB с помощью Azure CLI или PowerShell.
Средства командной строки
Azure CLI
Следующие параметры включают Synapse Link в контейнере с помощью Azure CLI, устанавливая свойство --analytical-storage-ttl.
- Создание или обновление коллекции MongoDB в Azure Cosmos DB
- Создание или обновление контейнера API SQL Azure Cosmos DB
Использование Azure CLI для включения Synapse Link для Azure Synapse Link для Графов API Gremlin
Synapse Link для API Gremlin теперь находится в предварительной версии. Вы можете включить Synapse Link в новых или существующих графах с помощью Azure CLI. Используйте приведенную ниже команду CLI, чтобы включить Synapse Link для графов API Gremlin:
az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1
Для существующих графов замените create на update.
PowerShell
Следующие параметры включают Synapse Link в контейнере с помощью Azure CLI, устанавливая свойство -AnalyticalStorageTtl.
- Создание или обновление коллекции MongoDB в Azure Cosmos DB
- Создание или обновление контейнера API SQL Azure Cosmos DB
Пакеты SDK для Azure Cosmos DB — только для API SQL
пакет SDK .NET
Следующий код .NET создает контейнер с поддержкой Synapse Link, задав AnalyticalStoreTimeToLiveInSeconds свойство. Чтобы обновить существующий контейнер, используйте метод Container.ReplaceContainerAsync.
CosmosClient cosmosClient = new CosmosClient(
accountEndpoint: "<nosql-account-endpoint>",
tokenCredential: new DefaultAzureCredential()
);
// Create a container with a partition key, and analytical TTL configured to -1 (infinite retention)
ContainerProperties properties = new ContainerProperties()
{
Id = "myContainerId",
PartitionKeyPath = "/id",
AnalyticalStoreTimeToLiveInSeconds = -1,
};
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);
пакет SDK Java версии 4
Следующий код Java создает контейнер с поддержкой Synapse Link, задав setAnalyticalStoreTimeToLiveInSeconds свойство. Чтобы обновить существующий контейнер, используйте container.replace класс.
// Create a container with a partition key and analytical TTL configured to -1 (infinite retention)
CosmosContainerProperties containerProperties = new CosmosContainerProperties("myContainer", "/myPartitionKey");
containerProperties.setAnalyticalStoreTimeToLiveInSeconds(-1);
container = database.createContainerIfNotExists(containerProperties, 400).block().getContainer();
Пакет SDK для Python версии 4
Следующий код Python создает контейнер с поддержкой Synapse Link, задав analytical_storage_ttl свойство. Чтобы обновить существующий контейнер, используйте метод replace_container.
# Client
client = cosmos_client.CosmosClient(HOST, KEY )
# Database client
try:
db = client.create_database(DATABASE)
except exceptions.CosmosResourceExistsError:
db = client.get_database_client(DATABASE)
# Creating the container with analytical store enabled
try:
container = db.create_container(
id=CONTAINER,
partition_key=PartitionKey(path='/id', kind='Hash'),analytical_storage_ttl=-1
)
properties = container.read()
print('Container with id \'{0}\' created'.format(container.id))
print('Partition Key - \'{0}\''.format(properties['partitionKey']))
except exceptions.CosmosResourceExistsError:
print('A container with already exists')
Подключение к рабочей области Synapse
Выполните инструкции из статьи о подключении к Azure Synapse Link, чтобы получить доступ к базе данных Azure Cosmos DB из Azure Synapse Analytics Studio с помощью Azure Synapse Link.
Запрос аналитического хранилища с помощью Azure Synapse Analytics
Выполнение запросов к аналитическому хранилищу с помощью Apache Spark для Azure Synapse Analytics
Инструкции по выполнению запросов с помощью Synapse Spark 3 см. в статье Запросы в аналитическое хранилище Azure Cosmos DB с помощью Spark 3. В этой статье приводятся некоторые примеры того, как можно взаимодействовать с аналитическим хранилищем с помощью жестов Synapse. Эти жесты видны, когда вы щелкаете правой кнопкой мыши на контейнере. С помощью жестов можно быстро создать код и скорректировать его в соответствии с потребностями. Они также идеально подходят для обнаружения данных одним щелчком мыши.
Для интеграции Spark 2 используйте инструкцию в статье Запросы в аналитическое хранилище Azure Cosmos DB с помощью Spark 2.
Настраиваемое секционирование
Настраиваемое секционирование позволяет секционировать данные аналитического хранилища по полям, которые обычно используются в качестве фильтров в аналитических запросах, что приводит к повышению производительности запросов. Дополнительные сведения см. в статьях о настраиваемом секционировании и настройке настраиваемого секционирования.
Рекомендации по использованию Azure Synapse SQL Serverless для Azure Synapse Link для Cosmos DB
Используйте эти обязательные рекомендации для бессерверных запросов SQL.
Начало работы с Azure Synapse Link — примеры
Примеры для начала работы с Azure Synapse Link можно найти на сайте GitHub. Они представляют собой комплексные демонстрационные решения, посвященные сценариям Интернета вещей и розничной торговли. Вы также можете найти примеры, соответствующие Azure Cosmos DB для MongoDB, в том же репозитории в папке MongoDB .
Дальнейшие действия
Дополнительные сведения см. в следующих документах:
- Проверьте обучающий модуль по настройке Azure Synapse Link для Azure Cosmos DB.
- Обзор аналитического хранилища Azure Cosmos DB.
- Часто задаваемые вопросы по "Azure Synapse Link" для "Azure Cosmos DB".
- Apache Spark в Azure Synapse Analytics.
- Поддержка среды выполнения бессерверного пула SQL в Azure Synapse Analytics.