Förstå hybridtransaktionsanalysbearbetning med Azure Synapse Link

Slutförd

Hybridtransaktions- och analysbearbetning gör det möjligt för företag att utföra analyser över ett databassystem som anses tillhandahålla transaktionsfunktioner utan att påverka systemets prestanda. Med den här funktionen kan organisationer använda en databas för både transaktioner och analysbehov. Hybridtransaktions- och analysbearbetning stöder nästan realtidsanalys av driftdata för att fatta beslut om den information som analyseras.

Tailwind Traders använder till exempel Azure Cosmos DB för att lagra användarprofildata från sin e-handelswebbplats. NoSQL-dokumentarkivet som tillhandahålls av Azure Cosmos DB for NoSQL ger kunskap om att hantera sina data med sql-syntax, samtidigt som de kan läsa och skriva filerna i massiv, global skala.

Tailwind Traders är nöjda med funktionerna och prestandan i Azure Cosmos DB. Tailwind Traders är dock bekymrade över kostnaden för att köra en stor mängd analytiska frågor över flera partitioner (frågor mellan partitioner) från deras informationslager. De vill ha effektiv åtkomst till alla data utan att behöva öka enheter för Azure Cosmos DB-begäranden (RU:er). De tittade på alternativ för att extrahera data från sina containrar till datasjön när de ändras, via Mekanismen för Azure Cosmos DB-ändringsflöde. Problemet med den här metoden är extra tjänst- och kodberoenden och långsiktigt underhåll av lösningen. De kan utföra massexporter från en Synapse-pipeline, men då har de inte den senaste informationen vid ett visst tillfälle.

Du bestämmer dig för att aktivera Azure Synapse Link för Cosmos DB och aktivera analysarkivet på deras Azure Cosmos DB-containrar. Med den här konfigurationen lagras alla transaktionsdata automatiskt i ett helt isolerat kolumnlager. Det här arkivet möjliggör storskalig analys mot driftdata i Azure Cosmos DB, utan att påverka transaktionsarbetsbelastningarna eller medföra kostnader för resursenheter (RU). Azure Synapse Link för Cosmos DB skapar en nära integrering mellan Azure Cosmos DB och Azure Synapse Analytics. Den här integreringen gör det möjligt för Tailwind Traders att köra analyser i nära realtid över sina driftdata utan ETL och fullständig prestandaisolering från sina transaktionsarbetsbelastningar.

Genom att kombinera den distribuerade skalan av Cosmos DB:s transaktionsbearbetning med det inbyggda analysarkivet och databehandlingskraften i Azure Synapse Analytics möjliggör Azure Synapse Link en HTAP-arkitektur (Hybrid Transactional/Analytical Processing) för att optimera Tailwind Traders affärsprocesser. Den här integreringen eliminerar ETL-processer (extrahera, transformera, läsa in), vilket gör det möjligt för affärsanalytiker, datatekniker och dataforskare att självbetjäna och köra bi-pipelines i realtid, analys och Machine Learning över driftdata.

Innan vi kan skapa en Azure Cosmos DB-container med ett analysarkiv måste vi först aktivera Azure Synapse Link.

  1. Gå till Azure Portal (https://portal.azure.com) och välj Azure Cosmos DB-kontot.

    Gå till Azure Cosmos DB

  2. Välj Funktioner i den vänstra menyn (1) och välj sedan Azure Synapse Link (2).

    Aktivera Synapse Link

  3. Välj Aktivera.

    Aktivera Synapse Link-skärmen

Skapa en ny Azure Cosmos DB-container

Tailwind Traders har en Azure Cosmos DB-container med namnet OnlineUserProfile01. Eftersom vi har aktiverat Azure Synapse Link-funktionen efter att containern redan har skapats kan vi inte aktivera analysarkivet i containern. Vi skapar en ny container som har samma partitionsnyckel och aktiverar analysarkivet.

När vi har skapat containern skapar vi en ny Synapse-pipeline för att kopiera data från containern OnlineUserProfile01 till den nya.

  1. Välj Datautforskaren på den vänstra menyn.

    Starta Datautforskaren

  2. Välj Ny container.

    Välj en container i Datautforskaren

  3. För Databas-ID väljer du Använd befintlig och sedan CustomerProfile (1). Ange UserProfileHTAP som container-ID (2) och ange sedan /userId för partitionsnyckeln (3).. För Dataflöde väljer du Autoskalning (4) och anger sedan 4 000 för värdet Max RU/s (5).. Ställ slutligen in Analysarkiv på På (6) och välj sedan OK.

    Lägga till en container

    Här anger vi partitionsnyckelvärdet till userId, eftersom det är ett fält som vi oftast använder i frågor. Fältet innehåller en relativt hög kardinalitet (antal unika värden) för bra partitioneringsprestanda. Vi ställer in dataflödet på Autoskalning med ett maximalt värde på 4 000 enheter för begäran (RU:er). Det innebär att containern har minst 400 tilldelade RU:er (10 % av det maximala antalet). Containern skalas upp till högst 4 000 när skalningsmotorn identifierar en tillräckligt hög efterfrågan för att garantera att dataflödet ökar. Slutligen aktiverar vi analysarkivet i containern, vilket gör att vi kan dra full nytta av HTAP-arkitekturen (Hybrid Transactional/Analytical Processing) inifrån Synapse Analytics.

    Låt oss ta en snabb titt på de data som vi kopierar över till den nya containern.

  4. Expandera containern OnlineUserProfile01 under Databasen CustomerProfile och välj sedan Objekt (1).. Välj ett av dokumenten (2) och visa dess innehåll (3). Dokumenten lagras i JSON-format.

    Visa containerobjekt

Med Azure Synapse Link aktiverat och etableringen av analysarkivet kan du sedan fråga analysarkivet direkt från Azure Synapse Analytics eller skapa en pipeline för att kopiera innehållet i analysarkivet