Tworzenie kontenera z włączonym magazynem analitycznym
Po włączeniu usługi Azure Synapse Link na koncie usługi Azure Cosmos DB możesz utworzyć lub zaktualizować kontener z obsługą magazynu analitycznego.
Magazyn analityczny jest magazynem opartym na kolumnach w tym samym kontenerze co magazyn operacyjny oparty na wierszach. Proces automatycznej synchronizacji synchronizuje zmiany w magazynie operacyjnym z magazynem analitycznym; z miejsca, w którym można wykonywać zapytania bez ponoszenia narzutu przetwarzania w magazynie operacyjnym.
Typy schematów magazynu analitycznego
Ponieważ dane z magazynu operacyjnego są synchronizowane z magazynem analitycznym, schemat jest aktualizowany dynamicznie w celu odzwierciedlenia struktury synchronizowanych dokumentów. Konkretne zachowanie tej dynamicznej konserwacji schematu zależy od typu schematu magazynu analitycznego skonfigurowanego dla konta usługi Azure Cosmos DB. Obsługiwane są dwa typy reprezentacji schematu:
- Dobrze zdefiniowane: domyślny typ schematu dla konta usługi Azure Cosmos DB for NoSQL.
- Pełna wierność: domyślny (i obsługiwany tylko) typ schematu dla konta usługi Azure Cosmos DB dla bazy danych MongoDB.
Magazyn analityczny odbiera dane JSON z magazynu operacyjnego i organizuje je w strukturę opartą na kolumnach. W dobrze zdefiniowanym schemacie pierwsze wystąpienie pola JSON inne niż null określa typ danych dla tego pola. Kolejne wystąpienia pola, które nie są zgodne z przypisanym typem danych, nie są pozyskiwane do magazynu analitycznego.
Rozważmy na przykład następujące dwa dokumenty JSON:
{"productID": 123, "productName": "Widget"}
{"productID": "124", "productName": "Wotsit"}
Pierwszy dokument określa, że pole productID jest wartością liczbową (całkowitą). Po napotkaniu drugiego dokumentu jego pole productID ma wartość ciągu i nie jest importowane do magazynu analitycznego. Dokument i reszta pola są importowane, ale niezgodne pole jest porzucane. Następujące kolumny reprezentują dane w magazynie analitycznym:
productID | productName |
---|---|
123 | Widget |
Wotsit |
W schemacie pełnej wierności typ danych jest dołączany do każdego wystąpienia pola z nowymi kolumnami utworzonymi w razie potrzeby; włączenie magazynu analitycznego w celu przechowywania wielu wystąpień pola, z których każdy ma inny typ danych, jak pokazano w poniższej tabeli:
productID.int32 | productName.string | productID.string |
---|---|---|
123 | Widget | |
Wotsit | 124 |
Uwaga
Aby uzyskać więcej informacji, zobacz Co to jest magazyn analityczny usługi Azure Cosmos DB?.
Włączanie obsługi magazynu analitycznego w kontenerze
Obsługę magazynu analitycznego można włączyć podczas tworzenia nowego kontenera lub dla istniejącego kontenera. Aby włączyć obsługę magazynu analitycznego, możesz użyć witryny Azure Portal lub użyć interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell z poziomu wiersza polecenia lub skryptu.
Korzystanie z witryny Azure Portal
Aby włączyć obsługę magazynu analitycznego podczas tworzenia nowego kontenera w witrynie Azure Portal, wybierz opcję Wł . dla magazynu analitycznego, jak pokazano poniżej:
Alternatywnie możesz włączyć obsługę magazynu analitycznego dla istniejącego kontenera na stronie usługi Azure Synapse Link w sekcji Integracje strony dla konta usługi Cosmos DB, jak pokazano poniżej:
Przy użyciu interfejsu wiersza polecenia platformy Azure
Aby użyć interfejsu wiersza polecenia platformy Azure, aby włączyć obsługę magazynu analitycznego w kontenerze usługi Azure Cosmos DB for NoSQL, uruchom az cosmosdb sql container create
polecenie (aby utworzyć nowy kontener) lub az cosmosdb sql container update
polecenie (aby skonfigurować istniejący kontener) przy użyciu parametru --analytical-storage-ttl
, przypisując czas przechowywania danych analitycznych. Określenie -analytical-storage-ttl
parametru -1 umożliwia trwałe przechowywanie danych analitycznych. Na przykład następujące polecenie tworzy nowy kontener o nazwie my-container z obsługą magazynu analitycznego.
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
W przypadku konta usługi Azure Cosmos DB dla bazy danych MongoDB możesz użyć az cosmosdb mongodb collection create
polecenia or az cosmosdb mongodb collection update
z parametrem --analytical-storage-ttl
. W przypadku konta usługi Azure Cosmos DB dla języka Apache Gremlin użyj az cosmosdb gremlin graph create
polecenia or az cosmosdb gremlin graph update
z parametrem --analytical-storage-ttl
.
Korzystanie z programu Azure PowerShell
Aby włączyć obsługę magazynu analitycznego w kontenerze NoSQL za pomocą programu Azure PowerShell, uruchom New-AzCosmosDBSqlContainer
polecenie cmdlet (aby utworzyć nowy kontener) lub Update-AzCosmosDBSqlContainer
polecenie cmdlet (aby skonfigurować istniejący kontener) przy użyciu parametru -AnalyticalStorageTtl
, przypisując czas przechowywania danych analitycznych. Określenie -AnalyticalStorageTtl
parametru -1 umożliwia trwałe przechowywanie danych analitycznych. Na przykład następujące polecenie tworzy nowy kontener o nazwie my-container z obsługą magazynu analitycznego.
New-AzCosmosDBSqlContainer -ResourceGroupName "my-rg" -AccountName "my-cosmos-db" -DatabaseName "my-db" -Name "my-container" -PartitionKeyKind "hash" -PartitionKeyPath "/productID" -AnalyticalStorageTtl -1
W przypadku konta interfejsu API usługi Azure Cosmos DB dla bazy danych MongoDB użyj New-AzCosmosDBMongoDBCollection
polecenia cmdlet or Update-AzCosmosDBMongoDBCollection
z parametrem -AnalyticalStorageTtl
.
Zagadnienia dotyczące włączania obsługi magazynu analitycznego
Nie można wyłączyć obsługi magazynu analitycznego bez usuwania kontenera. Ustawienie wartości czasu wygaśnięcia magazynu analitycznego na wartość 0 lub null skutecznie wyłącza magazyn analityczny, nie synchronizując już nowych elementów z magazynu operacyjnego i usuwając elementy już zsynchronizowane z magazynu analitycznego. Po ustawieniu tej wartości na 0 nie można ponownie włączyć obsługi magazynu analitycznego w kontenerze.