Azure Synapse Link voor Azure Cosmos DB configureren en gebruiken

VAN TOEPASSING OP: Nosql MongoDB Gremlin

Azure Synapse Link voor Azure Cosmos DB is een cloudeigen HTAP-mogelijkheid (Hybrid Transactional and Analytical Processing) waarmee u bijna realtime analyses kunt uitvoeren op operationele gegevens in Azure Cosmos DB. Synapse Link maakt een nauwe naadloze integratie tussen Azure Cosmos DB en Azure Synapse Analytics.

Azure Synapse Link is beschikbaar voor Azure Cosmos DB SQL API of voor Azure Cosmos DB-API voor Mongo DB-accounts. En het is in preview voor Gremlin-API, met activering via CLI-opdrachten. Gebruik de volgende stappen om analytische query's uit te voeren met de Azure Synapse Link voor Azure Cosmos DB:

U kunt ook de trainingsmodule controleren over het configureren van Azure Synapse Link voor Azure Cosmos DB.

De eerste stap voor het gebruik van Synapse Link is het inschakelen voor uw Azure Cosmos DB-databaseaccount.

Notitie

Als u door de klant beheerde sleutels wilt gebruiken met Azure Synapse Link, moet u de beheerde identiteit van uw account configureren in uw Azure Key Vault-toegangsbeleid voordat u Synapse Link inschakelt voor uw account. Zie voor meer informatie hoe u door de klant beheerde sleutels configureert met behulp van het artikel beheerde identiteiten van Azure Cosmos DB-accounts.

Notitie

Als u Full Fidelity Schema voor API voor NoSQL-accounts wilt gebruiken, kunt u Azure Portal niet gebruiken om Synapse Link in te schakelen. Deze optie kan niet worden gewijzigd nadat Synapse Link is ingeschakeld in uw account en om deze in te stellen, moet u Azure CLI of PowerShell gebruiken. Raadpleeg de documentatie voor schemaweergave van analytische opslag voor meer informatie.

Notitie

U hebt de rol Inzender nodig om Synapse Link op accountniveau in te schakelen. En u hebt ten minste de operatorrol nodig om Synapse Link in te schakelen in uw containers of verzamelingen.

Azure Portal

  1. Meld u aan bij de Azure-portal.

  2. Maak een nieuw Azure Cosmos DB-account of selecteer een bestaand Azure Cosmos DB account.

  3. Navigeer naar uw Azure Cosmos DB-account en open de Azure Synapse Link onder Integraties in het linkerdeelvenster.

  4. Selecteer Inschakelen. Dit proces kan 1 tot 5 minuten duren.

    Screenshot showing how to enable Synapse Link feature.

  5. Uw account is nu ingeschakeld voor het gebruik van Synapse Link. Bekijk vervolgens hoe u containers met analytische opslag maakt om automatisch te beginnen met het repliceren van uw operationele gegevens van de transactionele opslag naar de analytische opslag.

Notitie

Als u Synapse Link inschakelt, wordt de analytische opslag niet automatisch ingeschakeld. Zodra u Synapse Link voor het Cosmos DB-account hebt ingeschakeld, schakelt u analytische opslag in containers in om Synapse Link te gebruiken.

Notitie

U kunt Synapse Link ook inschakelen voor uw account met behulp van het deelvenster Power BI en Synapse Link in de sectie Integraties van het linkernavigatiemenu.

Opdrachtregelprogramma's

Schakel Synapse Link in uw Azure Cosmos DB-API voor NoSQL- of MongoDB-account in met behulp van Azure CLI of PowerShell.

Azure-CLI

Gebruik --enable-analytical-storage true deze bewerkingen voor het maken of bijwerken van bewerkingen. U moet ook het type weergaveschema kiezen. Voor API voor NoSQL-accounts kunt u deze gebruiken --analytical-storage-schema-type met de waarden FullFidelity of WellDefined. Gebruik altijd --analytical-storage-schema-type FullFidelityvoor API voor MongoDB-accounts.

Synapse Link voor Gremlin-API is nu in preview. U kunt Synapse Link inschakelen in uw nieuwe of bestaande grafieken met behulp van Azure CLI. Gebruik de onderstaande CLI-opdracht om Synapse Link in te schakelen voor uw Gremlin-API-account:

az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true

Vervang voor bestaande Gremlin-API-accounts door createupdate.

PowerShell

Gebruik EnableAnalyticalStorage true deze bewerkingen voor het maken of bijwerken van bewerkingen. U moet ook het type weergaveschema kiezen. Voor API voor NoSQL-accounts kunt u deze gebruiken --analytical-storage-schema-type met de waarden FullFidelity of WellDefined. Gebruik altijd -AnalyticalStorageSchemaType FullFidelityvoor API voor MongoDB-accounts.

Azure Resource Manager-sjabloon

Met deze Azure Resource Manager-sjabloon maakt u een Azure Cosmos DB-account met Synapse Link voor SQL API. Met deze sjabloon maakt u een Core-API-account (SQL) in één regio met een container die is geconfigureerd met analytische TTL en een optie voor het gebruik van handmatige of automatische schaalaanpassing van doorvoer. Als u deze sjabloon wilt implementeren, klikt u op Implementeren in Azure op de leesmij-pagina.

Azure Synapse Link inschakelen voor uw containers

De tweede stap is het inschakelen van Synapse Link voor uw containers of verzamelingen. Dit wordt bereikt door de analytical TTL eigenschap in te -1 stellen op oneindige retentie of op een positief geheel getal, dat het aantal seconden is dat u in de analytische opslag wilt bewaren. Deze instelling kan later worden gewijzigd. Zie het artikel met ondersteunde waarden voor analytische TTL voor meer informatie.

Let op de volgende details bij het inschakelen van Azure Synapse Link in uw bestaande SQL API-containers:

  • Dezelfde prestatie-isolatie van het proces voor automatische synchronisatie van analytische opslag is van toepassing op de eerste synchronisatie en er is geen invloed op de prestaties van uw OLTP-workload.
  • De initiële synchronisatie van een container met de totale tijd van de analytische opslag varieert, afhankelijk van het gegevensvolume en de complexiteit van de documenten. Dit proces kan een paar seconden tot meerdere dagen duren. Gebruik Azure Portal om de migratievoortgang te controleren.
  • De doorvoer van uw container of databaseaccount heeft ook invloed op de totale initiële synchronisatietijd. Hoewel RU/s niet worden gebruikt in deze migratie, heeft de totale beschikbare RU/s invloed op de prestaties van het proces. U kunt de beschikbare RU's van uw omgeving tijdelijk verhogen om het proces te versnellen.
  • U kunt geen query's uitvoeren op analytische opslag van een bestaande container terwijl Synapse Link wordt ingeschakeld voor die container. Uw OLTP-werkbelasting wordt niet beïnvloed en u kunt gegevens normaal blijven lezen. Gegevens die na het begin van de eerste synchronisatie worden opgenomen, worden samengevoegd in de analytische opslag door het normale proces voor automatische synchronisatie van analytische opslag.

Notitie

Nu kunt u Synapse Link inschakelen voor uw bestaande MongoDB-API-verzamelingen, met behulp van Azure CLI of PowerShell.

Azure Portal

Nieuwe container

  1. Meld u aan bij Azure Portal of De Azure Cosmos DB Explorer.

  2. Navigeer naar uw Azure Cosmos DB-account en open het tabblad Data Explorer .

  3. Selecteer Nieuwe container en voer een naam in voor uw database, container, partitiesleutel en doorvoergegevens. Schakel de optie Analytische opslag in. Nadat u de analytische opslag hebt ingeschakeld, wordt er een container gemaakt met analytical TTL de eigenschap ingesteld op de standaardwaarde -1 (oneindige retentie). Deze analytische opslag die alle historische versies van records bewaart en later kan worden gewijzigd.

    Turn on analytical store for Azure Cosmos DB container

  4. Als u Synapse Link eerder niet hebt ingeschakeld voor dit account, wordt u gevraagd dit te doen omdat het een vereiste is om een container met analytische opslag te maken. Als u hierom wordt gevraagd, selecteert u Synapse Link inschakelen. Dit proces kan 1 tot 5 minuten duren.

  5. Selecteer OK om een azure Cosmos DB-container met analytische opslag te maken.

  6. Nadat de container is gemaakt, controleert u of de analytische opslag is ingeschakeld door te klikken op Instellingen, direct onder Documenten in Data Explorer en te controleren of de optie Time to Live voor analytische opslag is ingeschakeld.

Bestaande container

  1. Meld u aan bij Azure Portal of De Azure Cosmos DB Explorer.

  2. Navigeer naar uw Azure Cosmos DB-account en open het tabblad Azure Synapse Link .

  3. Selecteer de container in de sectie Azure Synapse Link inschakelen voor uw containers .

    Screenshot showing how to turn on analytical store for an Azure Cosmos DB existing container.

  4. Nadat de container is ingeschakeld, controleert u of de analytische opslag is ingeschakeld door te klikken op Instellingen, direct onder Documenten in Data Explorer en te controleren of de optie Time to Live voor analytische opslag is ingeschakeld.

Notitie

U kunt Synapse Link ook inschakelen voor uw account met behulp van het deelvenster Power BI en Synapse Link in de sectie Integraties van het linkernavigatiemenu.

Opdrachtregelprogramma's

Azure-CLI

Met de volgende opties schakelt u Synapse Link in een container in met behulp van Azure CLI door de eigenschap in te --analytical-storage-ttl stellen.

Synapse Link voor Gremlin-API is nu in preview. U kunt Synapse Link inschakelen in uw nieuwe of bestaande grafieken met behulp van Azure CLI. Gebruik de ONDERSTAANDe CLI-opdracht om Synapse Link in te schakelen voor uw Gremlin API-grafieken:

az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1

Vervang voor bestaande grafieken door createupdate.

PowerShell

Met de volgende opties schakelt u Synapse Link in een container in met behulp van Azure CLI door de eigenschap in te -AnalyticalStorageTtl stellen.

Azure Cosmos DB SDK's - alleen SQL-API

.NET SDK

Met de volgende .NET-code wordt een container met Synapse Link gemaakt door de AnalyticalStoreTimeToLiveInSeconds eigenschap in te stellen. Als u een bestaande container wilt bijwerken, gebruikt u de Container.ReplaceContainerAsync methode.

// 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,
};
CosmosClient cosmosClient = new CosmosClient("myConnectionString");
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);

Java V4 SDK

Met de volgende Java-code wordt een container met Synapse Link gemaakt door de setAnalyticalStoreTimeToLiveInSeconds eigenschap in te stellen. Als u een bestaande container wilt bijwerken, gebruikt u de container.replace klasse.

// 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();

Python V4 SDK

Met de volgende Python-code wordt een container met Synapse Link gemaakt door de analytical_storage_ttl eigenschap in te stellen. Als u een bestaande container wilt bijwerken, gebruikt u de replace_container methode.

# 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')

Verbinding maken naar een Synapse-werkruimte

Gebruik de instructies in Verbinding maken naar Azure Synapse Link voor toegang tot een Azure Cosmos DB-database vanuit Azure Synapse Analytics Studio met Azure Synapse Link.

Query's uitvoeren op analytische opslag met behulp van Azure Synapse Analytics

Analytische opslag opvragen met Apache Spark voor Azure Synapse Analytics

Gebruik de instructies in de analytische opslag van Azure Cosmos DB query's met behulp van Spark 3 over het uitvoeren van query's met Synapse Spark 3. Dit artikel bevat enkele voorbeelden van hoe u met de analytische opslag kunt werken vanuit Synapse-gebaren. Deze bewegingen zijn zichtbaar wanneer u met de rechtermuisknop op een container klikt. Met bewegingen kunt u snel code genereren en aanpassen aan uw behoeften. Ze zijn ook perfect voor het detecteren van gegevens met één klik.

Voor Spark 2-integratie gebruikt u de instructie in de analytische opslag van Query in Azure Cosmos DB met behulp van spark 2 .

Query's uitvoeren op de analytische opslag met behulp van een serverloze SQL-pool in Azure Synapse Analytics

Met een serverloze SQL-pool kunt u gegevens opvragen en analyseren in uw Azure Cosmos DB-containers die zijn ingeschakeld met Azure Synapse Link. U kunt gegevens in bijna realtime analyseren zonder dat dit van invloed is op de prestaties van uw transactionele workloads. Het biedt een vertrouwde T-SQL-syntaxis voor het opvragen van gegevens uit de analytische opslag en geïntegreerde connectiviteit met een breed scala aan BI- en ad-hoc queryhulpprogramma's via de T-SQL-interface. Zie het artikel Query analytical store met behulp van een serverloze SQL-pool voor meer informatie.

Serverloze SQL-pool gebruiken om gegevens te analyseren en te visualiseren in Power BI

U kunt de geïntegreerde BI-ervaring in de Azure Cosmos DB-portal gebruiken om BI-dashboards te bouwen met behulp van Synapse Link met slechts een paar klikken. Zie voor meer informatie hoe u BI-dashboards bouwt met behulp van Synapse Link. Met deze geïntegreerde ervaring maakt u eenvoudige T-SQL-weergaven in serverloze Synapse SQL-pools voor uw Azure Cosmos DB-containers. U kunt BI-dashboards maken via deze weergaven, waarmee in realtime query's worden uitgevoerd op uw Azure Cosmos DB-containers, met behulp van Direct Query, waarin de meest recente wijzigingen in uw gegevens worden weergegeven. Er is geen invloed op prestaties of kosten voor uw transactionele workloads en geen complexiteit van het beheren van ETL-pijplijnen.

Als u geavanceerde T-SQL-weergaven wilt gebruiken met joins in uw containers of Power BI-dashboards wilt bouwen in de importmodus, raadpleegt u Serverloze SQL-pool gebruiken om Azure Cosmos DB-gegevens te analyseren met Synapse Link.

Prestaties verbeteren met aanbevolen procedures

Aangepaste partitionering

Met aangepaste partitionering kunt u analytische opslaggegevens partitioneren op velden die vaak worden gebruikt als filters in analytische query's, wat resulteert in verbeterde queryprestaties. Zie de inleiding tot aangepaste partitionering en het configureren van artikelen over aangepaste partitionering voor meer informatie.

Gebruik deze verplichte aanbevolen procedures voor uw serverloze SQL-query's.

U vindt voorbeelden om aan de slag te gaan met Azure Synapse Link op GitHub. Deze laten end-to-end-oplossingen zien met IoT- en retailscenario's. U kunt ook de voorbeelden vinden die overeenkomen met Azure Cosmos DB voor MongoDB in dezelfde opslagplaats onder de MongoDB-map .

Volgende stappen

Zie de volgende documenten voor meer informatie: