Sommario[Nascondere][Spettacolo]
Potrebbe essere un po' difficile considerare tutti i servizi disponibili e le opzioni architetturali quando si pensa alle piattaforme dati.
Una piattaforma dati aziendale è spesso costituita da data warehouse, modelli di dati, data lake e report, ciascuno con uno scopo specifico e un insieme di competenze necessarie. Al contrario, negli ultimi anni è emerso un nuovo design chiamato data lakehouse.
La versatilità dei data lake e la gestione dei dati del data warehouse si combinano in una rivoluzionaria architettura di archiviazione dei dati denominata "data lakehouse".
Esamineremo in modo approfondito Data Lakehouse in questo post, inclusi i suoi componenti, funzionalità, architettura e altri aspetti.
Cos'è Data Lakehouse?
Come suggerisce il nome, un data lakehouse è un nuovo tipo di architettura di dati che combina un data lake con un data warehouse per risolvere le carenze di ciascuno separatamente.
In sostanza, il sistema Lakehouse utilizza uno storage poco costoso per mantenere enormi quantità di dati nelle loro forme originali, proprio come i data lake. L'aggiunta del livello di metadati sopra lo store fornisce anche la struttura dei dati e potenzia gli strumenti di gestione dei dati come quelli che si trovano nei data warehouse.
Memorizza gli enormi volumi di dati organizzati, semistrutturati e non strutturati che ottengono dalle diverse applicazioni, sistemi e gadget aziendali utilizzati nell'organizzazione.
Nella maggior parte dei casi, i data lake utilizzano un'infrastruttura di archiviazione a basso costo con un'API (file application programming interface) per archiviare i dati in formati di file aperti e generici.
Ciò consente a molti team di accedere a tutti i dati aziendali attraverso un unico sistema per una varietà di iniziative, come data science, machine learninge business intelligence.
Caratteristiche
- Stoccaggio a basso costo. Un data lakehouse deve essere in grado di archiviare i dati in uno storage di oggetti poco costoso, ad esempio Google cloud Archiviazione, Archiviazione BLOB di Azure, Amazon Simple Storage Service o in modo nativo tramite ORC o Parquet.
- Capacità di ottimizzazione dei dati: l'ottimizzazione del layout dei dati, la memorizzazione nella cache e l'indicizzazione sono alcuni esempi di come un data lakehouse deve essere in grado di ottimizzare i dati mantenendo il formato originale dei dati.
- Un livello di metadati transazionali: oltre allo storage essenziale a basso costo, questo consente funzionalità di gestione dei dati cruciali per le prestazioni del data warehouse.
- Supporto per l'API dichiarativa DataFrame: la maggior parte degli strumenti di intelligenza artificiale può utilizzare DataFrame per recuperare i dati dell'archivio oggetti grezzi. Il supporto per l'API DataFrame dichiarativa aumenta la capacità di migliorare dinamicamente la presentazione e la struttura dei dati in risposta a particolari attività di data science o AI.
- Supporto per le transazioni ACID: l'acronimo ACID, che sta per atomicità, consistenza, isolamento e durabilità, è un componente critico nella definizione di una transazione e nel garantire la coerenza e l'affidabilità dei dati. Tali transazioni erano precedentemente possibili solo nei data warehouse, ma il lakehouse offre la possibilità di utilizzarli con i data lake anche. Con diverse pipeline di dati che includono letture e scritture di dati simultanee, ciò risolve il problema della bassa qualità dei dati di quest'ultimo.
Elementi di Data Lakehouse
L'architettura della Data Lakehouse è divisa in due livelli principali ad alto livello. L'assunzione di dati del livello di archiviazione è controllata dalla piattaforma Lakehouse (ovvero il data lake).
Senza dover caricare i dati in un data warehouse o convertirli in un formato proprietario, il livello di elaborazione è quindi in grado di interrogare i dati nel livello di archiviazione direttamente utilizzando una gamma di strumenti.
Quindi, le app BI, così come le tecnologie AI e ML, possono utilizzare i dati. L'economia di un data lake è fornita da questo progetto, ma poiché qualsiasi motore di elaborazione può leggere questi dati, le aziende hanno la libertà di rendere i dati preparati accessibili per l'analisi da una gamma di sistemi. Sia le prestazioni che i costi del processore possono essere migliorati utilizzando questo metodo per l'elaborazione e l'analisi.
Grazie al supporto per le transazioni di database che aderiscono ai seguenti criteri ACID (atomicità, coerenza, isolamento e durabilità), l'architettura consente inoltre a molte parti di accedere e scrivere dati contemporaneamente all'interno del sistema:
- Atomicita si riferisce al fatto che l'intera transazione o nessuna di essa ha esito positivo durante il completamento di una transazione. Nel caso in cui un processo venga interrotto, ciò aiuta a evitare la perdita o il danneggiamento dei dati.
- Consistenza garantisce che le transazioni avvengano in modo prevedibile e coerente. Mantiene l'integrità dei dati garantendo che ogni dato sia legittimo secondo regole prestabilite.
- Isolamento assicura che, fino al termine, nessuna transazione può essere influenzata da altre transazioni all'interno del sistema. Ciò consente a più parti di leggere e scrivere contemporaneamente dallo stesso sistema senza interferire tra loro.
- durabilità garantisce che le modifiche ai dati in un sistema continuino a esistere dopo il completamento di una transazione, anche in caso di guasto del sistema. Eventuali modifiche apportate da una transazione sono conservate in archivio per sempre.
Architettura Data Lakehouse
Databricks (l'innovatore e designer del loro concetto di Delta Lake) e AWS sono i due principali sostenitori del concetto di data lakehouse. Faremo quindi affidamento sulla loro conoscenza e intuizione per descrivere la disposizione architettonica delle case sul lago.
Un sistema Data Lakehouse avrà in genere cinque livelli:
- Livello di ingestione
- Livello di archiviazione
- Livello di metadati
- livello API
- Strato di consumo
Livello di ingestione
Il primo livello del sistema è responsabile della raccolta dei dati da varie fonti e dell'invio al livello di archiviazione. Il livello può utilizzare diversi protocolli per connettersi a numerose fonti interne ed esterne, inclusa la combinazione di capacità di elaborazione dati batch e streaming, ad esempio
- database NoSQL,
- condivisioni di file
- applicazioni CRM,
- siti web,
- sensori IoT,
- i social media,
- Applicazioni Software as a Service (SaaS) e
- sistemi di gestione di database relazionali, ecc.
A questo punto, è possibile utilizzare componenti come Apache Kafka per lo streaming di dati e Amazon Data Migration Service (Amazon DMS) per l'importazione di dati da RDBMS e database NoSQL.
Livello di archiviazione
L'architettura Lakehouse ha lo scopo di consentire l'archiviazione di vari tipi di dati come oggetti in negozi di oggetti economici, come AWS S3. Utilizzando formati di file aperti, gli strumenti client possono quindi leggere questi elementi direttamente dal negozio.
Ciò consente a molte API e componenti del livello di consumo di accedere e utilizzare gli stessi dati. Il livello di metadati archivia gli schemi per set di dati strutturati e semi-strutturati in modo che i componenti possano applicarli ai dati mentre li leggono.
La piattaforma Hadoop Distributed File System (HDFS), ad esempio, può essere utilizzata per creare servizi di repository cloud che suddividono l'elaborazione e l'archiviazione in locale. Lakehouse è l'ideale per questi servizi.
Livello di metadati
Il livello di metadati è il componente fondamentale di un data lakehouse che contraddistingue questo design. È un catalogo unico che offre metadati (informazioni su altri dati) per tutti gli elementi archiviati nel lago e consente agli utenti di utilizzare funzionalità di amministrazione come:
- Una versione coerente del database è vista dalle transazioni simultanee grazie alle transazioni ACID;
- memorizzazione nella cache per salvare i file dell'archivio oggetti cloud;
- aggiunta di indici della struttura dei dati utilizzando l'indicizzazione per accelerare l'elaborazione delle query;
- utilizzando la clonazione a copia zero per duplicare oggetti di dati; e
- per memorizzare determinate versioni dei dati, ecc., utilizzare il controllo delle versioni dei dati.
Inoltre, il livello di metadati consente l'implementazione della gestione degli schemi, l'uso di topologie di schemi DW come gli schemi a stella/fiocco di neve e la fornitura di funzionalità di governance e audit dei dati direttamente sul data lake, migliorando l'integrità dell'intera pipeline di dati.
Le funzionalità per l'evoluzione e l'imposizione dello schema sono incluse nella gestione dello schema. Rifiutando le scritture che non soddisfano lo schema della tabella, l'imposizione dello schema consente agli utenti di mantenere l'integrità e la qualità dei dati.
L'evoluzione dello schema consente di modificare lo schema attuale della tabella per adattarsi alla modifica dei dati. Grazie a un'unica interfaccia di amministrazione sopra il data lake, ci sono anche possibilità di controllo degli accessi e auditing.
livello API
È ora presente un altro livello cruciale dell'architettura, che ospita una serie di API che tutti gli utenti finali possono utilizzare per eseguire lavori più rapidamente e ottenere statistiche più sofisticate.
L'uso delle API di metadati semplifica l'identificazione e l'accesso agli elementi di dati necessari per una determinata applicazione.
In termini di librerie di machine learning, alcune di esse, come TensorFlow e Spark MLlib, possono leggere formati di file aperti come Parquet e accedere direttamente al livello di metadati.
Allo stesso tempo, le API DataFrame offrono maggiori possibilità di ottimizzazione, consentendo ai programmatori di organizzare e modificare i dati dispersi.
Strato di consumo
Power BI, Tableau e altri strumenti e app sono ospitati nel livello di consumo. Con il design della casa sul lago, tutti i metadati e tutti i dati conservati in un lago sono accessibili alle app client.
La casa sul lago può essere utilizzata da tutti gli utenti all'interno di un'azienda per eseguire tutti i tipi di operazioni operazioni di analisi, inclusa la creazione di dashboard di business intelligence e l'esecuzione di query SQL e attività di machine learning.
Vantaggi di Data Lakehouse
Le organizzazioni possono creare un data lakehouse per unificare la loro attuale piattaforma di dati e ottimizzare l'intero processo di gestione dei dati. Smantellando le barriere dei silo che collegano le varie fonti, un data lakehouse può sostituire la necessità di soluzioni distinte.
Rispetto alle origini dati selezionate, questa integrazione produce una procedura end-to-end significativamente più efficace. Questo ha diversi vantaggi:
- Meno amministrazione: invece di estrarre i dati dai dati grezzi e prepararli per l'uso all'interno di un data warehouse, un data lakehouse consente a qualsiasi fonte collegata di avere i propri dati disponibili e organizzati per l'utilizzo.
- Maggiore efficienza in termini di costi: i data lakehouse sono costruiti utilizzando un'infrastruttura contemporanea che divide calcolo e storage, semplificando l'espansione dello storage senza aumentare la potenza di calcolo. Solo l'utilizzo di uno storage di dati poco costoso si traduce in una scalabilità conveniente.
- Migliore governance dei dati: i data lakehouse sono costruiti con un'architettura aperta standardizzata, consentendo un maggiore controllo su sicurezza, metriche, accesso basato sui ruoli e altri importanti componenti di gestione. Unificando risorse e origini dati, semplificano e migliorano la governance.
- Standard semplificati: Poiché la connessione era fortemente limitata negli anni '1980, quando furono sviluppati per la prima volta i data warehouse, gli standard di schema localizzati venivano spesso sviluppati all'interno delle aziende, persino dei reparti. I data lakehouse sfruttano il fatto che molti tipi di dati ora dispongono di standard aperti per lo schema, ingerendo numerose origini dati con lo schema uniforme sovrapposto per semplificare le procedure.
Svantaggi di Data Lakehouse
Nonostante tutto il trambusto che circonda i data lakehouse, è importante tenere a mente che l'idea è ancora molto nuova. Assicurati di valutare gli svantaggi prima di impegnarti completamente in questo nuovo design.
- Struttura monolitica: Il design all-inclusive di una casa sul lago offre numerosi vantaggi, ma solleva anche alcuni problemi. L'architettura monolitica spesso porta a un servizio scadente per tutti gli utenti e può essere rigida e difficile da mantenere. In genere, architetti e designer preferiscono un'architettura più modulare che possono personalizzare per vari casi d'uso.
- La tecnologia non c'è ancora: l'obiettivo finale comporta una notevole quantità di machine learning e intelligenza artificiale. Prima che le case sul lago possano funzionare come previsto, queste tecnologie devono svilupparsi ulteriormente.
- Non un progresso significativo rispetto alle strutture esistenti: C'è ancora un notevole scetticismo su quanto più valore contribuiranno effettivamente le case sul lago. Alcuni detrattori sostengono che un progetto di magazzino per laghi abbinato all'attrezzatura automatizzata appropriata può raggiungere un'efficienza comparabile.
Sfide di Data Lakehouse
Potrebbe essere difficile adottare la tecnica del data lakehouse. A causa della complessità dei suoi componenti, non è corretto vedere la Data Lakehouse come una struttura ideale onnicomprensiva o "una piattaforma per tutto", per esempio.
Inoltre, a causa della crescente adozione dei data lake, le aziende dovranno trasferirvi i loro attuali data warehouse, facendo affidamento solo su una promessa di successo senza vantaggi economici dimostrabili.
Se si verificano problemi di latenza o interruzioni durante il processo di trasferimento, ciò potrebbe risultare costoso, dispendioso in termini di tempo e forse non sicuro.
Gli utenti aziendali devono abbracciare tecnologie altamente specializzate, secondo alcuni fornitori che commercializzano espressamente o implicitamente soluzioni come data lakehouse. Questi potrebbero non funzionare sempre con altri strumenti collegati al data lake al centro del sistema, aumentando i problemi.
Inoltre, potrebbe essere difficile fornire analisi 24 ore su 7, XNUMX giorni su XNUMX durante l'esecuzione di carichi di lavoro business-critical, il che richiede un'infrastruttura con scalabilità conveniente.
Conclusione
La più recente varietà di data center negli ultimi anni è il data lakehouse. Integra una varietà di campi, come la tecnologia dell'informazione, il software open-source, il cloud computinge protocolli di archiviazione distribuiti.
Consente alle aziende di archiviare centralmente tutti i tipi di dati da qualsiasi luogo, semplificando la gestione e l'analisi. Data Lakehouse è un concetto piuttosto intrigante.
Qualsiasi azienda avrebbe un vantaggio competitivo significativo se avesse accesso a una piattaforma dati all-in-one che fosse veloce ed efficiente come un data warehouse e allo stesso tempo flessibile come un data lake.
L'idea è ancora in via di sviluppo e rimane relativamente nuova. Di conseguenza, potrebbe essere necessario del tempo per determinare se qualcosa può diffondersi o meno.
Dovremmo essere tutti curiosi della direzione in cui sta andando l'architettura di Lakehouse.
Lascia un Commento