Le modalità di connessione ai dati in Power BI

Datamaze
19.10.22 05:08 PM Comment(s)

Power BI supporta tre diverse modalità per connettersi alle origini dati: DirectQuery,Live Connection e Import Data. Ciascuno di questi tre metodi ha caratteristiche diverse e presenta differenti pro e contro; è quindi fondamentale comprendere, a priori, quando utilizzare un metodo e quando piuttosto un altro. Vediamoli nel dettaglio.


Modalità Import Data

L’Import Data consiste nel caricare i dati direttamente in Power BI. Questi dati occupano memoria e spazio sul disco: se si utilizza Power BI Desktop, si occupa spazio sul disco in locale; se invece si pubblicano i report nel portale web, si occupa spazio sul disco nel cloud di Power BI. 

Power BI è dotato di un motore di compressione, chiamato xVelocity, basato su una tecnologia column-store in-memory. Grazie alla compressione dei dati, lo spazio che viene occupato è di gran lunga minore rispetto a quanto sarebbe altrimenti.

I pro di questa modalità di connessione sono i seguenti:
  • La connessione è generalmente più veloce. Le query eseguite dai visual in Power BI vengono valutate sui dati caricati in memoria; di conseguenza, non si hanno ritardi o lentezza nel report.
  • Power BI resta completamente funzionale. È possibile utilizzare tutti i suoi componenti, compreso Power Query, per la trasformazione e modellazione del dato. Inoltre, non ci sono restrizioni al linguaggio DAX.
  • È permessa la combinazione di dati provenienti da origini diverse.

Il difetto principale è uno:
  • C'è una limitazione alle dimensioni del modello dati. Il file di Power BI, per funzionare correttamente, non dovrebbe superare 1 GB di memoria. Con Power BI Premium per user è possibile raggiungere i 10 GB, e i 400 GB con la Premium per capacity.

Connessioni di Power BI

Modalità DirectQuery

La DirectQuery è una connessione diretta con l’origine dati. Con questa modalità vengono importati solo i metadati delle tabelle e colonne, e non i dati stessi. Non essendoci caching, non viene mantenuto in memoria alcun dato: per questo motivo, ogni azione dell'utente finale scatena ogni volta un’interrogazione diretta all’origine dati. Con questa modalità di connessione, le dimensioni dei file sono molto più piccole.

Non tutte le origini accettano Direct Query come metodo di connessione. Fra le principali che lo supportano troviamo: Amazon Redshift, Azure HDInsight Spark, Azure SQL Database a Data Warehouse, IBM Netezza, Oracle, SAP HANA, SQL Server, Teradata. Qui l'elenco completo di Microsoft

I vantaggi di questa modalità sono:
  • Non si ha alcun limite di dimensioni sull’origine dati.
  • È il metodo più indicato per interrogare dati che cambiano continuamente, quando si ha effettivamente bisogno di visualizzare il dato più recente possibile.

I difetti di questo metodo, invece, sono:
  • Le funzionalità di Power Query sono limitate. È possibile solamente modificare la relazione tra le tabelle ma non i dati al loro interno. Inoltre, alcune funzioni di DAX non sono accettate.
  • La connessione è più lenta, e più sono grandi i dati, tendenzialmente peggiori saranno le performance. Benché non ci siano limiti, conviene restringere il volume dei dati per rendere lo strumento il più rapido possibile, onde evitare che l'attività dell'utente finale si trasformi in una continua e ripetuta attesa delle query. Va necessariamente fatto un tuning delle performance nelle origini dati.

Modalità Live Connection

La Live Connection è una modalità di connessione per alcuni aspetti simile a DirectQuery, in quanto non importa dati ma solo metadati. Le origini a cui ci si può collegare, però, devono essere a loro volta motori di modellazione, come ad esempio i modelli Tabular.

Nello specifico, le origini dati supportate sono:
  • Azure Analysis Services
  • I modelli Tabular di SQL Server Analysis Services
  • I modelli multi-dimensionali di SQL Server Analysis Services
  • I dataset di Power BI

I vantaggi di utilizzare Live Connection sono:
  • Non vi è alcuna limitazione alle dimensioni del modello Analysis Services.
  • Molte organizzazioni hanno già uno o più modelli d’analisi a cui collegarsi. Si può quindi effettuare la connessione direttamente con Power BI senza dover necessariamente replicare il modello importando i dati.
  • È possibile creare (anche) misure a livello di report. Nonostante i dati non vengano importati, è possibile creare misure direttamente in Power BI (oltre a quelle già create nel modello): in questo caso tali misure potranno essere utilizzate solo all’interno del report. Le altre misure rimangono disponibili a tutti i report che si connettono a tale modello d’analisi.

I contro di questo metodo di connessione sono:
  • Impossibile combinare dati provenienti da più origini. Una volta collegati ad un’origine di questo tipo, non è possibile definire una seconda origine dati.
  • Tipo di connessione più lento rispetto all’Import Data, ma il difetto è mitigabile con un’accorta progettazione del modello d’analisi che segua le migliori best practices.
  • Non è consentito l’utilizzo di Power Query. Non è possibile cambiare le relazioni tra le tabelle e nemmeno effettuare modifiche sui dati. In altre parole, le tabelle importate non possono essere trasformate.
  • Alcune funzionalità di Power BI non sono disponibili, ad esempio il Q&A e lo Smart narrative.

Contando che questa modalità viene scelta quando si ha un ambiente già completamente certificato, i primi tre difetti elencati non rappresentano in alcun modo un limite effettivo dello strumento. Solitamente, infatti, questo è l’esatto scenario in cui ci si vuole trovare: un ambiente dati circoscritto, certificato e condiviso.

Quale modalità è la migliore fra le tre?

La risposta è ovviamente: dipende. Per poter dare una risposta a questa domanda, occorre prima porsi una serie di quesiti, in modo da perimetrare con precisione lo scenario in cui ci troviamo. Solo successivamente potremo scegliere la modalità migliore per il nostro caso. Alcune di queste domande possono essere le seguenti:
  • A quante e quali origini dati ci dobbiamo collegare?
  • Chi e a quale scopo sta utilizzando Power BI?
  • Quali sono i dati da interrogare, come sono strutturati e come si comportano nel tempo?
  • Quali relazioni esistono fra i dati?
  • Abbiamo la necessità di trasformare i dati, o solo di analizzarli/visualizzarli?
  • Il dato che dobbiamo analizzare è già frutto di un processo di certificazione?
  • Quali sono le caratteristiche dell’architettura dati in gioco?
  • Di quali funzionalità di Power BI abbiamo bisogno?
  • È più importante avere un modello dati performante, uno flessibile, oppure uno scalabile?
  • Sono chiare a tutti le differenze fra le tre modalità di connessione ai dati?
  • Ma soprattutto, sono chiari i limiti e le restrizioni di ciascuna di esse?

Se si ha la risposta a questi quesiti, è facile intuire quale modalità farà al caso nostro.

La nostra esperienza personale

Per esperienza personale, abbiamo visto che DirectQuery è la più popolare fra i clienti che ci chiedono una consulenza. Molti dichiarano che tale modalità sia la più performante: per questo motivo molti clienti partono con l’idea fissa di utilizzarla, invogliati anche dal nome stesso. Tale incanto si spezza quando viene spiegato loro, nei dettagli, quali sono i suoi limiti. Su suggerimento degli stessi Marco Russo e Alberto Ferrari di SQLBI, ogni volta introduciamo DirectQuery ai nostri clienti così: «Facciamo finta che si chiami No-Cache Mode.» La loro reazione cambia totalmente. Sono pochi e molto specifici i casi in cui DirectQuery è realmente necessaria.               

In molte aziende in Italia mancano tutt’oggi i concetti fondamentali della Business Intelligence. Molti clienti si approcciano a noi dicendo di voler introdurre Power BI come strumento di analisi dei dati, oppure di aver bisogno di consulenza sullo strumento perché non conoscono abbastanza il linguaggio DAX. Ma dopo una chiacchierata di mezz’ora comprendiamo chiaramente che ciò di cui hanno bisogno è in realtà – ed innanzitutto – un data warehouse, base fondamentale per qualsiasi attività di Business Intelligence e Data Analytics and Visualization. In questi casi, infatti, a valle, la modalità di connessione che verrà utilizzata sarà la Live Connection, in seguito alla creazione di uno o differenti modelli di Analysis Services. I “limiti” di questa modalità verranno accolti dal cliente come giuste – e desiderate – restrizioni.              

Altre volte, invece, l’attività da fare in Power BI è estemporanea e focalizzata: in questi casi l’Import Data è tanto semplice quanto efficace.

Modelli compositi

Power BI offre anche la possibilità di creare un cosiddetto set di dati composto. In questo tipo di modelli si hanno origini dati a cui ci si collega in DirectQuery ed altre che vengono importate in Import Data. Alcuni potrebbero optare per questa soluzione per importare le tabelle più piccole e connettersi in DirectQuery a quelle più grandi, in modo da migliorare le prestazioni di base. In realtà questo metodo ha molti altri risvolti ben più importanti da un punto di vista funzionale. Potete scoprire di più leggendo il nostro articolo.


Fonte: Power BI Connection Types: DirectQuery, Live, or Import? Tough Decision!


di Thomas Tolio, pubblicato il 19 ottobre 2022