Data lake: storage estremamente scalabile per l’analisi dei big data

data lake
Cosa sono i data lake, come vengono utilizzati e in che modo sono diversi e complementari ai data warehouse?

Nel 2011, James Dixon, allora CTO della società di business intelligence Pentaho, ha coniato il termine data lake contrapponendolo ai silos di informazioni tipici dei data mart, molto popolari all’epoca: “Se pensate a un data mart come a un deposito di acqua in bottiglia, depurata, confezionata e strutturata per un facile consumo, il data lake è un grande specchio d’acqua in uno stato più naturale. Il contenuto del data lake fluisce da una fonte per riempire questo lago e vari utenti possono venire per esaminare, immergersi o prelevare campioni”, scriveva Dixon quando coniò il termine.

Da allora i data lake si sono evoluti e ora competono con i data warehouse nel campo dello storage e analisi dei big data. Vari strumenti e prodotti supportano query SQL più rapide nei data lake e tutti e tre i principali fornitori cloud offrono archiviazione e analisi dei data lake. C’è anche il nuovo concetto di data lakehouse, che combina governance, sicurezza e analisi con uno storage conveniente.

Ma da un punto di vista più pratico cos’è un data lake? Un data lake è essenzialmente un unico repository di dati che contiene tutti i vostri dati fino a quando non sono pronti per l’analisi, oppure solo quei dati che non rientrano nel vostro data warehouse. In genere, un data lake archivia i dati nel formato file nativo, ma i dati possono anche essere trasformati in un altro formato per rendere l’analisi più efficiente. L’obiettivo ultimo di avere un data lake è estrarre dai dati valore aziendale o analitico.

I data lake possono ospitare dati binari, come immagini e video, dati non strutturati, come documenti PDF e dati semistrutturati, come file CSV e JSON, nonché dati strutturati, in genere provenienti da database relazionali. I dati strutturati sono più utili per l’analisi, ma i dati semistrutturati possono essere facilmente importati in un modulo strutturato. I dati non strutturati possono spesso essere convertiti in dati strutturati utilizzando l’automazione intelligente.

Data lake vs data warehouse

La domanda di fondo che ci si pone quando si parla di data lake è se si ha veramente bisogno di esso o se invece serve un data warehouse; molto probabilmente vi servono entrambi, ma per scopi diversi (e, volendo, è anche possibile combinarli). Innanzitutto, diamo un’occhiata alle principali differenze tra data lake e data warehouse:

  • Origini dati: le origini dati tipiche per i data lake includono file di registro, post sui social media e dati da dispositivi connessi a Internet. I data warehouse in genere archiviano i dati estratti da database transazionali, applicazioni line-of-business e database operativi per l’analisi.
  • Strategia dello schema: lo schema del database per un data lake viene in genere applicato al momento dell’analisi (schema-on-read). Lo schema del database per i data warehouse aziendali viene invece progettato prima della creazione del datastore e applicato ai dati durante l’importazione (schema-on-write).
  • Infrastruttura di archiviazione: i data warehouse hanno spesso quantità significative di RAM e di costosi SSD per fornire rapidamente i risultati delle query. I data lake utilizzano invece per lo più dischi rotanti economici su cluster di computer di base. Sia i data warehouse che i data lake utilizzano il massively parallel processing (MPP) per velocizzare le query SQL.
  • Dati grezzi o curati: i dati in un data warehouse dovrebbero essere curati al punto in cui il data warehouse può essere trattato come l'”unica fonte di verità” per un’organizzazione. I dati in un data lake possono essere curati o meno: i data lake in genere iniziano con dati grezzi, che possono essere successivamente filtrati e trasformati per l’analisi.
  • Chi lo utilizza: gli utenti del data warehouse sono solitamente analisti aziendali. Gli utenti di data lake, invece, sono più spesso data scientist o data engineer, almeno inizialmente.
  • Tipo di analisi: l’analisi tipica per i data warehouse include business intelligence, reportistica in batch e visualizzazioni. Per i data lake, l’analisi tipica include machine learning, analisi predittiva, rilevamento e profilazione dei dati.

E i data mart?

I data mart sono database di analisi limitati ai dati di un singolo reparto o unità aziendale, al contrario dei data warehouse, che combinano tutti i dati relazionali di un’azienda in una forma adatta per l’analisi. I data mart offrono un’analisi efficiente poiché contengono solo i dati rilevanti per il dipartimento; in quanto tali, sono intrinsecamente silos. Alcuni affermano che il siloing non ha importanza perché la business unit non ha bisogno dei dati esclusi. Nella vita reale, però, spesso ha importanza. C’è infatti sempre un superiore che ha bisogno di report basati su dati combinati provenienti da più unità aziendali. Questo è uno dei motivi per cui attualmente vediamo molti data lake e data warehouse e pochi data mart.

Query SQL più veloci su un data lake

Quando si archiviano dati grezzi in un data lake, i dati potrebbero essere inutili per gli analisti aziendali finché non vengono elaborati da un ingegnere di dati o da un data scientist. Oltre ai filtri e alle trasformazioni dei dati, i data lake necessitano di elementi come cataloghi di dati, sicurezza dei dati e definizioni di schemi. Il termine per un data lake senza queste funzionalità è data swamp (palude di dati).

Fortunatamente, ci sono molti strumenti per filtrare e organizzare i dati in un data lake. Ad esempio, potreste soddisfare la necessità di uno schema creando un metastore Hive in formato ORC (Optimized Row Columnar). Una volta configurato, il metastore supporta query SQL veloci tramite un motore SQL parallelo come Presto. Il formato ORC è un archivio compresso orientato alle colonne e ottimizzato per Hive e funziona bene con Presto.

Apache Spark è un altro motore SQL parallelo. Sebbene possa funzionare con il formato ORC, funziona ancora meglio con Parquet, un altro archivio compresso orientato alle colonne. Spark può eseguire il partizionamento sia verticale che orizzontale sui file Parquet, producendo un piano di query che richiede la lettura solo dei dati necessari e può saltare i dati irrilevanti.

data lake

Data lakehouse

Databricks, la società dietro Spark e MLflow, offre anche il cosiddetto data lakehouse, che combina le migliori caratteristiche di data warehouse e data lake: “Un data lakehouse unisce il meglio dei data warehouse e dei data lake in un’unica piattaforma semplice per gestire tutti i vostri dati, analisi e casi d’uso dell’IA. Si basa su una base dati aperta e affidabile che gestisce in modo efficiente tutti i tipi di dati e applica un approccio di sicurezza e governance comune a tutti i dati e alle piattaforme cloud”, si legge nella definizione di Databricks.

La piattaforma Databricks Lakehouse include anche Unity Catalog, che fornisce una governance dettagliata per dati e intelligenza artificiale. Databricks afferma che il suo data lakehouse offre 12 volte il rapporto prezzo/prestazioni di un data warehouse.

Data lake in locale e nei cloud pubblici

Storicamente, i data lake sono stati implementati in locale utilizzando cluster Apache Hadoop e HDFS (Hadoop Distributed File System). Ciò che è cambiato negli ultimi tempi è stato l’arrivo del cloud, in particolare dei fornitori di cloud pubblico iperscalabile come Amazon Web Services (AWS), Microsoft Azure e Google Cloud Platform (GCP).

Tutti e tre questi provider cloud offrono prodotti di archiviazione di data lake: Amazon Simple Storage Service (Amazon S3) e Amazon EMR (in precedenza Amazon Elastic MapReduce), Azure Data Lake Store (ADLS) e Google Cloud Storage (GCS). Tutti e tre offrono inoltre servizi per l’acquisizione, l’elaborazione e l’analisi dei dati e per il machine learning. È molto più semplice e veloce creare, gestire e ridimensionare i data lake nel cloud rispetto alla gestione dei cluster Hadoop nel data center; il lato negativo è che alla fine le spese operative a lungo termine nel cloud potrebbero diventare significative.

Analisi e machine learning per data lake

Ho appena parlato dell’utilizzo di Presto e Apache Spark per query SQL più veloci su un data lake. SQL è solo uno dei modi per analizzare i dati, sebbene sia piuttosto importante e sia spesso il primo passo da compiere. In aggiunta, dovete considerare anche strumenti di business intelligence (Power BI, Tableau o Qlik), machine learning (SparkML o KNIME) e deep learning (TensorFlow o PyTorch).

I fornitori di cloud hyperscale dispongono di propri strumenti di analisi e machine learning che si connettono ai propri data lake. Amazon Athena utilizza Presto e Hive per eseguire query SQL sui dati in Amazon S3, mentre Amazon EMR è una piattaforma di Big Data in cloud per l’esecuzione di processi di elaborazione dati distribuiti su larga scala, query SQL interattive e applicazioni di machine learning utilizzando framework di analisi open source come Apache Spark, Apache Hive e Presto. Amazon SageMaker è invece un servizio completamente gestito per creare, addestrare e distribuire modelli di machine learning.

Azure Data Lake Analytics (ADLA) è un servizio di processo di analisi su richiesta (serverless) che semplifica i Big Data e usa U-SQL, ovvero SQL più C#. ADLA verrà sostituito da Azure Synapse Analytics, un servizio di analisi illimitato che unisce integrazione dei dati, data warehousing aziendale e analisi dei big data. Synapse permette di interrogare i dati alle vostre condizioni, utilizzando opzioni serverless o dedicate su larga scala. Combina inoltre funzionalità di data lake, data warehouse aziendale e query di dati operativi e può migrare automaticamente dati e codice da ADLA e da data warehouse. Synapse ha una profonda integrazione con Azure Machine Learning, Azure Cognitive Services e Power BI.

Google Cloud Storage offre un’integrazione nativa con una serie di potenti servizi Google Cloud, come BigQuery (data warehouse), Dataproc (ecosistema Hadoop), Dataflow (analisi dello streaming serverless), API Video Intelligence, API Cloud Vision e AI Platform.

Conclusione

I data lake sono diventati molto più utili dai tempi dei cluster Hadoop e di MapReduce. Presto e Apache Spark offrono processori SQL molto più veloci di MapReduce, grazie all’elaborazione in memoria e all’elaborazione parallela massiccia e agli schemi basati su Hive. I data lake basati sul cloud sono molto più facili e veloci da creare, gestire e scalare rispetto ai cluster on-premise. Infine, i data lake nel cloud si integrano perfettamente con un’ampia gamma di strumenti di analisi e intelligenza artificiale.

Condividi:
 

Data science: quando i dati si trasformano in valore

data science
La data science è un metodo per trasformare i dati aziendali in risorse che aiutano le organizzazioni a migliorare i ricavi, ridurre i costi, cogliere le opportunità di business, migliorare l'esperienza del cliente e altro ancora.

La data science (scienza dei dati) è un metodo per raccogliere informazioni dettagliate da dati strutturati e non strutturati utilizzando approcci che vanno dall’analisi statistica al machine learning. Per la maggior parte delle organizzazioni, questo metodo viene utilizzato per trasformare i dati in valore sotto forma di aumento delle entrate, riduzione dei costi, agilità aziendale, migliore esperienza del cliente, sviluppo di nuovi prodotti e simili. La data science, in pratica, fornisce uno scopo ai dati raccolti da un’organizzazione.

Data science vs. data analytics

Sebbene strettamente correlata, la data analytics è una componente della data science utilizzata per comprendere l'”aspetto” dei dati di un’organizzazione. La data science prende l’output dell’analisi per risolvere i problemi. I data scientist affermano che indagare su qualcosa con i dati è semplicemente analisi. La data science fa un passo ulteriore per spiegare e risolvere i problemi. La differenza tra data analytics e data science è anche quella della scala temporale. La prima descrive lo stato attuale della realtà, mentre la scienza dei dati utilizza tali dati per prevedere e/o comprendere il futuro.

I vantaggi della data science

Il valore aziendale della scienza dei dati dipende dalle esigenze organizzative. Potrebbe aiutare un’organizzazione a creare strumenti per prevedere i guasti hardware, consentendo così all’organizzazione di eseguire la manutenzione e prevenire tempi di inattività non pianificati. Ma potrebbe anche aiutare a prevedere cosa mettere sugli scaffali dei supermercati o quanto sarà popolare un prodotto in base alle sue caratteristiche.

I lavori di data science

Sebbene il numero di corsi di laurea in scienze dei dati stia aumentando rapidamente, non sono necessariamente ciò che le organizzazioni cercano quando devono assumere dei data scientist. Su questo versante i candidati con un background statistico sono particolarmente popolari, soprattutto se hanno conoscenze di dominio per contestualizzare i risultati e capacità di comunicazione che consentono loro di trasmettere risultati agli utenti aziendali.

Molte organizzazioni cercano candidati con dottorato di ricerca, in particolare in fisica, matematica, informatica, economia o persino in scienze sociali. Un dottorato di ricerca dimostra che un candidato è in grado di fare ricerche approfondite su un argomento e di divulgare informazioni ad altri.

Alcuni dei migliori data scientist o leader nei gruppi di data science hanno un background non tradizionale, compresi quelli con una formazione informatica molto limitata. In molti casi, l’abilità chiave è essere in grado di guardare qualcosa da una prospettiva non tradizionale e comprenderla.

Certificazioni di data science

Le organizzazioni hanno bisogno di data scientist e analisti con esperienza nelle tecniche di analisi dei dati. Hanno anche bisogno di architetti di big data per tradurre i requisiti in sistemi, ingegneri di dati per creare e mantenere pipeline di dati, sviluppatori che sappiano come aggirare i cluster Hadoop e altre tecnologie e amministratori di sistema e manager per collegare tutto insieme. Le certificazioni sono un modo per i candidati di dimostrare di avere le competenze giuste.

Alcune delle migliori certificazioni per big data e analisi dei dati includono:

  • Certified Analytics Professional (CAP)
  • Cloudera Data Platform Generalist Certification
  • Data Science Council of America (DASCA) Senior Data Scientist (SDS)
  • Data Science Council of America (DASCA) Principal Data Scientist (PDS)
  • IBM Data Science Professional Certificate
  • Microsoft Certified: Azure Data Scientist Associate
  • Open Certified Data Scientist (Open CDS)
  • SAS Certified Data Scientist

Enterprise Data Strategy

Team di data science

La scienza dei dati è generalmente una disciplina di squadra. I data scientist sono il fulcro della maggior parte dei team di data science, ma il passaggio dai dati all’analisi al valore della produzione richiede una serie di competenze e ruoli ben determinati. Ad esempio, gli analisti di dati dovrebbero analizzare i dati prima di presentarli al team e mantenere i modelli di dati. Gli ingegneri dei dati sono necessari per creare pipeline di dati per arricchire i set di dati e renderli disponibili al resto dell’azienda.

Obiettivi e risultati della data science

L’obiettivo della scienza dei dati è costruire i mezzi per estrarre dai dati informazioni che abbiano un valore per l’azienda. Ciò richiede la comprensione di come il valore e le informazioni fluiscono in un’azienda e la capacità di utilizzare tale comprensione per identificare le opportunità di business.

Sebbene ciò possa comportare progetti una tantum, più in genere i team di data science cercano di identificare le risorse di dati chiave che possono essere trasformate in pipeline di dati che alimentano strumenti e soluzioni gestibili. Gli esempi includono le soluzioni di monitoraggio delle frodi con carte di credito utilizzate dalle banche o gli strumenti utilizzati per ottimizzare il posizionamento delle turbine eoliche nei parchi eolici. In modo incrementale, anche le presentazioni che comunicano ciò che il team sta facendo rappresentano risultati importanti.

Processi e metodologie della scienza dei dati

I team di ingegneria di produzione lavorano su cicli di lavoro con scadenze previste. Questo è spesso difficile da fare per i team di data science perché molto tempo può essere speso solo per determinare se un progetto è fattibile o meno. I dati devono essere raccolti e puliti. Quindi il team deve determinare se questi dati non più grezzi possono rispondere alla domanda in modo efficiente.

La scienza dei dati idealmente dovrebbe seguire il metodo scientifico, anche se non è sempre così visto che la vera scienza richiede tempo. Si dedica un po’ di tempo a confermare un’ipotesi e molto tempo a provare a smentirla. Negli affari, il tempo per rispondere è importante. Di conseguenza, la scienza dei dati può spesso significare cercare un esito “abbastanza buono” piuttosto che l’esito migliore. Il pericolo in ciò, tuttavia, è che i risultati possono essere vittime di bias di conferma o overfitting.

Strumenti di data science

I team di data science utilizzano un’ampia gamma di strumenti, tra cui SQL, Python, R, Java e altrettanti progetti open source come Hive, oozie e TensorFlow. Questi strumenti vengono utilizzati per una varietà di attività relative ai dati, che vanno dalla loro estrazione e pulizia all’analisi algoritmica tramite metodi statistici o machine learning. Alcuni degli strumenti più comuni includono:

  • SAS: Questo strumento statistico proprietario viene utilizzato per il data mining, l’analisi statistica, la business intelligence, l’analisi di studi clinici e l’analisi di serie temporali
  • Tableau: ora di proprietà di Salesforce, Tableau è uno strumento di visualizzazione dei dati
  • TensorFlow: sviluppato da Google e concesso in licenza con licenza Apache 2.0, TensorFlow è una libreria software per il machine learning utilizzata per l’addestramento e l’inferenza di reti neurali profonde
  • DataRobot: questa piattaforma di machine learning automatizzata viene utilizzata per creare, distribuire e mantenere l’IA
  • BigML: una piattaforma di machine learning focalizzata sulla semplificazione della creazione e condivisione di set di dati e modelli
  • Knime: una piattaforma di analisi, reporting e integrazione dei dati open source
  • Apache Spark: questo motore di analisi unificato è progettato per l’elaborazione di dati su larga scala, con supporto per la pulizia, la trasformazione, la creazione di modelli e la valutazione dei dati
  • RapidMiner: questa piattaforma di data science è progettata per aiutare i team, con supporto per la preparazione dei dati, il machine learning e l’implementazione di modelli predittivi
  • Matplotlib: questa libreria open source per Python offre strumenti per la creazione di visualizzazioni statiche, animate e interattive
  • Excel: il software per fogli di calcolo di Microsoft è forse lo strumento di BI più utilizzato in circolazione. È anche utile per i data scientist che lavorano con set di dati più piccoli
  • js: questa libreria JavaScript viene utilizzata per creare visualizzazioni interattive nei browser Web
  • ggplot2: questo pacchetto avanzato di visualizzazione dei dati per R permette ai data scientist di creare visualizzazioni dai dati analizzati
  • Jupyter: questo strumento open source basato su Python viene utilizzato per scrivere codice, visualizzazioni e presentazioni

Aziende:
Appian
Condividi: