Estrarre i dati dai database tenant in un database di analisi per l'analisi offline

In questa esercitazione, si usa un processo elastico per eseguire query su ogni database tenant. Il processo estrae i dati di vendita di ticket e li carica in un database di analisi (o del data warehouse) per l'analisi. Vengono quindi eseguite query su questo database di analisi per estrarre informazioni dettagliate dai dati operativi quotidiani di tutti i tenant.

In questa esercitazione si apprenderà come:

  • Creare il database di analisi tenant
  • Creare un processo pianificato per recuperare i dati e popolare il database di analisi

Per completare questa esercitazione, verificare che siano soddisfatti i prerequisiti seguenti:

Modello di analisi operativa del tenant

Una delle grandi opportunità offerte dalle applicazioni SaaS è la possibilità di usare i dati completi del tenant archiviati nel cloud. Questi dati possono essere usati per ottenere informazioni dettagliate sul funzionamento e l'utilizzo dell'applicazione e dei tenant, nonché come base per progettare sviluppi futuri, miglioramenti dell'usabilità e altri investimenti per l'app e la piattaforma. L'accesso a questi dati è semplice quando sono raccolti in un singolo database multi-tenant, ma non è altrettanto semplice in una distribuzione su larga scala potenzialmente in migliaia di database. Uno degli approcci possibili per l'accesso ai dati è l'uso dei processi elastici, che consentono di acquisire in un database e una tabella di output i risultati delle query che restituiscono risultati dall'esecuzione del processo.

Ottenere gli script dell'applicazione Wingtip

Gli script dell'app SaaS Wingtip e il codice sorgente dell'applicazione sono disponibili nel repository GitHub WingtipSaaS. Procedura per scaricare gli script dell'app SaaS Wingtip.

Distribuire un database per i risultati di analisi dei tenant

Per questa esercitazione è necessario avere distribuito un database per acquisire i risultati dall'esecuzione dei processi degli script, che contengono query che restituiscono risultati. Per iniziare verrà creato un database denominato tenantanalytics a questo scopo.

  1. Aprire …\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalyticsDB.ps1 in PowerShell ISE e impostare il valore seguente:
    • $DemoScenario = 2Distribuire il database di analisi operativo
  2. Premere F5 per eseguire lo script della demo (che chiama lo script Deploy-TenantAnalyticsDB.ps1) che crea il database di analisi del tenant.

Creare alcuni dati per la demo

  1. Aprire …\Learning Modules\Operational Analytics\Tenant Analytics\Demo-TenantAnalyticsDB.ps1 in PowerShell ISE e impostare il valore seguente:
    • $DemoScenario = 1Acquistare biglietti per gli eventi in tutte le sedi
  2. Premere F5 per eseguire lo script e creare la cronologia di acquisto dei biglietti.

Creare un processo pianificato per recuperare i dati analitici dei tenant sugli acquisti di biglietti

Questo script crea un processo per recuperare informazioni sull'acquisto di biglietti da tutti i tenant. Dopo l'aggregazione dei risultati in una singola tabella, si ottengono metriche dettagliate e approfondite sui modelli di acquisto dei biglietti in tutti i tenant.

  1. Aprire SSMS e connettersi al server catalog-<utente>.database.windows.net
  2. Aprire ...\Learning Modules\Operational Analytics\Tenant Analytics\TicketPurchasesfromAllTenants.sql
  3. Modificare <Utente>, usare il nome utente usato durante la distribuzione dell'app SaaS Wingtip all'inizio dello script, sp_add_target_group_member e sp_add_jobstep
  4. Fare clic con il pulsante destro del mouse, scegliere Connessione e connettersi al server catalog-<Utente>.database.windows.net, se necessario
  5. Assicurarsi di essere connessi al database jobaccount e premere F5 per eseguire lo script
  • sp_add_target_group crea il nome del gruppo di destinazioneTenantGroup a cui è necessario aggiungere i membri di destinazione.
  • sp_add_target_group_member aggiunge un tipo di membro di destinazione server, che desume che tutti i database nel server al momento dell'esecuzione del processo devono essere inclusi nel processo. Si noti che si tratta del database customer1-<Utente> contenente i database tenant.
  • sp_add_job crea un nuovo processo pianificato settimanale denominato "Ticket Purchases from all Tenants" (Acquisti di biglietti da tutti i tenant)
  • sp_add_jobstep crea il passaggio del processo che contiene il testo dei comandi T-SQL per recuperare tutte le informazioni sugli acquisti di biglietti da tutti i tenant e per copiare il set di risultati restituito in una tabella denominata AllTicketsPurchasesfromAllTenants
  • Le restanti viste nello script consentono di confermare l'esistenza degli oggetti e gestire il monitoraggio dell'esecuzione del processo. Controllare il valore di stato nella colonna lifecycle per monitorare lo stato. Lo stato Succeeded indica che il processo è stato completato correttamente in tutti i database tenant e che sono stati creati i due database aggiuntivi contenenti la tabella di riferimento.

La corretta esecuzione dello script dovrebbe restituire risultati simili ai seguenti:

risultati

Creare un processo per recuperare un conteggio di riepilogo degli acquisti di biglietti da tutti i tenant

Questo script crea un processo per recuperare la somma di tutti gli acquisiti di biglietti da tutti i tenant.

  1. Aprire SSMS e connettersi al server catalog- <utente>.database.windows.net
  2. Aprire il file …\Learning Modules\Provision and Catalog\Operational Analytics\Tenant Analytics\Results-TicketPurchasesfromAllTenants.sql
  3. Modificare <Utente>, usare il nome utente usato durante la distribuzione dell'app SaaS Wingtip nello script, nella stored procedure sp_add_jobstep
  4. Fare clic con il pulsante destro del mouse, scegliere Connessione e connettersi al server catalog-<Utente>.database.windows.net, se necessario
  5. Assicurarsi di essere connessi al database tenantanalytics e premere F5 per eseguire lo script

La corretta esecuzione dello script dovrebbe restituire risultati simili ai seguenti:

results

  • sp_add_job crea un nuovo processo pianificato settimanale denominato "ResultsTicketsOrders"

  • sp_add_jobstep crea il passaggio del processo che contiene il testo dei comandi T-SQL per recuperare tutte le informazioni sugli acquisti di biglietti da tutti i tenant e per copiare il set di risultati restituito in una tabella denominata CountofTicketOrders

  • Le restanti viste nello script consentono di confermare l'esistenza degli oggetti e gestire il monitoraggio dell'esecuzione del processo. Controllare il valore di stato nella colonna lifecycle per monitorare lo stato. Lo stato Succeeded indica che il processo è stato completato correttamente in tutti i database tenant e che sono stati creati i due database aggiuntivi contenenti la tabella di riferimento.

Passaggi successivi

In questa esercitazione si è appreso come:

  • Distribuire un database di analisi dei tenant
  • Creare un processo pianificato per recuperare i dati analitici da tutti i tenant

Congratulazioni.

Risorse aggiuntive