Nel mio ultimo post , abbiamo discusso dell'analisi del problema aziendale e dei passaggi di base per progettare l'architettura dei Big Data. Oggi parlerò dei diversi livelli dell'architettura dei Big Data e delle loro funzionalità.
Strati logici dell'architettura di riferimento per i Big Data
Dietro l'architettura dei big data, l'idea centrale è documentare una base corretta di architettura, infrastruttura e applicazioni. Di conseguenza, ciò consente alle aziende di utilizzare i big data in modo più efficace su base quotidiana.
Viene creato da progettisti/architetti di big data prima di implementare fisicamente una soluzione. La creazione di un'architettura di big data generalmente richiede la comprensione dell'azienda/organizzazione e delle sue esigenze di big data. In genere, le architetture per big data delineano i componenti hardware e software necessari per soddisfare la soluzione per i big data. I documenti sull'architettura dei big data possono anche descrivere i protocolli per la condivisione dei dati, le integrazioni delle applicazioni e la sicurezza delle informazioni.
Ulteriori informazioni: una guida per principianti all'analisi dei Big Data
Implica anche l'interconnessione e l'organizzazione delle risorse esistenti per soddisfare le esigenze dei big data.
Gli strati logici dell'architettura di riferimento sono i seguenti:
- Identificazione della fonte dei dati: sapere da dove provengono questi dati.
La profilazione della sorgente è uno dei passaggi più importanti nella decisione dell'architettura o dei big data. Implica l'identificazione di diversi sistemi di origine e la loro categorizzazione, in base alla loro natura e tipo.
Punti da considerare durante la profilazione delle fonti di dati:
- Identificare i sistemi di fonti interne ed esterne.
- Ipotesi di alto livello per la quantità di dati acquisiti da ciascuna fonte
- Identificare il meccanismo utilizzato per ottenere i dati: push o pull
- Determinare il tipo di origine dati: database, file, servizio Web, flussi, ecc.
- Determinare il tipo di dati: strutturati, semistrutturati o non strutturati
- Strategia di acquisizione e acquisizione dei dati : processo per inserire i dati nel sistema.
L'acquisizione dei dati riguarda l'estrazione dei dati dalle fonti sopra menzionate. Questi dati vengono archiviati nell'archivio e successivamente vengono trasformati per ulteriori elaborazioni su di esso.
Punti da considerare:
- Determina la frequenza con cui i dati verrebbero acquisiti da ciascuna fonte
- È necessario modificare la semantica dei dati?
- È necessaria una convalida o una trasformazione dei dati prima dell'importazione (pre-elaborazione)?
- Separare le origini dati in base alla modalità di importazione: batch o in tempo reale
- Archiviazione dei dati : la struttura in cui verranno effettivamente archiviati i big data.
Uno dovrebbe essere in grado di memorizzare grandi quantità di dati di qualsiasi tipo e dovrebbe essere in grado di scalare in base alle necessità. Dovremmo anche considerare il numero di IOPS (operazioni di input output al secondo) che può fornire. Il file system distribuito Hadoop è il framework di archiviazione più comunemente utilizzato nel mondo dei Big Data, altri sono i datastore NoSQL: MongoDB, HBase, Cassandra ecc.
Aspetti da considerare durante la pianificazione della metodologia di archiviazione:
- Tipologia di dati (Storici o Incrementali)
- Formato dei dati (strutturati, semi strutturati e non strutturati)
- Requisiti di compressione
- Frequenza dei dati in entrata
- Modello di query sui dati
- Consumatori dei dati
- Elaborazione dei dati : strumenti che forniscono analisi sui big data.
Non solo la quantità di dati che vengono archiviati, ma anche l'elaborazione è aumentata di molte volte.
I dati a cui si accedeva di frequente in precedenza venivano archiviati nelle RAM dinamiche. Ma ora viene archiviato su più dischi su un numero di macchine collegate tramite rete a causa del volume puro. Pertanto, invece di raccogliere blocchi di dati per l'elaborazione, i moduli di elaborazione vengono trasferiti ai big data. Pertanto, riducendo significativamente l'I/O di rete. La metodologia di elaborazione è guidata dai requisiti aziendali. Può essere classificato in batch, in tempo reale o ibrido in base allo SLA.
- Elaborazione batch : il batch raccoglie l'input per un intervallo di tempo specificato ed esegue le trasformazioni su di esso in modo pianificato. Il caricamento dei dati storici è una tipica operazione batch
- Elaborazione in tempo reale: l'elaborazione in tempo reale implica l'esecuzione di trasformazioni man mano che i dati vengono acquisiti.
- Elaborazione ibrida : è una combinazione di esigenze di elaborazione batch e in tempo reale.
- Consumo/utilizzo dati : Utenti/servizi che utilizzano i dati analizzati.
Questo livello consuma l'output fornito dal livello di elaborazione. Utenti diversi come amministratore, utenti aziendali, fornitori, partner ecc. possono consumare dati in formati diversi. L'output dell'analisi può essere utilizzato dal motore di raccomandazione o i processi aziendali possono essere attivati in base all'analisi.
Le diverse forme di consumo dei dati sono:
- Esporta set di dati : possono esserci requisiti per la generazione di set di dati di terze parti. I set di dati possono essere generati utilizzando l'esportazione hive o direttamente da HDFS.
- Reportistica e visualizzazione – Diversi strumenti di analisi di report e visualizzazione si connettono ad Hadoop utilizzando la connettività JDBC/ODBC a hive.
- Esplorazione dei dati : i data scientist possono creare modelli ed eseguire esplorazioni approfondite in un ambiente sandbox. Sandbox può essere un cluster separato (approccio consigliato) o uno schema separato all'interno dello stesso cluster che contiene un sottoinsieme di dati effettivi.
- Query ad hoc: le query ad hoc o interattive possono essere supportate utilizzando Hive, Impala o spark SQL.
Leggi anche: Big Data: un futuro incubo?
Livelli funzionali dell'architettura dei Big Data:
Potrebbe esserci un altro modo per definire l'architettura, ad esempio attraverso la divisione delle funzionalità. Ma le categorie di funzionalità potrebbero essere raggruppate insieme nel livello logico dell'architettura di riferimento, quindi l'architettura preferita è quella realizzata utilizzando i livelli logici.
La stratificazione basata sulle Funzionalità è la seguente:
- Origine dei dati:
L'analisi di tutte le fonti da cui un'organizzazione riceve i dati e che potrebbe aiutare l'organizzazione a prendere le sue decisioni future dovrebbe essere elencata in questa categoria. Le fonti di dati qui elencate sono indipendenti dal fatto che i dati siano strutturati, non strutturati o semistrutturati.
- Estrazione dati:
Prima di poter archiviare, analizzare o visualizzare i tuoi dati, devi averne alcuni. L'estrazione dei dati consiste nel prendere qualcosa che non è strutturato, come una pagina web, e trasformarlo in una tabella strutturata. Una volta strutturato, puoi manipolarlo in tutti i modi, utilizzando gli strumenti descritti di seguito, per trovare approfondimenti.
- Archivio dati:
La necessità di base mentre si lavora con i big data è pensare a come archiviare tali dati. Parte del modo in cui i Big Data hanno ottenuto la distinzione come "BIG" è che sono diventati troppo da gestire per i sistemi tradizionali. Un buon fornitore di archiviazione dati dovrebbe offrirti un'infrastruttura su cui eseguire tutti gli altri strumenti di analisi, nonché un luogo in cui archiviare e interrogare i tuoi dati.
- Pulizia dei dati:
Un passaggio necessario prima di iniziare effettivamente a estrarre i dati per approfondimenti. È sempre una buona pratica creare un set di dati pulito e ben strutturato. I set di dati possono essere di tutte le forme e dimensioni, soprattutto se provengono dal web. Scegli uno strumento in base ai tuoi requisiti di dati.
- Estrazione dei dati:
Il data mining è il processo di scoperta di informazioni dettagliate all'interno di un database. Lo scopo del data mining è prendere decisioni e fare previsioni sui dati che hai a portata di mano. Scegli un software che ti dia le migliori previsioni per tutti i tipi di dati e ti permetta di creare i tuoi algoritmi per estrarre i dati.
- Analisi dei dati:
Mentre il data mining consiste nel vagliare i dati alla ricerca di modelli precedentemente non riconosciuti, l'analisi dei dati riguarda la scomposizione di tali dati e la valutazione dell'impatto di tali modelli nel tempo. L'analisi consiste nel porre domande specifiche e nel trovare le risposte nei dati. Puoi anche fare domande su cosa accadrà in futuro!
- Visualizzazione dati:
Le visualizzazioni sono un modo semplice e brillante per trasmettere informazioni dettagliate sui dati complessi. E la parte migliore è che la maggior parte di essi non richiede codifica. Le società di visualizzazione dei dati daranno vita ai tuoi dati. Parte della sfida per qualsiasi data scientist consiste nel trasmettere le informazioni da quei dati al resto della tua azienda. Gli strumenti potrebbero aiutarti a creare grafici, mappe e altri grafici simili a partire dai tuoi dati.
- Integrazione dei dati:
Le piattaforme di integrazione dei dati sono il collante tra ogni programma. Connettono le diverse inferenze degli strumenti con altri software. Puoi condividere i risultati dei tuoi strumenti di visualizzazione direttamente su Facebook attraverso questi strumenti.
- Lingue dei dati:
Ci saranno momenti nella tua carriera di dati in cui uno strumento semplicemente non lo taglierà. Mentre gli strumenti di oggi stanno diventando più potenti e più facili da usare, a volte è semplicemente meglio codificarli da soli. Esistono diverse lingue che ti aiutano in diversi aspetti come il calcolo statistico e la grafica. Questi linguaggi potrebbero fungere da supplemento per i software di data mining e statistici.
Le cose fondamentali da ricordare nella progettazione di Big Data Architecture sono:
- Dinamiche di utilizzo : ci sono una serie di scenari, come illustrato nell'articolo, che devono essere considerati durante la progettazione dell'architettura: forma e frequenza dei dati, tipo di dati, tipo di elaborazione e analisi richieste.
- Miriadi di tecnologie: la proliferazione di strumenti nel mercato ha portato a molta confusione su cosa usare e quando, ci sono più tecnologie che offrono caratteristiche simili e affermano di essere migliori delle altre.
So che starai pensando a diversi strumenti da utilizzare per creare una soluzione Big Data a prova completa. Bene, nei miei prossimi post sui Big Data, tratterò alcuni dei migliori strumenti per raggiungere diversi compiti nell'architettura dei big data .