Metabase: un tool Open Source per la Business Intelligence

Metabase: un tool Open Source per la Business Intelligence

Metabase è uno strumento di business intelligence Open Source. Esso consente di porre domande (Question) sui propri dati e mostra le risposte in vari

Che cos’è un processo ETL
Una suite Open Source per la Business Intelligence: Pentaho BI Platform

Metabase è uno strumento di business intelligence Open Source. Esso consente di porre domande (Question) sui propri dati e mostra le risposte in vari formati, che possono essere un grafico a barre o una tabella dettagliata.

Le domande possono essere salvate per essere consultate successivamente, oppure possono essere raggruppate in dashboard dall’aspetto molto accattivante. Metabase semplifica la condivisione di domande e dashboard con il resto del team, ad esempio tramite condivisione diretta, via mail o tramite la chat Slack.

Esempio di dashboard Metabase

Il backend (la parte che dialoga con i database e l’interfaccia REST) di Metabase è scritto in linguaggio Clojure (un dialetto del linguaggio Lisp) la cui compilazione genera un bytecode Java, ciò consente a Clojure di funzionare su una macchina virtuale Java e di poter accedere facilmente a tutte le sue librerie. La parte frontend è invece scritta in Javascript come single page application (utilizza principalmente webpack, babel e cssnext).

Database interrogabili con Metabase

Di seguito i database che è possibile interrogare da Metabase:

  • Postgres
  • MySQL
  • Druid
  • SQL Server
  • Redshift
  • MongoDB
  • Google BigQuery
  • SQLite
  • H2
  • Oracle
  • Vertica
  • Presto
  • Snowflake
  • SparkSQL

Lanciamo Metabase

Per poter iniziare ad utilizzarlo bisogna scaricare un file jar all’indirizzo:

https://www.metabase.com/start/other.html

e lanciare il comando:

java -jar metabase.jar

questo avvierà un server Metabase sulla porta 3000 per impostazione predefinita. Metabase richiede che sul proprio sistema sia disponibile Java 8 o versione successiva (OpenJDK o Oracle JDK).

Metabase poggia su di un suo database dove memorizza informazioni sugli utenti, le domande salvate, le dashboard e qualsiasi altro dato necessario per eseguire l’applicazione. Il database predefinito è H2 embedded, ma questo è configurabile e per le installazioni di produzione è consigliabile sostituire il database H2 con un’opzione più solida come PostgreSQL o Mysql.

E’ possibile modificare il tipo di database da usare (ad esempio Postgres) usando alcune semplici variabili d’ambiente. Per esempio:

export MB_DB_TYPE = postgres
export MB_DB_DBNAME = metabase
export MB_DB_PORT = 5432
export MB_DB_USER = <nomeutente>
export MB_DB_PASS = <password>
export MB_DB_HOST = localhost
java -jar metabase.jar

Questo dirà a Metabase di cercare il suo database  usando le informazioni di connessione Postgres fornite. Metabase supporta inoltre anche un URI di connessione JDBC completo se si dispone di parametri aggiuntivi:

export MB_DB_CONNECTION_URI = "postgres://localhost:5432/metabase?user=<nomeutente> e password=<password>"
java -jar metabase.jar

Per cambiare invece la porta di ascolto bisogna utilizzare la seguente variabile di ambiente:

export MB_JETTY_PORT=12345

All’interno del database H2 è disponibile un dataset di prova, denominato “Sample Dataset”, con cui testare le funzionalità di Metabase. Esso è essenzialmente un dataset contenente le informazioni sugli ordini di uno o più clienti, corredato di recensioni, costituito da 4 tabelle: Orders, People, Reviews e Products. Dalla home di metabase è possibile esplorare il contenuto delle tabelle semplicemente cliccando sull’icona di ognuna di esse:

Ad esempio cliccando sulla tabella Orders, ne visualizziamo i primi 2000 record:

Record della Tabella Orders

Possiamo poi filtrare i record cliccando su “Filtro”, ad esempio quelli con il valore della colonna Subtotals maggiore o uguale a 100:

Record filtrati per il valore di Subtotals maggiore o uguale a 100

Dopodichè possiamo utilizzare il pulsante “Riassume” per poter effettuare dei calcoli, denominate Metriche, sui record come Somma di …, Conteggio di …, Min, Max, etc., ad esempio possiamo chiedere la somma di tutte le Quantity che rispettano il precedente filtro:

Somma delle Quantity dei record che rispettano il precedente filtro su Subtotals

Quella che viene presentata è un primo tipo di visualizzazione che è denominata “Numero” (Number view). Se apriamo di nuovo la barra laterale “Riassume”, sotto la posizione in cui abbiamo scelto la nostra metrica Somma di …, c’è un elenco di tutte le colonne che possiamo usare come raggruppamenti. Se scegliamo Category (dalla tabella Product) otteniamo il seguente grafico a barre:

Somma di Subtotals raggruppata per Category

Cliccando in basso a sinistra su Visualizzazione possiamo cambiare il tipo di grafico visualizzato: ad esempio possiamo scegliere un grafico a linea, a riga oppure una torta. Per ogni tipologia di grafico, vi sono una serie di opzioni con cui cambiare i nomi degli assi, la scala degli assi (lineare o logaritmica ad esempio), il colore delle barre o delle linee, etc..

COMMENTS

WORDPRESS: 1
  • comment-avatar

    Molto interessante, non lo consocevo