Articoli

Azure Databricks

La piattaforma Databricks Lakehouse su cloud Azure

Azure Databricks è una soluzione di analisi dei dati basata su Spark, che offre agli utenti Azure un’unica piattaforma per l’elaborazione dei Big Data e Machine Learning.

Con il termine Data Lakehouse si indica un’architettura che integra i migliori elementi delle piattaforme Data Warehouse e Data Lake in un’unica soluzione, abilitante sia per use case di Business Intelligence che per use case di Artificial Intelligence su grossi volumi di dati (big data) archiviati in Data Lakes.

La consapevolezza del valore dei dati ed il continuo aumento dei volumi prodotti hanno portato allo sviluppo di sistemi, denominati Data Lake, architetture abilitanti per la gestione e l’archiviazione a basso costo di big data.

I Data Lake sono in grado di gestire ed elaborare qualunque tipologia di dati, non strutturati e semistrutturati, es. testo, immagini, video, tabular data, JSON, CSV, ecc. Spesso i dati sono archiviati in formati open, quali Apache Parquet o ORC, ed elaborati con tools in grado di lavorare direttamente su suddetti formati.

Per contro i Data Lake presentano criticità su sicurezza, performance e data quality.

Essendo i dati gestiti ed archiviati in file, non è possibile avere un controllo di accesso sul loro contenuto ma solo a livello di directory e file.

Le performance delle query sono scarse in quanto i formati di archiviazione non sono ottimizzati per l’accesso veloce e il listing dei file e pesante da un punto di vista computazionale.

La mancanza di supporto per transazioni e rollback rende difficile prevenire la corruzione dei dati, così come la mancanza di vincoli rispetto alle variazioni dello schema dei dati.

Per mitigare suddette criticità si ricorre ad integrazioni di sistemi Data Warehouse, dedicati all’analisi di subset di dati e ad altri sottosistemi specializzati (es. per la gestione di streaming, time-series, ecc) con conseguente incremento di complessità nelle architetture e nella gestione delle stesse.

Le architetture Data Lakehouse hanno l’obiettivo di superare i limiti dei Data Lake.

I Data Lakehouse implementano le strutture dati e le funzionalità di gestione tipiche dei Data Warehouse on top sui Data Lake

Le architetture Data Lakehouse hanno le seguenti caratteristiche:

  • supporto per le transazioni ACID
  • supporto SQL
  • query SQL ad elevate prestazioni
  • operazioni di aggiornamento e cancellazione dei dati low-cost
  • sicurezza a grana fine
  • supporto per l’applicazione e gestione di vincoli di schema
  • supporto BI con la possibilità di usarei tools BI direttamente sulle sorgenti dati Data Lake
  • disaccoppiamento tra componente di archiviazione e componente computazionale
  • utilizzo di formati standard open es. Parquet
  • supporto per differenti tipologie di dati strutturati, semistrutturati, non strutturati
  • supporto per diversi tipi di workload: data science, machine learning, SQL e analytics
  • supporto streaming

data-lakehouse

Databricks combina in un’unica soluzione gli elementi funzionali caratteristici delle architetture Data Lakehouse

In Databricks, Delta Lake è la tecnologia abilitante per l’implementazione del Metadata and Governance Layer.

Le caratteristiche principali della tecnologia Delta Lake sono:

  • ACID Transactions
  • Delta Sharing: protocollo open per la data sharing sicuro
  • Time Travel (data versioning): abilita al recupero delle versioi precedenti ed al rollback
  • Open format
  • Schema Enforcement
  • Schema Evolution
  • Update and deletes
  • Audit History
  • Unified Batch and Streaming Source and Sink

Delta sharing

Databricks offre in un’unica interfaccia un ambiente collaborativo con funzionalità dedicate Data Engineers, Data Scientist e Data Analysis.

Le funzionalità per Data Engineers, consentono l’implementazione, mediante notebook multi linguaggio (Scala, Python, SQL, R) di pipeline di ingestion e trasformazione in bach e streaming, la creazione e gestione di cluster computazionali e la schedulazione di job.

Notebook

Le funzionalità per Data Analyst, consentono la data exploration, la data visualization, l’implementazione di dashboard, mediante linguaggio SQL e la connettività con i principali tools BI, quali es:

  • Power BI
  • Tableau
  • Qlik
  • Microstrategy

HH-SQL-graphicImage-quickly-discover

Le funzionalità per Data Scientist consentono lo sviluppo ed il deployment di modelli Machine Learning in tutte le sue fasi: data preparation, model training (manuale o utilizzando AutoML), production.

ml diagram

 

Link di approfondimento o altri link:

 

I dati e l’intelligenza artificiale per la loro elaborazione rendono disponibili alle imprese nuovi modi per migliorare i processi e generare valore

AI Team Leader