Udostępnij za pośrednictwem


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:

Możesz również sprawdzić moduł szkoleniowy dotyczący konfigurowania usługi Azure Synapse Link dla 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

  1. Zaloguj się w witrynie Azure Portal.

  2. Utwórz nowe konto platformy Azure lub wybierz istniejące konto usługi Azure Cosmos DB.

  3. Przejdź do konta usługi Azure Cosmos DB i otwórz usługę Azure Synapse Link w obszarze Integracje w okienku po lewej stronie.

  4. Wybierz opcję Włącz. Ukończenie tego procesu może potrwać od 1 do 5 minut.

    Zrzut ekranu przedstawiający sposób włączania funkcji usługi Synapse Link.

  5. 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.

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.

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

  1. Zaloguj się do witryny Azure Portal lub Eksploratora usługi Azure Cosmos DB.

  2. Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Eksplorator danych.

  3. 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ć.

    Włączanie magazynu analitycznego dla kontenera usługi Azure Cosmos DB

  4. 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.

  5. Wybierz przycisk OK, aby utworzyć kontener usługi Azure Cosmos DB z włączoną obsługą magazynu analitycznego.

  6. 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

  1. Zaloguj się do witryny Azure Portal lub Eksploratora usługi Azure Cosmos DB.

  2. Przejdź do konta usługi Azure Cosmos DB i otwórz kartę Azure Synapse Link .

  3. W sekcji Włączanie usługi Azure Synapse Link dla kontenerów wybierz kontener.

    Zrzut ekranu przedstawiający sposób włączania magazynu analitycznego dla istniejącego kontenera usługi Azure Cosmos DB.

  4. 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 .

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 .

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 .

Użyj tych obowiązkowych najlepszych rozwiązań dla zapytań bezserwerowych SQL.

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: