Creare un contenitore abilitato per l'archivio analitico

Completato

Dopo aver abilitato Azure Collegamento a Synapse in un account Azure Cosmos DB, è possibile creare o aggiornare un contenitore con supporto per 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: tipo di schema predefinito (e supportato solo) per un account Azure Cosmos DB per 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 showing the Analytical Store option when creating a new container in the Azure portal.

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 showing the Azure Synapse Link page in the Azure portal, with an existing container selected and the Enable Synapse Link on your container button enabled.

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 per NoSQL, eseguire il az cosmosdb sql container create comando (per creare un nuovo contenitore) o az cosmosdb sql container update il comando (per configurare un contenitore esistente) con il --analytical-storage-ttl parametro , assegnando un tempo di conservazione per i 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 per MongoDB, è possibile usare il az cosmosdb mongodb collection create comando o az cosmosdb mongodb collection update con il --analytical-storage-ttl parametro . Per un account Azure Cosmos DB per Apache Gremlin, usare il az cosmosdb gremlin graph create comando o az cosmosdb gremlin graph update con il --analytical-storage-ttl parametro .

Uso di Azure PowerShell

Per usare Azure PowerShell per abilitare il supporto dell'archivio analitico in n contenitore Azure Cosmos DB per NoSQL, eseguire il New-AzCosmosDBSqlContainer cmdlet (per creare un nuovo contenitore) o Update-AzCosmosDBSqlContainer il cmdlet (per configurare un contenitore esistente) con il -AnalyticalStorageTtl parametro , 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 per MongoDB, usare il New-AzCosmosDBMongoDBCollection cmdlet o Update-AzCosmosDBMongoDBCollection con il -AnalyticalStorageTtl parametro .

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.