Creare un contenitore abilitato per l'archivio analitico

Completato

Dopo aver abilitato Collegamento ad Azure Synapse in un account Azure Cosmos DB, è possibile creare o aggiornare un contenitore che possa supportare un archivio analitico.

Un archivio analitico è un archivio basato su colonne all'interno dello stesso contenitore di un archivio operativo basato su righe. Un processo di sincronizzazione automatica sincronizza le modifiche apportate nell'archivio operativo all'interno dell'archivio analitico. Qui è possibile eseguire le query senza sovraccaricare l'archivio operativo durante l'elaborazione.

Tipi di schema dell'archivio analitico

Poiché i dati dall'archivio operativo vengono sincronizzati con l'archivio analitico, lo schema viene aggiornato in modo dinamico per riflettere la struttura dei documenti sincronizzati. Il comportamento specifico di questa manutenzione dinamica dello schema dipende dal tipo di schema dell'archivio analitico configurato per l'account Azure Cosmos DB. Sono supportati due tipi di rappresentazione dello schema:

  • Ben definito: Tipo di schema predefinito per un account Azure Cosmos DB per NoSQL.
  • Fedeltà completa: Il tipo di schema predefinito (e l'unico supportato) per un account Azure Cosmos DB for MongoDB.

L'archivio analitico riceve i dati JSON dall'archivio operativo e li organizza in una struttura basata su colonne. In uno schema ben definito la prima occorrenza nonnull di un campo JSON determina il tipo di dati per tale campo. Le occorrenze successive del campo non compatibili con il tipo di dati assegnato non vengono inserite nell'archivio analitico.

Si consideri ad esempio i due documenti JSON seguenti:

{"productID": 123, "productName": "Widget"}
{"productID": "124", "productName": "Wotsit"}

Il primo documento determina che il campo productID è un valore numerico (intero). Quando viene rilevato il secondo documento, il relativo campo productID ha un valore stringa, che non viene quindi importato nell'archivio analitico. Il documento e il resto del campo vengono importati, mentre il campo non compatibile viene eliminato. Le colonne seguenti rappresentano i dati nell'archivio analitico:

productID productName
123 Widget
Wotsit

In uno schema con massima fedeltà il tipo di dati viene aggiunto a ogni istanza del campo. Vengono create nuove colonne in base alle esigenze e viene abilitato un archivio analitico per contenere più occorrenze di un campo, ognuno con un tipo di dati diverso, come illustrato nella tabella seguente:

productID.int32 productName.string productID.string
123 Widget
Wotsit 124

Nota

Per altre informazioni, vedere Informazioni sull'archivio analitico di Azure Cosmos DB.

Abilitazione del supporto dell'archivio analitico in un contenitore

È possibile abilitare il supporto dell'archivio analitico durante la creazione di un nuovo contenitore o per un contenitore esistente. Per abilitare il supporto dell'archivio analitico, è possibile usare il portale di Azure oppure l'interfaccia della riga di comando di Azure o Azure PowerShell da una riga di comando o in uno script.

Tramite il portale di Azure

Per abilitare il supporto dell'archivio analitico durante la creazione di un nuovo contenitore nel portale di Azure, selezionare l'opzione per Archivio analitico, come illustrato di seguito:

Screenshot che mostra l'opzione Archivio analitico durante la creazione di un nuovo contenitore nel portale di Azure.

In alternativa, è possibile abilitare il supporto dell'archivio analitico per un contenitore esistente nella pagina Collegamento ad Azure Synapse nella sezione Integrazioni della pagina per l'account Cosmos DB, come illustrato di seguito:

Screenshot che mostra la pagina Collegamento ad Azure Synapse nel portale di Azure, con un contenitore esistente selezionato e il pulsante Abilita collegamento a Synapse nel contenitore abilitato.

Con l'interfaccia della riga di comando di Azure

Per usare l'interfaccia della riga di comando di Azure per abilitare il supporto dell'archivio analitico in un contenitore Azure Cosmos DB for NoSQL, eseguire il comando az cosmosdb sql container create (per creare un nuovo contenitore) o il comando az cosmosdb sql container update (per configurare un contenitore esistente) con il parametro --analytical-storage-ttl, che assegna un tempo di conservazione dei dati analitici. Come parametro -analytical-storage-ttl specificare -1 per abilitare la conservazione permanente dei dati analitici. Ad esempio, il comando seguente crea un nuovo contenitore denominato my-container con il supporto dell'archivio analitico.

az cosmosdb sql container create --resource-group my-rg --account-name my-cosmos-db --database-name my-db --name my-container --partition-key-path "/productID" --analytical-storage-ttl -1

Per un account Azure Cosmos DB for MongoDB, è possibile usare il comando az cosmosdb mongodb collection create o az cosmosdb mongodb collection update con il parametro --analytical-storage-ttl. Per un account Azure Cosmos DB per Apache Gremlin, usare il comando az cosmosdb gremlin graph create o az cosmosdb gremlin graph update con il parametro --analytical-storage-ttl.

Uso di Azure PowerShell

Per usare Azure PowerShell per abilitare il supporto dell'archivio analitico in un contenitore Azure Cosmos DB for NoSQL, eseguire il cmdlet New-AzCosmosDBSqlContainer (per creare un nuovo contenitore) o il cmdlet Update-AzCosmosDBSqlContainer (per configurare un contenitore esistente) con il parametro -AnalyticalStorageTtl, assegnando un tempo di conservazione per i dati analitici. Come parametro -AnalyticalStorageTtl specificare -1 per abilitare la conservazione permanente dei dati analitici. Ad esempio, il comando seguente crea un nuovo contenitore denominato my-container con il supporto dell'archivio analitico.

New-AzCosmosDBSqlContainer -ResourceGroupName "my-rg" -AccountName "my-cosmos-db" -DatabaseName "my-db" -Name "my-container" -PartitionKeyKind "hash" -PartitionKeyPath "/productID" -AnalyticalStorageTtl -1

Per un account dell'API Azure Cosmos DB for MongoDB, usare il cmdlet New-AzCosmosDBMongoDBCollection o Update-AzCosmosDBMongoDBCollection con il parametro -AnalyticalStorageTtl.

Considerazioni per abilitare il supporto dell'archivio analitico

Il supporto dell'archivio analitico non può essere disabilitato senza eliminare il contenitore. L'impostazione del valore TTL dell'archivio analitico su 0 o su null fa sì che l'archivio analitico venga effettivamente disabilitato. Non vi sincronizzerà più nuovi elementi provenienti dall'archivio operativo ed eliminerà gli elementi già sincronizzati dall'archivio analitico. Dopo aver impostato questo valore su 0, non è possibile riabilitare il supporto dell'archivio analitico nel contenitore.