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

Platí pro:Azure SQL Database

V tomto kurzu si projdete kompletní scénář analýzy pro implementaci jednoho tenanta. Tento scénář ukazuje, jak můžou analýzy umožnit firmám provádět inteligentní rozhodnutí. Pomocí dat extrahovaných z každé databáze tenanta 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 a načtěte je do analytického úložiště.
  2. Transformujte 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 s více tenanty obvykle mají obrovské množství dat tenantů uložených v cloudu. Tato data poskytují bohatý zdroj přehledů o provozu a využití vaší aplikace a 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říč potenciálně tisíci databází. Jedním ze způsobů, jak zkrotit složitost a minimalizovat dopad analytických dotazů na transakční data, je extrahovat data do účelu navržené analytické databáze nebo datového skladu.

Tento kurz představuje kompletní analytický scénář pro aplikaci Wingtip Tickets SaaS. Nejprve se elastické úlohy používají k extrakci dat z každé databáze tenanta a jejich načtení do pracovních tabulek v analytickém úložišti. Úložištěm analýz může být sql Database nebo vyhrazený fond SQL. Pro extrakci velkých objemů dat se doporučuje Azure Data Factory .

Dále se agregovaná data transformují do sady tabulek hvězdicového schématu . Tabulky se skládají z tabulky centrálních faktů a souvisejících tabulek dimenzí. Vstupenky na Wingtip:

  • Tabulka centrálních faktů ve hvězdicovém schématu obsahuje data lístku.
  • Tabulky dimenzí popisují místa, události, zákazníky a data nákupu.

Centrální tabulky faktů a dimenzí společně umožňují efektivní analytické zpracování. Hvězdicové schéma použité v tomto kurzu je znázorněno na následujícím obrázku:

architectureOverView

Úložiště analýz se nakonec dotazuje pomocí Power BI , aby se zvýrazňovalo chování tenanta a jejich použití aplikace Wingtip Tickets. Spustíte dotazy, které:

  • Zobrazit relativní popularitu každého místa konání
  • Zvýraznění vzorů v prodeji lístků pro různé události
  • Zobrazit relativní úspěch různých míst při prodeji své akce

Když pochopíte, jak každý tenant službu používá, prozkoumáte možnosti pro zpeněžení služby a zlepšíte službu, aby byla tenanti úspěšnější. Tento kurz obsahuje základní příklady druhů 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ů:

  • Nasadí se aplikace SaaS Tickets Wingtip Pro jednotlivé tenanty. Nasazení za méně než pět minut najdete v tématu Nasazení a prozkoumání aplikace Wingtip SaaS.
  • Skripty SaaS Database Wingtip Tickets a zdrojový kód aplikace se stáhnou z GitHubu. Viz pokyny ke stažení. Před extrahováním jeho obsahu nezapomeňte odblokovat soubor ZIP. V obecných doprovodných materiálech najdete pokyny ke stažení a odblokování skriptů SaaS pro Wingtip Tickets.
  • Power BI Desktop je nainstalovaný. Stažení Power BI Desktopu
  • Dávka dalších tenantů byla zřízena, viz kurz Zřizování tenantů.
  • Vytvořili jsme účet úlohy a databázi účtu úlohy. Prohlédnou si příslušné kroky v kurzu správa schématu.

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 databází, které obsahují všechna data tenanta. Data tenanta z mnoha transakčních databází 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á 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ě:
    • 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 ho zajímavými daty tenanta, použijte SQL Server Management Studio (SSMS) k připojení serverů tenants1-dpt-User<> a catalog-dpt-User>< pomocí login = developer, Password = P@ssword1. Další pokyny najdete v úvodním kurzu .

Screenshot that shows the information needed to connect to SQL Server.

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

  1. Rozbalte server tenants1-dpt-User><.
  2. Rozbalte uzel Databáze a prohlédněte si seznam databází tenantů.
  3. Rozbalte server catalog-dpt-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 slouží k naplnění tabulek hvězdicového schématu z nezpracovaných datových tabulek.

Screenshot of the database items shown in the SSMS Object Explorer.

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 každé databáze tenanta 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-dpt-User<>.
  2. V nástroji SSMS otevřete TargetGroups.sql ...\Učení Modules\Operational Analytics\Tenant Analytics\
  3. @User Upravte proměnnou v horní části skriptu a nahraďte <User> ji hodnotou uživatele použitou při nasazení aplikace Wingtip SaaS.
  4. Stisknutím klávesy F5 spusťte skript, který vytvoří dvě cílové skupiny.

Extrakce nezpracovaných dat ze všech tenantů

U lístků a zákaznických dat může docházet k rozsáhlým úpravám dat, než u dat 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-dpt-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 SaaS.
  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ů. Další tabulky jsou naplněné souvisejícími daty o místech konání, událostech a zákaznících. A existují tabulky časových dimenzí.

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-dpt-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:

shredding

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-dpt-User.database.windows.net<>). Vyberte Importovat pro režim Připojení ivity data a klepněte na tlačítko OK.

    signinpowerbi

  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.

Gratulujeme! Ú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ýkonné 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 = AVERAGEX( SUMMARIZE( TableName, TableName[Venue Name] ), CALCULATE( SUM(TableName[Tickets Sold] ) ) )

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.

Screenshot shows Power B I visualization titled Average Tickets Sold By Each Venue.

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štění by mohlo odhalit příležitost použí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.

Zaznamenali jste trendy v datech tenanta z aplikace WingTip. 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

Gratulujeme!

Další materiály