Tworzenie kontenera z włączonym magazynem analitycznym

Ukończone

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:

Zrzut ekranu przedstawiający opcję Magazyn analityczny podczas tworzenia nowego kontenera w witrynie Azure Portal.

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:

Zrzut ekranu przedstawiający stronę usługi Azure Synapse Link w witrynie Azure Portal z wybranym istniejącym kontenerem i włączonym przyciskiem Włącz usługę Synapse Link w kontenerze.

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.