Konfigurace a používání Azure Synapse Linku pro Azure Cosmos DB
PLATÍ PRO: NoSQL MongoDB Skřítek
Azure Synapse Link pro Azure Cosmos DB je funkce HTAP (Hybrid Transactional And Analytical Processing) nativní pro cloud, která umožňuje spouštět analýzy téměř v reálném čase přes provozní data ve službě Azure Cosmos DB. Synapse Link vytváří úzkou bezproblémovou integraci mezi Azure Cosmos DB a Azure Synapse Analytics.
Důležité
Zrcadlení v Microsoft Fabric je teď k dispozici ve verzi Preview pro rozhraní API NoSql. Tato funkce poskytuje všechny možnosti Azure Synapse Linku s lepším analytickým výkonem, schopnost sjednotit svá datová aktiva s Fabric OneLake a otevřít přístup k datům ve formátu Delta Parquet. Pokud uvažujete o Azure Synapse Linku, doporučujeme vyzkoušet zrcadlení, abyste posoudili celkové přizpůsobení vaší organizace. Pokud chcete začít se zrcadlováním, klikněte sem.
Azure Synapse Link je k dispozici pro rozhraní SQL API služby Azure Cosmos DB nebo pro účty rozhraní API služby Azure Cosmos DB pro Mongo DB. A je ve verzi Preview pro rozhraní Gremlin API s aktivací prostřednictvím příkazů rozhraní příkazového řádku. Pomocí následujících kroků spusťte analytické dotazy pomocí Azure Synapse Linku pro Azure Cosmos DB:
- Povolení služby Azure Synapse Link pro účty služby Azure Cosmos DB
- Povolení Azure Synapse Linku pro kontejnery
- Připojení databáze Azure Cosmos DB k pracovnímu prostoru Azure Synapse
- Dotazování analytického úložiště pomocí Azure Synapse Analytics
- Zlepšení výkonu pomocí osvědčených postupů
- Použití bezserverového fondu SQL Azure Synapse k analýze a vizualizaci dat v Power BI
Můžete také zkontrolovat trénovací modul o tom, jak nakonfigurovat Azure Synapse Link pro službu Azure Cosmos DB.
Povolení Azure Synapse Linku pro účty služby Azure Cosmos DB
Prvním krokem k použití Synapse Linku je jeho povolení pro váš účet databáze Azure Cosmos DB.
Poznámka:
Pokud chcete používat klíče spravované zákazníkem se službou Azure Synapse Link, musíte před povolením Synapse Linku ve svém účtu nakonfigurovat spravovanou identitu vašeho účtu ve svých zásadách přístupu ke službě Azure Key Vault. Další informace najdete v článku o konfiguraci klíčů spravovaných zákazníkem pomocí účtů spravované službou Azure Cosmos DB.
Poznámka:
Pokud chcete použít schéma úplné věrnosti pro účty API pro NoSQL, nemůžete povolit Synapse Link pomocí webu Azure Portal. Tuto možnost nejde změnit, když je ve vašem účtu povolená služba Synapse Link a pokud ji chcete nastavit, musíte použít Azure CLI nebo PowerShell. Další informace najdete v dokumentaci k reprezentaci schématu analytického úložiště.
Poznámka:
K povolení Synapse Linku na úrovni účtu potřebujete roli Přispěvatel . K povolení Synapse Linku v kontejnerech nebo kolekcích potřebujete aspoň operátor .
portál Azure
Přihlaste se k webu Azure Portal.
Vytvořte nový účet Azure, nebo vyberte již existující účet Azure Cosmos DB.
Přejděte do svého účtu služby Azure Cosmos DB a otevřete Azure Synapse Link v části Integrace v levém podokně.
Vyberte Povolit. Dokončení tohoto procesu může trvat 1 až 5 minut.
Váš účet teď může používat Synapse Link. Dále se dozvíte, jak vytvořit kontejnery s povoleným analytickým úložištěm pro automatické zahájení replikace provozních dat z transakčního úložiště do analytického úložiště.
Poznámka:
Zapnutí Synapse Linku nezpůsobí automaticky zapnutí analytického úložiště. Jakmile v účtu Cosmos DB povolíte Synapse Link, povolte v kontejnerech analytické úložiště, abyste mohli začít Synapse Link používat.
Poznámka:
Synapse Link můžete pro svůj účet povolit také pomocí Power BI a podokna Synapse Link v části Integrace v levé navigační nabídce.
Nástroje příkazového řádku
Povolte Synapse Link v účtu rozhraní API služby Azure Cosmos DB pro účet NoSQL nebo MongoDB pomocí Azure CLI nebo PowerShellu.
Azure CLI
Slouží --enable-analytical-storage true
k operacím vytvoření nebo aktualizace . Musíte také zvolit typ schématu reprezentace. Pro účty API for NoSQL můžete použít --analytical-storage-schema-type
s hodnotami FullFidelity
nebo WellDefined
. Pro účty API pro MongoDB vždy používejte --analytical-storage-schema-type FullFidelity
.
- Vytvoření nového účtu služby Azure Cosmos DB s povoleným Synapse Linkem
- Aktualizace existujícího účtu služby Azure Cosmos DB za účelem povolení Synapse Linku
Pomocí Azure CLI povolte Synapse Link pro azure Synapse Link pro účet rozhraní Gremlin API.
Synapse Link pro rozhraní Gremlin API je teď ve verzi Preview. Synapse Link můžete povolit v nových nebo existujících grafech pomocí Azure CLI. Pomocí následujícího příkazu rozhraní příkazového řádku povolte Synapse Link pro váš účet rozhraní Gremlin API:
az cosmosdb create --capabilities EnableGremlin --name MyCosmosDBGremlinDatabaseAccount --resource-group MyResourceGroup --enable-analytical-storage true
U existujících účtů rozhraní Gremlin API nahraďte create
textem update
.
PowerShell
Slouží EnableAnalyticalStorage true
k operacím vytvoření nebo aktualizace . Musíte také zvolit typ schématu reprezentace. Pro účty API for NoSQL můžete použít --analytical-storage-schema-type
s hodnotami FullFidelity
nebo WellDefined
. Pro účty API pro MongoDB vždy používejte -AnalyticalStorageSchemaType FullFidelity
.
- Vytvoření nového účtu služby Azure Cosmos DB s povoleným Synapse Linkem
- Aktualizace existujícího účtu služby Azure Cosmos DB za účelem povolení Synapse Linku
Šablona Azure Resource Manageru
Tato šablona Azure Resource Manageru vytvoří účet služby Azure Cosmos DB s podporou Synapse Linku pro rozhraní SQL API. Tato šablona vytvoří účet rozhraní API core (SQL) v jedné oblasti s kontejnerem nakonfigurovaným s povolenou analytickou sadou TTL a možností použití ruční nebo automatické propustnosti. Pokud chcete tuto šablonu nasadit, klikněte na stránce readme na nasadit do Azure .
Povolení Azure Synapse Linku pro kontejnery
Druhým krokem je povolení Synapse Linku pro kontejnery nebo kolekce. Toho lze dosáhnout nastavením analytical TTL
vlastnosti -1
pro nekonečné uchovávání nebo na kladné celé číslo, což je počet sekund, které chcete zachovat v analytickém úložišti. Toto nastavení lze později změnit. Další informace najdete v článku o podporovaných hodnotách TTL analytického jazyka TTL.
Při povolování služby Azure Synapse Link ve stávajících kontejnerech rozhraní SQL API si poznamenejte následující podrobnosti:
- Stejná izolace výkonu automatické synchronizace analytického úložiště platí pro počáteční synchronizaci a nemá žádný vliv na výkon vaší úlohy OLTP.
- Počáteční synchronizace kontejneru s celkovým časem analytického úložiště se bude lišit v závislosti na objemu dat a složitosti dokumentů. Tento proces může trvat od několika sekund do několika dnů. Pomocí webu Azure Portal sledujte průběh migrace.
- Propustnost kontejneru nebo databázového účtu také ovlivňuje celkovou dobu počáteční synchronizace. I když se v této migraci nepoužívají RU/s, celkový počet dostupných RU/s ovlivňuje výkon procesu. Pokud chcete proces urychlit, můžete dočasně zvýšit dostupné jednotky RU vašeho prostředí.
- Během povolení Synapse Linku v daném kontejneru nebudete moct dotazovat analytické úložiště existujícího kontejneru. Vaše úloha OLTP nemá vliv a můžete normálně číst data. Data ingestovaná po zahájení počáteční synchronizace se sloučí do analytického úložiště pravidelným procesem automatické synchronizace analytického úložiště.
Poznámka:
Teď můžete synapse Link povolit ve stávajících kolekcích rozhraní MongoDB API pomocí Azure CLI nebo PowerShellu.
portál Azure
Nový kontejner
Přihlaste se k webu Azure Portal nebo Průzkumníku služby Azure Cosmos DB.
Přejděte do svého účtu služby Azure Cosmos DB a otevřete kartu Průzkumník dat.
Vyberte Nový kontejner a zadejte název databáze, kontejneru, klíče oddílu a podrobností o propustnosti. Zapněte možnost Analytické úložiště . Po povolení analytického úložiště vytvoří kontejner s
analytical TTL
vlastností nastavenou na výchozí hodnotu -1 (nekonečné uchovávání). Toto analytické úložiště, které uchovává všechny historické verze záznamů a lze ho později změnit.Pokud jste v tomto účtu dříve nepovolili Synapse Link, zobrazí se výzva, abyste to udělali, protože je předpokladem pro vytvoření kontejneru s povoleným analytickým úložištěm. Pokud se zobrazí výzva, vyberte Povolit Synapse Link. Dokončení tohoto procesu může trvat 1 až 5 minut.
Vyberte OK a vytvořte kontejner Azure Cosmos DB s povoleným analytickým úložištěm.
Po vytvoření kontejneru ověřte, že je povolené analytické úložiště, a to kliknutím na Nastavení, vpravo pod dokumenty v Průzkumníku dat a zkontrolujte, jestli je zapnutá možnost Čas analytického úložiště do provozu .
Existující kontejner
Přihlaste se k webu Azure Portal nebo Průzkumníku služby Azure Cosmos DB.
Přejděte ke svému účtu služby Azure Cosmos DB a otevřete kartu Azure Synapse Link .
V části Povolit Azure Synapse Link pro kontejnery vyberte kontejner.
Po povolení kontejneru ověřte, že je povolené analytické úložiště, a to kliknutím na Nastavení, vpravo pod dokumenty v Průzkumníku dat a zkontrolujte, jestli je zapnutá možnost Čas analytického úložiště do provozu .
Poznámka:
Synapse Link můžete pro svůj účet povolit také pomocí Power BI a podokna Synapse Link v části Integrace v levé navigační nabídce.
Nástroje příkazového řádku
Azure CLI
Následující možnosti umožňují synapse Linku v kontejneru pomocí Azure CLI nastavením --analytical-storage-ttl
vlastnosti.
- Vytvoření nebo aktualizace kolekce MongoDB služby Azure Cosmos DB
- Vytvoření nebo aktualizace kontejneru rozhraní SQL API služby Azure Cosmos DB
Použití Azure CLI k povolení Synapse Linku pro Azure Synapse Link pro grafy rozhraní Gremlin API
Synapse Link pro rozhraní Gremlin API je teď ve verzi Preview. Synapse Link můžete povolit ve svých nových nebo existujících grafech pomocí Azure CLI. Pomocí následujícího příkazu rozhraní příkazového řádku povolte Synapse Link pro grafy rozhraní Gremlin API:
az cosmosdb gremlin graph create --g MyResourceGroup --a MyCosmosDBGremlinDatabaseAccount --d MyGremlinDB --n MyGraph --analytical-storage-ttl –1
U existujících grafů nahraďte create
.update
PowerShell
Následující možnosti umožňují synapse Linku v kontejneru pomocí Azure CLI nastavením -AnalyticalStorageTtl
vlastnosti.
- Vytvoření nebo aktualizace kolekce MongoDB služby Azure Cosmos DB
- Vytvoření nebo aktualizace kontejneru rozhraní SQL API služby Azure Cosmos DB
Sady SDK služby Azure Cosmos DB – pouze rozhraní SQL API
.NET SDK
Následující kód .NET vytvoří kontejner s povolenou službou Synapse Link nastavením AnalyticalStoreTimeToLiveInSeconds
vlastnosti. Pokud chcete aktualizovat existující kontejner, použijte metodu Container.ReplaceContainerAsync
.
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);
Java V4 SDK
Následující kód Java vytvoří kontejner s povoleným Synapse Linkem nastavením setAnalyticalStoreTimeToLiveInSeconds
vlastnosti. Pokud chcete aktualizovat existující kontejner, použijte container.replace
třídu.
// 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();
Python V4 SDK
Následující kód Pythonu vytvoří kontejner s povoleným Synapse Linkem nastavením analytical_storage_ttl
vlastnosti. Pokud chcete aktualizovat existující kontejner, použijte metodu replace_container
.
# 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')
Připojení k pracovnímu prostoru Synapse
Postupujte podle pokynů v tématu Připojení ke službě Azure Synapse Link , jak získat přístup k databázi Azure Cosmos DB ze sady Azure Synapse Analytics Studio pomocí Azure Synapse Linku.
Dotazování analytického úložiště pomocí Azure Synapse Analytics
Dotazování analytického úložiště pomocí Apache Sparku pro Azure Synapse Analytics
Postupujte podle pokynů v analytickém úložišti Azure Cosmos DB pomocí článku Spark 3 o dotazování pomocí Synapse Sparku 3. Tento článek obsahuje několik příkladů, jak můžete pracovat s analytickým úložištěm pomocí gest Synapse. Tato gesta se zobrazí po kliknutí pravým tlačítkem myši na kontejner. Pomocí gest můžete rychle vygenerovat kód a upravit ho podle svých potřeb. Jsou také ideální pro zjišťování dat jediným kliknutím.
Pro integraci Sparku 2 použijte pokyny v analytickém úložišti Azure Cosmos DB pomocí článku Spark 2 .
Dotazování analytického úložiště pomocí bezserverového fondu SQL ve službě Azure Synapse Analytics
Bezserverový fond SQL umožňuje dotazovat a analyzovat data v kontejnerech Azure Cosmos DB, které jsou povolené pomocí Azure Synapse Linku. Data můžete analyzovat téměř v reálném čase, aniž by to mělo vliv na výkon transakčních úloh. Nabízí známou syntaxi T-SQL pro dotazování dat z analytického úložiště a integrované připojení k široké škále nástrojů BI a ad hoc dotazování prostřednictvím rozhraní T-SQL. Další informace najdete v analytickém úložišti dotazů pomocí článku o bezserverovém fondu SQL.
Použití bezserverového fondu SQL k analýze a vizualizaci dat v Power BI
Pomocí integrovaného prostředí BI na portálu Azure Cosmos DB můžete vytvářet řídicí panely BI pomocí Synapse Linku několika kliknutími. Další informace najdete v tématu vytváření řídicích panelů BI pomocí Synapse Linku. Toto integrované prostředí vytvoří jednoduchá zobrazení T-SQL v bezserverových fondech SQL Synapse pro kontejnery Azure Cosmos DB. V těchto zobrazeních můžete vytvářet řídicí panely BI, které budou dotazovat kontejnery Azure Cosmos DB v reálném čase pomocí Direct Query a odrážejí nejnovější změny vašich dat. Na transakční úlohy nemá žádný dopad na výkon ani náklady a není nijak složité spravovat kanály ETL.
Pokud chcete použít pokročilá zobrazení T-SQL se spojeními napříč kontejnery nebo vytvářet řídicí panely Power BI v režimu importu, přečtěte si téma Použití bezserverového fondu SQL k analýze dat Azure Cosmos DB pomocí Synapse Linku.
Zlepšení výkonu pomocí osvědčených postupů
Vlastní dělení
Vlastní dělení umožňuje rozdělit data analytického úložiště na pole, která se běžně používají jako filtry v analytických dotazech, což vede k lepšímu výkonu dotazů. Další informace najdete v úvodu k vlastnímu dělení a postupu při konfiguraci vlastních článků o dělení.
Osvědčené postupy bezserverové služby Synapse SQL pro Azure Synapse Link pro Cosmos DB
Tyto povinné osvědčené postupy použijte pro dotazy bez serveru SQL.
Začínáme se službou Azure Synapse Link – ukázky
Ukázky, které vám pomůžou začít s Azure Synapse Linkem, najdete na GitHubu. Tyto prezentace představují ucelená řešení se scénáři IoT a maloobchodního prodeje. Ukázky odpovídající službě Azure Cosmos DB for MongoDB najdete také ve stejném úložišti ve složce MongoDB .
Další kroky
Další informace najdete v následujících dokumentech:
- Projděte si školicí modul o tom, jak nakonfigurovat Azure Synapse Link pro službu Azure Cosmos DB.
- Přehled analytického úložiště Azure Cosmos DB
- Nejčastější dotazy k Synapse Linku pro Azure Cosmos DB
- Apache Spark ve službě Azure Synapse Analytics
- Podpora modulu runtime bezserverového fondu SQL ve službě Azure Synapse Analytics