Konfigurowanie i używanie usługi Azure Synapse Link dla usługi Azure Cosmos DB
DOTYCZY: NoSQL MongoDB Gremlin
Usługa Azure Synapse Link dla usługi Azure Cosmos DB to natywna dla chmury funkcja hybrydowego przetwarzania transakcyjnego i analitycznego (HTAP), która umożliwia uruchamianie analizy niemal w czasie rzeczywistym na danych operacyjnych w usłudze Azure Cosmos DB. Usługa Synapse Link tworzy ścisłą bezproblemową integrację między usługą Azure Cosmos DB i usługą Azure Synapse Analytics.
Ważne
Dublowanie w usłudze Microsoft Fabric jest teraz dostępne w wersji zapoznawczej dla interfejsu API NoSql. Ta funkcja zapewnia wszystkie możliwości usługi Azure Synapse Link z lepszą wydajnością analityczną, możliwość ujednolicenia majątku danych za pomocą usługi Fabric OneLake i otwierania dostępu do danych w usłudze OneLake w formacie Delta Parquet. Jeśli rozważasz usługę Azure Synapse Link, zalecamy wypróbowanie dublowania w celu oceny ogólnego dopasowania organizacji. Aby rozpocząć dublowanie, kliknij tutaj.
Usługa Azure Synapse Link jest dostępna dla interfejsu API SQL usługi Azure Cosmos DB lub interfejsu API usługi Azure Cosmos DB dla kont bazy danych Mongo DB. Jest ona dostępna w wersji zapoznawczej dla interfejsu API języka Gremlin z aktywacją za pośrednictwem poleceń interfejsu wiersza polecenia. Wykonaj następujące kroki, aby uruchomić zapytania analityczne za pomocą usługi Azure Synapse Link dla usługi Azure Cosmos DB:
- Włączanie usługi Azure Synapse Link dla kont usługi Azure Cosmos DB
- Włączanie usługi Azure Synapse Link dla kontenerów
- Łączenie bazy danych usługi Azure Cosmos DB z obszarem roboczym usługi Azure Synapse
- Wykonywanie zapytań względem magazynu analitycznego przy użyciu usługi Azure Synapse Analytics
- Zwiększanie wydajności za pomocą najlepszych rozwiązań
- Analizowanie i wizualizowanie danych w usłudze Power BI przy użyciu bezserwerowej puli SQL usługi Azure Synapse
Możesz również sprawdzić moduł szkoleniowy dotyczący konfigurowania usługi Azure Synapse Link dla usługi Azure Cosmos DB.
Włączanie usługi Azure Synapse Link dla kont usługi Azure Cosmos DB
Pierwszym krokiem korzystania z usługi Synapse Link jest włączenie go dla konta bazy danych usługi Azure Cosmos DB.
Uwaga
Jeśli chcesz używać kluczy zarządzanych przez klienta z usługą Azure Synapse Link, musisz skonfigurować tożsamość zarządzaną konta w zasadach dostępu usługi Azure Key Vault przed włączeniem usługi Synapse Link na koncie. Aby dowiedzieć się więcej, zobacz artykuł Konfigurowanie kluczy zarządzanych przez klienta przy użyciu tożsamości zarządzanych kont usługi Azure Cosmos DB.
Uwaga
Jeśli chcesz użyć schematu Full Fidelity dla kont interfejsu API dla noSQL, nie możesz użyć witryny Azure Portal, aby włączyć usługę Synapse Link. Tej opcji nie można zmienić po włączeniu usługi Synapse Link na twoim koncie i ustawieniu jej, należy użyć interfejsu wiersza polecenia platformy Azure lub programu PowerShell. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją reprezentacji schematu magazynu analitycznego.
Uwaga
Musisz mieć rolę Współautor , aby włączyć usługę Synapse Link na poziomie konta. Potrzebujesz co najmniej operatora , aby włączyć usługę Synapse Link w kontenerach lub kolekcjach.
Azure Portal
Zaloguj się w witrynie Azure Portal.
Utwórz nowe konto platformy Azure lub wybierz istniejące konto usługi Azure Cosmos DB.
Przejdź do konta usługi Azure Cosmos DB i otwórz usługę Azure Synapse Link w obszarze Integracje w okienku po lewej stronie.
Wybierz opcję Włącz. Ukończenie tego procesu może potrwać od 1 do 5 minut.
Na Twoim koncie można teraz korzystać z funkcji Synapse Link. Czas dowiedzieć się, jak utworzyć kontenery z obsługą magazynu analitycznego, aby automatycznie rozpocząć replikowanie danych operacyjnych z magazynu transakcyjnego do magazynu analitycznego.
Uwaga
Włączenie funkcji Synapse Link nie powoduje automatycznego włączenia magazynu analitycznego. Po włączeniu funkcji Synapse Link na koncie usługi Cosmos DB włącz magazyn analityczny w kontenerach, aby rozpocząć korzystanie z funkcji Synapse Link.
Uwaga
Możesz również włączyć usługę Synapse Link dla swojego konta przy użyciu usługi Power BI i okienka Synapse Link w sekcji Integracje w menu nawigacji po lewej stronie.
Narzędzia wiersza polecenia
Włącz funkcję Synapse Link w interfejsie API usługi Azure Cosmos DB dla bazy danych NoSQL lub MongoDB przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Interfejs wiersza polecenia platformy Azure
Służy --enable-analytical-storage true
do tworzenia lub aktualizowania operacji. Należy również wybrać typ schematu reprezentacji. W przypadku kont interfejsu API dla noSQL można używać --analytical-storage-schema-type
z wartościami FullFidelity
lub WellDefined
. W przypadku kont interfejsu API dla bazy danych MongoDB zawsze używaj polecenia --analytical-storage-schema-type FullFidelity
.
- Tworzenie nowego konta usługi Azure Cosmos DB z włączoną usługą Synapse Link
- Aktualizowanie istniejącego konta usługi Azure Cosmos DB w celu włączenia usługi Synapse Link
Użyj interfejsu wiersza polecenia platformy Azure, aby włączyć usługę Synapse Link dla konta interfejsu API języka Gremlin dla usługi Azure Synapse Link.
Usługa Synapse Link dla interfejsu API języka Gremlin jest teraz dostępna w wersji zapoznawczej. Możesz włączyć usługę Synapse Link w nowych lub istniejących grafach przy użyciu interfejsu wiersza polecenia platformy Azure. Użyj poniższego polecenia interfejsu wiersza polecenia, aby włączyć usługę Synapse Link dla konta interfejsu API języka Gremlin:
az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true
W przypadku istniejących kont interfejsu API języka Gremlin zastąp ciąg create
.update
PowerShell
Służy EnableAnalyticalStorage true
do tworzenia lub aktualizowania operacji. Należy również wybrać typ schematu reprezentacji. W przypadku kont interfejsu API dla noSQL można używać --analytical-storage-schema-type
z wartościami FullFidelity
lub WellDefined
. W przypadku kont interfejsu API dla bazy danych MongoDB zawsze używaj polecenia -AnalyticalStorageSchemaType FullFidelity
.
- Tworzenie nowego konta usługi Azure Cosmos DB z włączoną usługą Synapse Link
- Aktualizowanie istniejącego konta usługi Azure Cosmos DB w celu włączenia usługi Synapse Link
Szablon usługi Azure Resource Manager
Ten szablon usługi Azure Resource Manager tworzy konto usługi Azure Cosmos DB z obsługą usługi Synapse Link dla interfejsu API SQL. Ten szablon tworzy konto interfejsu API Core (SQL) w jednym regionie z kontenerem skonfigurowanym z włączonym analitycznym limitem czasu wygaśnięcia oraz opcją użycia przepływności ręcznej lub automatycznej. Aby wdrożyć ten szablon, kliknij pozycję Wdróż na platformie Azure na stronie readme.
Włączanie usługi Azure Synapse Link dla kontenerów
Drugim krokiem jest włączenie usługi Synapse Link dla kontenerów lub kolekcji. Jest to realizowane przez ustawienie analytical TTL
właściwości na -1
wartość dla nieskończonego przechowywania lub dodatniej liczby całkowitej, czyli liczby sekund, które mają być przechowywane w magazynie analitycznym. To ustawienie można zmienić później. Aby uzyskać więcej informacji, zobacz artykuł analityczne wartości obsługiwane przez czas wygaśnięcia.
Podczas włączania usługi Azure Synapse Link w istniejących kontenerach interfejsu API SQL należy pamiętać o następujących szczegółach:
- Ta sama izolacja wydajności procesu automatycznej synchronizacji magazynu analitycznego ma zastosowanie do synchronizacji początkowej i nie ma wpływu na wydajność obciążenia OLTP.
- Początkowa synchronizacja kontenera z łącznym czasem magazynu analitycznego będzie się różnić w zależności od ilości danych i złożoności dokumentów. Ten proces może potrwać od kilku sekund do wielu dni. Aby monitorować postęp migracji, użyj witryny Azure Portal.
- Przepływność kontenera lub konta bazy danych wpływa również na całkowity czas synchronizacji początkowej. Chociaż ru/s nie są używane w tej migracji, łączna liczba jednostek RU/s dostępnych wpływa na wydajność procesu. Aby przyspieszyć ten proces, możesz tymczasowo zwiększyć dostępne jednostki RU środowiska.
- Nie będzie można wykonywać zapytań względem magazynu analitycznego istniejącego kontenera, gdy usługa Synapse Link jest włączona w tym kontenerze. Nie ma to wpływu na obciążenie OLTP i można normalnie odczytywać dane. Dane pozyskane po rozpoczęciu synchronizacji początkowej zostaną scalone z magazynem analitycznym przez zwykły proces automatycznej synchronizacji magazynu analitycznego.
Uwaga
Teraz możesz włączyć usługę Synapse Link w istniejących kolekcjach interfejsu API bazy danych MongoDB przy użyciu interfejsu wiersza polecenia platformy Azure lub programu PowerShell.
Azure Portal
Nowy kontener
Zaloguj się do witryny Azure Portal lub Eksploratora usługi Azure Cosmos DB.
Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Eksplorator danych.
Wybierz pozycję Nowy kontener i wprowadź nazwę bazy danych, kontenera, klucza partycji i szczegółów przepływności. Włącz opcję Magazyn analityczny. Po włączeniu magazynu analitycznego tworzy kontener z właściwością
analytical TTL
ustawioną na wartość domyślną -1 (nieskończone przechowywanie). Ten magazyn analityczny, który zachowuje wszystkie historyczne wersje rekordów i można go później zmienić.Jeśli wcześniej nie włączono usługi Synapse Link na tym koncie, zostanie wyświetlony monit o wykonanie tej czynności, ponieważ jest to warunek wstępny do utworzenia kontenera z włączonym magazynem analitycznym. Jeśli zostanie wyświetlony monit, wybierz pozycję Włącz usługę Synapse Link. Ukończenie tego procesu może potrwać od 1 do 5 minut.
Wybierz przycisk OK, aby utworzyć kontener usługi Azure Cosmos DB z włączoną obsługą magazynu analitycznego.
Po utworzeniu kontenera sprawdź, czy magazyn analityczny został włączony, klikając pozycję Ustawienia, bezpośrednio poniżej pozycji Dokumenty w Eksploratorze danych i sprawdź, czy opcja Czas przechowywania analitycznego na żywo jest włączona.
Istniejący kontener
Zaloguj się do witryny Azure Portal lub Eksploratora usługi Azure Cosmos DB.
Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Azure Synapse Link .
W sekcji Włączanie usługi Azure Synapse Link dla kontenerów wybierz kontener.
Po włączeniu kontenera sprawdź, czy magazyn analityczny został włączony, klikając pozycję Ustawienia, bezpośrednio poniżej pozycji Dokumenty w Eksploratorze danych i sprawdź, czy opcja Czas przechowywania analitycznego na żywo jest włączona.
Uwaga
Możesz również włączyć usługę Synapse Link dla swojego konta przy użyciu usługi Power BI i okienka Synapse Link w sekcji Integracje w menu nawigacji po lewej stronie.
Narzędzia wiersza polecenia
Interfejs wiersza polecenia platformy Azure
Poniższe opcje umożliwiają usługę Synapse Link w kontenerze przy użyciu interfejsu wiersza polecenia platformy --analytical-storage-ttl
Azure przez ustawienie właściwości .
- Tworzenie lub aktualizowanie kolekcji bazy danych MongoDB usługi Azure Cosmos DB
- Tworzenie lub aktualizowanie kontenera interfejsu API SQL usługi Azure Cosmos DB
Używanie interfejsu wiersza polecenia platformy Azure do włączania usługi Synapse Link dla usługi Azure Synapse Link dla funkcji Graph interfejsu API języka Gremlin
Usługa Synapse Link dla interfejsu API języka Gremlin jest teraz dostępna w wersji zapoznawczej. Możesz włączyć usługę Synapse Link w nowych lub istniejących grafach przy użyciu interfejsu wiersza polecenia platformy Azure. Użyj poniższego polecenia interfejsu wiersza polecenia, aby włączyć usługę Synapse Link dla grafów interfejsu API języka Gremlin:
az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1
W przypadku istniejących grafów zastąp element create
.update
PowerShell
Poniższe opcje umożliwiają usługę Synapse Link w kontenerze przy użyciu interfejsu wiersza polecenia platformy -AnalyticalStorageTtl
Azure przez ustawienie właściwości .
- Tworzenie lub aktualizowanie kolekcji bazy danych MongoDB usługi Azure Cosmos DB
- Tworzenie lub aktualizowanie kontenera interfejsu API SQL usługi Azure Cosmos DB
Zestawy SDK usługi Azure Cosmos DB — tylko interfejs API SQL
Zestaw SDK platformy .NET
Poniższy kod platformy .NET tworzy kontener z obsługą usługi Synapse Link, ustawiając AnalyticalStoreTimeToLiveInSeconds
właściwość . Aby zaktualizować istniejący kontener, użyj Container.ReplaceContainerAsync
metody .
CosmosClient cosmosClient = new CosmosClient(
accountEndpoint: "<nosql-account-endpoint>",
tokenCredential: new DefaultAzureCredential()
);
// 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,
};
await cosmosClient.GetDatabase("myDatabase").CreateContainerAsync(properties);
Zestaw SDK języka Java w wersji 4
Poniższy kod Java tworzy kontener z obsługą usługi Synapse Link, ustawiając setAnalyticalStoreTimeToLiveInSeconds
właściwość . Aby zaktualizować istniejący kontener, użyj container.replace
klasy .
// 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();
Zestaw SDK języka Python w wersji 4
Poniższy kod w języku Python tworzy kontener z obsługą usługi Synapse Link, ustawiając analytical_storage_ttl
właściwość . Aby zaktualizować istniejący kontener, użyj replace_container
metody .
# 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')
Nawiązywanie połączenia z obszarem roboczym usługi Synapse
Skorzystaj z instrukcji w temacie Connect to Azure Synapse Link (Nawiązywanie połączenia z usługą Azure Synapse Link ) na temat uzyskiwania dostępu do bazy danych usługi Azure Cosmos DB z poziomu programu Azure Synapse Analytics Studio za pomocą usługi Azure Synapse Link.
Wykonywanie zapytań względem magazynu analitycznego przy użyciu usługi Azure Synapse Analytics
Wykonywanie zapytań względem magazynu analitycznego przy użyciu platformy Apache Spark dla usługi Azure Synapse Analytics
Skorzystaj z instrukcji w magazynie analitycznym Query Azure Cosmos DB using Spark 3 (Wykonywanie zapytań w magazynie analitycznym usługi Azure Cosmos DB przy użyciu platformy Spark 3 ) na temat wykonywania zapytań za pomocą platformy Synapse Spark 3. Ten artykuł zawiera kilka przykładów dotyczących interakcji z magazynem analitycznym za pomocą gestów usługi Synapse. Te gesty są widoczne po kliknięciu prawym przyciskiem myszy kontenera. Za pomocą gestów możesz szybko wygenerować kod i dostosować go do Twoich potrzeb. Doskonale nadają się również do odnajdywania danych za pomocą jednego kliknięcia.
W przypadku integracji platformy Spark 2 użyj instrukcji w artykule Query Azure Cosmos DB analytical store using Spark 2 (Wykonywanie zapytań w magazynie analitycznym usługi Azure Cosmos DB przy użyciu platformy Spark 2 ).
Wykonywanie zapytań względem magazynu analitycznego przy użyciu bezserwerowej puli SQL w usłudze Azure Synapse Analytics
Bezserwerowa pula SQL umożliwia wykonywanie zapytań i analizowanie danych w kontenerach usługi Azure Cosmos DB, które są włączone za pomocą usługi Azure Synapse Link. Dane można analizować niemal w czasie rzeczywistym bez wpływu na wydajność obciążeń transakcyjnych. Oferuje znaną składnię języka T-SQL do wykonywania zapytań o dane z magazynu analitycznego i zintegrowanej łączności z szeroką gamą narzędzi do analizy biznesowej i ad hoc zapytań za pośrednictwem interfejsu języka T-SQL. Aby dowiedzieć się więcej, zobacz artykuł Tworzenie zapytań dotyczących magazynu analitycznego przy użyciu bezserwerowej puli SQL.
Analizowanie i wizualizowanie danych w usłudze Power BI przy użyciu bezserwerowej puli SQL
Możesz użyć zintegrowanego środowiska analizy biznesowej w portalu usługi Azure Cosmos DB, aby utworzyć pulpity nawigacyjne analizy biznesowej przy użyciu usługi Synapse Link za pomocą zaledwie kilku kliknięć. Aby dowiedzieć się więcej, zobacz , jak tworzyć pulpity nawigacyjne analizy biznesowej przy użyciu usługi Synapse Link. To zintegrowane środowisko spowoduje utworzenie prostych widoków języka T-SQL w bezserwerowych pulach SQL usługi Synapse dla kontenerów usługi Azure Cosmos DB. Pulpity nawigacyjne analizy biznesowej można tworzyć w tych widokach, które będą wykonywać zapytania dotyczące kontenerów usługi Azure Cosmos DB w czasie rzeczywistym przy użyciu zapytania bezpośredniego, odzwierciedlając najnowsze zmiany danych. Nie ma wpływu na wydajność lub koszty obciążeń transakcyjnych i nie ma złożoności zarządzania potokami ETL.
Jeśli chcesz użyć zaawansowanych widoków języka T-SQL z sprzężeniami w kontenerach lub utworzyć pulpity nawigacyjne usługi Power BI w trybie importu, zobacz Używanie bezserwerowej puli SQL do analizowania danych usługi Azure Cosmos DB za pomocą usługi Synapse Link.
Zwiększanie wydajności za pomocą najlepszych rozwiązań
Partycjonowanie niestandardowe
Partycjonowanie niestandardowe umożliwia partycjonowanie danych magazynu analitycznego na polach, które są często używane jako filtry w zapytaniach analitycznych, co zwiększa wydajność zapytań. Aby dowiedzieć się więcej, zobacz wprowadzenie do partycjonowania niestandardowego i sposób konfigurowania niestandardowych artykułów dotyczących partycjonowania .
Najlepsze rozwiązania dotyczące usługi Synapse SQL Serverless dla usługi Azure Synapse Link dla usługi Cosmos DB
Użyj tych obowiązkowych najlepszych rozwiązań dla zapytań bezserwerowych SQL.
Wprowadzenie do usługi Azure Synapse Link — przykłady
Przykłady umożliwiające rozpoczęcie pracy z usługą Azure Synapse Link można znaleźć w witrynie GitHub. Te kompleksowe rozwiązania przedstawiają kompleksowe rozwiązania ze scenariuszami IoT i sprzedaży detalicznej. Przykłady odpowiadające usłudze Azure Cosmos DB for MongoDB można również znaleźć w tym samym repozytorium w folderze MongoDB .
Następne kroki
Aby dowiedzieć się więcej, zobacz następujące dokumenty:
- Zapoznaj się z modułem szkoleniowym dotyczącym konfigurowania usługi Azure Synapse Link dla usługi Azure Cosmos DB.
- Omówienie magazynu analitycznego usługi Azure Cosmos DB.
- Często zadawane pytania dotyczące usługi Synapse Link dla usługi Azure Cosmos DB.
- Platforma Apache Spark w usłudze Azure Synapse Analytics.
- Obsługa bezserwerowego środowiska uruchomieniowego puli SQL w usłudze Azure Synapse Analytics.