Analýzy mezi tenanty s využitím extrahovaných dat – aplikace s více tenanty

Platí pro:Azure SQL Database

V tomto kurzu si projdete kompletní analytický scénář pro víceklientských implementací. Tento scénář ukazuje, jak můžou analýzy umožnit firmám provádět inteligentní rozhodnutí. Pomocí dat extrahovaných z horizontálně dělené databáze můžete pomocí analýz získat přehled o chování tenanta, včetně jejich použití ukázkové aplikace Wingtip Tickets SaaS. Tento scénář zahrnuje tři kroky:

  1. Extrahujte data z každé databáze tenanta do analytického úložiště.
  2. Optimalizujte extrahovaná data pro zpracování analýz.
  3. Pomocí nástrojů Business Intelligence můžete vykreslit užitečné přehledy, které můžou vést k rozhodování.

V tomto kurzu se naučíte:

  • Vytvořte úložiště analýz tenanta pro extrahování dat.
  • Pomocí elastických úloh extrahujte data z každé databáze tenanta do úložiště analýz.
  • Optimalizujte extrahovaná data (reorganizujte je do hvězdicového schématu).
  • Zadejte dotaz na analytickou databázi.
  • Pomocí Power BI pro vizualizaci dat můžete zvýraznit trendy v datech tenanta a doporučit vylepšení.

Diagram shows an overview of the architecture used for this article.

Model analýzy offline tenantů

Aplikace SaaS, které vyvíjíte, mají přístup k obrovskému množství dat tenantů uložených v cloudu. Data poskytují bohatý zdroj přehledů o provozu a využití aplikace a o chování tenantů. Tyto přehledy můžou vést k vývoji funkcí, vylepšení použitelnosti a dalším investicím do aplikace a platformy.

Přístup k datům pro všechny tenanty je jednoduchý, když jsou všechna data v jedné databázi s více tenanty. Přístup je ale složitější, když se distribuuje ve velkém měřítku napříč tisíci databází. Jedním ze způsobů, jak zkrotit složitost, je extrahovat data do analytické databáze nebo datového skladu. Potom dotazujete datový sklad, abyste získali přehledy z dat lístků všech tenantů.

Tento kurz představuje kompletní analytický scénář pro tuto ukázkovou aplikaci SaaS. Nejprve se elastické úlohy používají k naplánování extrakce dat z každé databáze tenanta. Data se odesílají do analytického úložiště. Úložiště analýz může používat Azure SQL Database nebo Azure Synapse Analytics. Pro extrakci velkých objemů dat se doporučuje Azure Data Factory .

V dalším kroku se agregovaná data skříní do sady tabulek hvězdicového schématu . Tabulky se skládají z centrální tabulky faktů a souvisejících tabulek dimenzí:

  • Tabulka centrálních faktů ve hvězdicovém schématu obsahuje data lístku.
  • Tabulky dimenzí obsahují data o místech, událostech, zákaznících a datech nákupu.

Tabulky centrálních dimenzí a tabulky dimenzí společně umožňují efektivní analytické zpracování. Hvězdicové schéma použité v tomto kurzu se zobrazí na následujícím obrázku:

Database diagram shows four database objects connected to a central database object.

Nakonec se dotazují tabulky hvězdicového schématu. Výsledky dotazu se zobrazují vizuálně, aby se zvýrazňovaly přehledy o chování tenanta a jejich použití aplikace. Pomocí tohoto hvězdicového schématu můžete spouštět dotazy, které pomáhají zjišťovat položky jako následující:

  • Kdo je koupit vstupenky a z jakého místa.
  • Skryté vzory a trendy v následujících oblastech:
    • Prodej vstupenek.
    • Relativní popularita každého místa.

Porozumění tomu, jak konzistentně každý tenant používá službu, nabízí příležitost vytvářet plány služeb, které vyhovují jejich potřebám. Tento kurz obsahuje základní příklady přehledů, které je možné z dat tenanta vyčíst.

Nastavení

Požadavky

Předpokladem dokončení tohoto kurzu je splnění následujících požadavků:

Vytvoření dat pro ukázku

V tomto kurzu se analýza provádí s daty prodeje lístků. V aktuálním kroku vygenerujete data lístku pro všechny tenanty. Později se tato data extrahují k analýze. Ujistěte se, že jste zřídili dávku tenantů, jak je popsáno výše, abyste měli smysluplné množství dat. Dostatečně velké množství dat může vystavit celou řadu různých vzorů nákupu lístků.

  1. V prostředí PowerShell ISE otevřete ...\Učení Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1 a nastavte následující hodnotu:
    • = $DemoScenario 1 Koupit vstupenky na akce ve všech prostorách
  2. Stisknutím klávesy F5 spusťte skript a vytvořte historii nákupu lístků pro každou událost v každém místě. Skript se spustí několik minut, aby vygeneroval desítky tisíc lístků.

Nasazení analytického úložiště

Často existuje mnoho transakčních horizontálně dělených databází, které obsahují všechna data tenanta. Data tenanta z horizontálně dělené databáze musíte agregovat do jednoho analytického úložiště. Agregace umožňuje efektivní dotazování dat. V tomto kurzu se k ukládání agregovaných dat používá databáze Azure SQL Database.

V následujících krocích nasadíte úložiště analýz, které se nazývá analýza tenantů. Nasadíte také předdefinované tabulky, které se vyplní později v tomto kurzu:

  1. V prostředí PowerShell ISE otevřete ...\Učení Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalytics.ps1.
  2. Nastavte proměnnou $DemoScenario ve skriptu tak, aby odpovídala vašemu výběru analytického úložiště. Pro účely výuky se doporučuje používat databázi bez columnstore.
    • Pokud chcete používat SQL Database bez columnstore, nastavte $DemoScenario = 2.
    • Pokud chcete použít SQL Database se columnstorem, nastavte $DemoScenario = 3.
  3. Stisknutím klávesy F5 spusťte ukázkový skript (který volá skript Deploy-TenantAnalytics<XX.ps1>), který vytvoří úložiště analýz tenanta.

Teď, když jste nasadili aplikaci a naplnili ji zajímavými daty tenanta, použijte SQL Server Management Studio (SSMS) k připojení tenantů1-mt-User<> a catalog-mt-User<> servery pomocí Login = developer, Password = P@ssword1.

architectureOverView

V Průzkumník objektů proveďte následující kroky:

  1. Rozbalte server tenants1-mt-User><.
  2. Rozbalte uzel Databáze a zobrazte databázi tenants1 obsahující více tenantů.
  3. Rozbalte server catalog-mt-User><.
  4. Ověřte, že se zobrazí úložiště analýz a databáze jobaccount.

Rozbalením uzlu úložiště analýz si prohlédněte následující položky databáze v Průzkumník objektů SSMS:

  • Tabulky TicketsRawDataa EventsRawData uchovávají nezpracovaná extrahovaná data z databází tenanta.
  • Tabulky hvězdicového schématu jsou fact_Tickets, dim_Customers, dim_Venues, dim_Events a dim_Dates.
  • Uložená procedura sp_ShredRawExtractedData slouží k naplnění tabulek hvězdicového schématu z nezpracovaných datových tabulek.

Screenshot shows the S S M S Object Explorer for the analytics store node, including Tables, Views, and nodes.

Extrakce dat

Vytvoření cílových skupin

Než budete pokračovat, ujistěte se, že jste nasadili účet úlohy a databázi jobaccount. V další sadě kroků se elastické úlohy používají k extrakci dat z databáze horizontálně dělených tenantů a k ukládání dat v analytickém úložišti. Potom druhá úloha nahrá data a uloží je do tabulek ve hvězdicovém schématu. Tyto dvě úlohy běží proti dvěma různým cílovým skupinám, konkrétně TenantGroup a AnalyticsGroup. Úloha extrakce se spustí pro skupinu TenantGroup, která obsahuje všechny databáze tenantů. Úloha shredding se spouští s analytickou skupinou AnalyticsGroup, která obsahuje pouze úložiště analýz. Pomocí následujících kroků vytvořte cílové skupiny:

  1. V nástroji SSMS se připojte k databázi jobaccount v catalog-mt-User<>.
  2. V nástroji SSMS otevřete ...\Učení Modules\Operational Analytics\Tenant Analytics\ TargetGroups.sql.
  3. @User Upravte proměnnou v horní části skriptu a nahraďte <User> hodnotou uživatele použitou při nasazení aplikace Databáze SaaS SaaS s více tenanty Wingtip Tickets.
  4. Stisknutím klávesy F5 spusťte skript, který vytvoří dvě cílové skupiny.

Extrakce nezpracovaných dat ze všech tenantů

Transakce můžou nastat častěji pro data lístku a zákazníků než pro data událostí a místa konání. Proto zvažte extrahování lístků a zákaznických dat samostatně a častěji, než extrahujete data o událostech a místě. V této části definujete a naplánujete dvě samostatné úlohy:

  • Extrahujte lístek a zákaznická data.
  • Extrahujte data události a místa konání.

Každá úloha extrahuje data a publikuje je do analytického úložiště. V této úloze se extrahovaná data rozdělí do analytického hvězdicového schématu.

  1. V nástroji SSMS se připojte k databázi jobaccount na serveru catalog-mt-User<>.
  2. V nástroji SSMS otevřete ...\Učení Modules\Operational Analytics\Tenant Analytics\ExtractTickets.sql.
  3. Upravte @User v horní části skriptu a nahraďte <User> uživatelské jméno použité při nasazení aplikace Wingtip Tickets SaaS Multi-tenant Database.
  4. Stisknutím klávesy F5 spusťte skript, který vytvoří a spustí úlohu, která extrahuje lístky a data zákazníků z každé databáze tenanta. Úloha uloží data do úložiště analýz.
  5. Zadejte dotaz na tabulku TicketsRawData v databázi tenantanalytics, abyste zajistili, že se tabulka naplní informacemi o lístkech ze všech tenantů.

Screenshot shows the ExtractTickets database with the TicketsRawData d b o selected in Object Explorer.

Opakujte předchozí kroky, s výjimkou této doby nahraďte \ExtractTickets.sql \ ExtractVenuesEvents.sql v kroku 2.

Úspěšně spuštěná úloha naplní tabulku EventsRawData v úložišti analýz novými událostmi a informacemi o místě ze všech tenantů.

Změna uspořádání dat

Extrahovaná data pro naplnění tabulek hvězdicového schématu

Dalším krokem je nahrnout extrahovaná nezpracovaná data do sady tabulek, které jsou optimalizované pro analytické dotazy. Používá se hvězdicové schéma. Centrální tabulka faktů obsahuje záznamy o prodeji jednotlivých lístků. Tabulky dimenzí jsou naplněné daty o místech, událostech, zákaznících a datech nákupu.

V této části kurzu definujete a spustíte úlohu, která sloučí extrahovaná nezpracovaná data s daty v tabulkách hvězdicového schématu. Po dokončení úlohy sloučení se nezpracovaná data odstraní a tabulky budou připravené k naplnění další úlohou extrakce dat tenanta.

  1. V nástroji SSMS se připojte k databázi jobaccount v catalog-mt-User<>.
  2. V nástroji SSMS otevřete ...\Učení Modules\Operational Analytics\Tenant Analytics\ShredRawExtractedData.sql.
  3. Stisknutím klávesy F5 spusťte skript a definujte úlohu, která volá sp_ShredRawExtractedData uloženou proceduru v úložišti analýz.
  4. Počkejte dostatek času na úspěšné spuštění úlohy.
    • Zkontrolujte stav úlohy ve sloupci Životní cyklus tabulky jobs.jobs_execution. Než budete pokračovat, ujistěte se, že úloha byla úspěšná . Úspěšné spuštění zobrazí data podobná následujícímu grafu:

Screenshot shows the successful result of running the sp_ShredRawExtractedData procedure.

zkoumání dat

Vizualizace dat tenanta

Data v tabulce hvězdicového schématu poskytují všechna data prodeje lístků potřebná pro vaši analýzu. Pokud chcete usnadnit zobrazení trendů ve velkých datových sadách, musíte ho graficky vizualizovat. V této části se dozvíte, jak pomocí Power BI manipulovat a vizualizovat data tenanta, která jste extrahovali a uspořádali.

Pomocí následujících kroků se připojte k Power BI a importujte zobrazení, která jste vytvořili dříve:

  1. Spusťte Power BI Desktop.

  2. Na pásu karet Domů vyberte Načíst data a v nabídce vyberte Další...

  3. V okně Načíst data vyberte Azure SQL Database.

  4. V okně pro přihlášení k databázi zadejte název serveru (catalog-mt-User.database.windows.net<>). Vyberte Importovat pro režim Připojení ivity data a klepněte na tlačítko OK.

    Screenshot shows SQL Server database dialog box where you can enter the Server and Database.

  5. V levém podokně vyberte Databázi a zadejte uživatelské jméno = vývojář a zadejte heslo = P@ssword1. Klepněte na tlačítko Připojit.

    Screenshot shows the SQL Server database dialog where you can enter a User name and Password.

  6. V podokně Navigátor v databázi analýz vyberte tabulky hvězdicového schématu: fact_Tickets, dim_Events, dim_Venues, dim_Customers a dim_Dates. Pak vyberte Načíst.

Blahopřejeme! Úspěšně jste načetli data do Power BI. Teď můžete začít zkoumat zajímavé vizualizace, které vám pomůžou získat přehled o tenantech. Dále si ukážeme, jak vám analýzy umožňují poskytovat firemnímu týmu Wingtip Tickets doporučení řízená daty. Doporučení vám můžou pomoct optimalizovat obchodní model a prostředí zákazníků.

Začnete analýzou dat o prodeji lístků, abyste viděli rozdíly v využití v různých místech. Výběrem následujících možností v Power BI zobrazte pruhový graf celkového počtu lístků prodaných jednotlivými místy. Vzhledem k náhodné variaci v generátoru lístků se můžou výsledky lišit.

Screenshot shows a Power B I visualization and controls for the data visualization on the right side.

Předchozí graf potvrzuje, že počet vstupenek prodaných jednotlivými místy se liší. Místa, která prodávají více vstupenek, využívají vaši službu silněji než místa, která prodávají méně vstupenek. Tady může být příležitost přizpůsobit přidělení prostředků podle různých potřeb tenanta.

Data můžete dále analyzovat a zjistit, jak se prodeje lístků v průběhu času liší. Výběrem následujících možností v Power BI vykreslíte celkový počet lístků prodaných každý den po dobu 60 dnů.

Screenshot shows Power B I visualization titled Ticket Sale Distribution versus Sale Day.

Předchozí graf zobrazuje špičku prodeje lístků u některých míst. Tyto špičky posiluje myšlenku, že některá místa můžou nadměrně využívat systémové prostředky. Zatím neexistuje žádný zjevný vzor, kdy k špičkám dochází.

Dále chcete prozkoumat význam těchto dnů ve špičce prodeje. Kdy k těmto vrcholům dochází po vstupenkách na prodej? Pokud chcete vykreslit lístky prodané za den, vyberte v Power BI následující možnosti.

SaleDayDistribution

Předchozí graf ukazuje, že některé místa prodávají spoustu vstupenek v první den prodeje. Jakmile vstupenky na prodej na těchto místech, zdá se, že je šílený spěch. Tento nárůst aktivity o několik míst může mít vliv na službu pro ostatní tenanty.

Můžete znovu přejít k datům a zjistit, jestli je tento šílený spěch pravdivý pro všechny události hostované těmito místy. V předchozích grafech jste zjistili, že Společnost Contoso Concert Hall prodává hodně lístků a že společnost Contoso má v určitých dnech také špičku v prodeji lístků. Seznamte se s možnostmi Power BI, jak vykreslit kumulativní prodej vstupenek pro Contoso Concert Hall a zaměřit se na trendy prodeje pro každou z jejích událostí. Mají všechny události stejný vzor prodeje?

ContosoSales

Předchozí graf pro Contoso Concert Hall ukazuje, že šílený spěch neprobíhá u všech událostí. Pohrajte si s možnostmi filtru, abyste viděli trendy prodeje pro ostatní místa.

Přehledy o vzorech prodeje lístků můžou vést Wingtip Tickets k optimalizaci obchodního modelu. Místo účtování všech tenantů by možná Wingtip měl zavést úrovně služeb s různými velikostmi výpočetních prostředků. Větší místa, která potřebují prodávat více vstupenek za den, by mohla být nabízena vyšší úroveň s vyšší smlouvou o úrovni služeb (SLA). Tyto místa mohou mít své databáze umístěné ve fondu s vyššími limity prostředků pro jednotlivé databáze. Každá úroveň služby může mít hodinové přidělení prodeje s dalšími poplatky účtovanými za překročení přidělení. Větší místa, která mají pravidelné nárůsty prodeje, by mohly těžit z vyšších úrovní a Wingtip Tickets může zpeněžit své služby efektivněji.

Někteří zákazníci Wingtip Tickets si mezitím stěžují, že se snaží prodat dostatek lístků, aby odůvodnili náklady na služby. V těchto přehledech je možná příležitost zvýšit prodej vstupenek pro podváděje místa. Vyšší prodeje by zvýšily vnímanou hodnotu služby. Klikněte pravým tlačítkem na fact_Tickets a vyberte Nová míra. Zadejte následující výraz pro novou míru s názvem AverageTicketsSold:

AverageTicketsSold = DIVIDE(DIVIDE(COUNTROWS(fact_Tickets),DISTINCT(dim_Venues[VenueCapacity]))*100, COUNTROWS(dim_Events))

Výběrem následujících možností vizualizace vykreslíte procento lístků prodaných jednotlivými místy a určíte jejich relativní úspěch.

analyticsViews

Předchozí graf ukazuje, že i když většina míst prodává více než 80 % svých vstupenek, někteří se snaží vyplnit více než polovinu míst. Play around with the Values Well to select maximum or minimum of tickets sold for each venue.

Dříve jste prohloubili analýzu, abyste zjistili, že prodej lístků má tendenci dodržovat předvídatelné vzory. Toto zjištění může umožnit, aby wingtip Tickets pomohly zvýšit prodej vstupenek tím, že doporučí dynamické ceny. Toto zjišťování by mohlo odhalit příležitost využít techniky strojového učení k predikci prodeje lístků pro každou událost. Předpovědi by také mohly být provedeny pro dopad na výnosy z nabídky slev na prodej vstupenek. Power BI Embedded je možné integrovat do aplikace pro správu událostí. Integrace může pomoct vizualizovat predikované prodeje a vliv různých slev. Aplikace by mohla pomoct navrhnout optimální slevu, která se použije přímo z analytického displeje.

Zjistili jste trendy v datech tenantů z databázové aplikace SaaS Multi-tenanta Wingtip Tickets. Můžete zvážit další způsoby, jak může aplikace informovat obchodní rozhodnutí pro dodavatele aplikací SaaS. Dodavatelé můžou lépe vyhovět potřebám svých tenantů. Doufáme, že tento kurz vás vybavil nástroji potřebnými k provádění analýz dat tenantů, aby vaše firmy mohly rozhodovat na základě dat.

Další kroky

V tomto kurzu jste se naučili, jak:

  • Nasazení analytické databáze tenanta s předem definovanými tabulkami hvězdicového schématu
  • Použití elastických úloh k extrakci dat ze všech databází tenanta
  • Sloučení extrahovaných dat do tabulek ve hvězdicovém schématu navrženém pro analýzu
  • Dotazování analytické databáze
  • Použití Power BI pro vizualizaci dat ke sledování trendů v datech tenanta

Blahopřejeme!

Další materiály

Další kurzy, které vycházejí z aplikace Wingtip SaaS