Google, Facebook, Netflix, LinkedIn, Twitter e tutte le altre piattaforme di social media si qualificano chiaramente come centri tecnologici di big data. Ma quando hanno saputo di iniziare a preoccuparsi dei dati che hanno? La risposta è semplice – tutto dipende dalle caratteristiche dei big data, e quando l’elaborazione dei dati inizia a invadere le 5 V.
Vediamo le 5 V dei Big Data:
- Volume, la quantità di dati
- Velocità, quanto spesso vengono creati nuovi dati e devono essere immagazzinati
- Varietà, quanto sono eterogenei i tipi di dati
- Veracità, la “veridicità” o “disordine” dei dati
- Valore, il significato dei dati
# Volume
Non si è veramente nel mondo dei big data a meno che il volume dei dati non sia exabyte, petabyte, o più. I giganti della tecnologia dei grandi dati come Amazon, Shopify e altre piattaforme di e-commerce ricevono dati in tempo reale, strutturati e non strutturati, tra i terabyte e gli zettabyte ogni secondo da milioni di clienti, specialmente utenti di smartphone da tutto il mondo. Elaborano i dati quasi in tempo reale e dopo aver eseguito algoritmi di apprendimento automatico per fare analisi dei dati sui big data, prendono decisioni per fornire la migliore esperienza al cliente.
Quando troviamo il volume come un problema:
Una rapida ricerca sul web rivela che un disco rigido decente da 10TB costa almeno 300 dollari. Per gestire un petabyte di dati sono 100 x $300 USD = $30.000 USD. Forse otterrai uno sconto, ma anche al 50% di sconto, sei ben oltre $10.000 USD solo in costi di archiviazione. Immagina se vuoi solo mantenere una versione ridondante dei dati per il disaster recovery. Avreste bisogno di ancora più spazio su disco. Quindi il volume dei dati diventa un problema quando cresce oltre i limiti normali e diventa un modo inefficiente e costoso di memorizzare su dispositivi di archiviazione locali.
Soluzione:
Amazon Redshift, che è un servizio di data warehouse gestito in cloud da AWS è una delle opzioni popolari per lo stoccaggio. Memorizza i dati distribuiti su più nodi, che sono resistenti ai disastri e più veloci per i calcoli rispetto ai database relazionali on-premise come Postgres e MySql. È anche facile replicare i dati dai database relazionali a Redshift senza alcun downtime.
Per saperne di più su Redshift, date un’occhiata a Redshift vs database relazionali, Redshift vs Hadoop, e Redshift vs data warehouse tradizionali.
# Velocity
Immagina un servizio di apprendimento automatico che impara costantemente da un flusso di dati, o una piattaforma di social media con miliardi di utenti che pubblicano e caricano foto 24x7x365. Ogni secondo si verificano milioni di transazioni, e questo significa che petabyte e zettabyte di dati vengono trasferiti da milioni di dispositivi a un centro dati ogni secondo. Questo tasso di afflusso di dati ad alto volume al secondo definisce la velocità dei dati.
Quando troviamo la velocità come un problema:
I dati ad alta velocità sembrano fantastici perché – velocità x tempo = volume e il volume porta a intuizioni, e le intuizioni portano al denaro. Tuttavia, questo percorso di crescita delle entrate non è privo di costi.
Ci sono molte domande che sorgono come, come si fa a processare ogni pacchetto di dati che arriva attraverso il firewall, per la malizia? Come si fa a elaborare al volo dati strutturati e non strutturati ad alta frequenza? Inoltre, quando si ha un’alta velocità di dati, ciò significa quasi sempre che ci saranno grandi oscillazioni nella quantità di dati elaborati ogni secondo, i tweet su Twitter sono molto più attivi durante il Super Bowl che in un martedì medio, come si fa a gestire questo?
Soluzione:
Fortunatamente, le soluzioni “streaming data” sono venute in soccorso. L’organizzazione Apache ha soluzioni popolari come Spark e Kafka, dove Spark è ottimo sia per l’elaborazione batch che per l’elaborazione in streaming, Kafka funziona su un meccanismo publish/subscribe. Anche Amazon Kinesis è una soluzione, che ha una serie di API correlate progettate per elaborare i dati in streaming. Google Cloud Functions (Google Firebase ha anche una versione di questo) è un’altra popolare API di funzioni serverless. Tutte queste sono un’ottima soluzione black-box per gestire l’elaborazione complessa di payloads al volo, ma tutte richiedono tempo e sforzi per costruire pipeline di dati.
Ora, se non si vuole affrontare il tempo e le spese per creare la propria pipeline di dati, è qui che qualcosa come FlyData potrebbe tornare utile. FlyData replica senza soluzione di continuità e in modo sicuro i vostri dati Postgres, MySQL, o RDS in Redshift in tempo quasi reale.
# Varietà
Il mondo reale è disordinato a causa di diversi tipi di dati, quindi ha senso che chiunque abbia a che fare con sfide emozionanti deve anche avere a che fare con dati disordinati. L’eterogeneità dei dati è spesso una fonte di stress nella costruzione di un data warehouse. Non solo i video, le foto e i post e i tweet altamente interconnessi gerarchicamente sulle piattaforme sociali, ma anche le informazioni di base degli utenti possono arrivare in tipi di dati selvaggiamente diversi. Questi insiemi di dati eterogenei possiedono una grande sfida per i big data analytics.
Quando troviamo la varietà come un problema:
Quando si consuma un alto volume di dati i dati possono avere diversi tipi di dati (JSON, YAML, xSV (x = C(omma), P(ipe), T(ab), etc.), XML) prima che uno possa massaggiarli in un tipo di dati uniforme da memorizzare in un data warehouse. L’elaborazione dei dati diventa ancora più dolorosa quando le colonne o le chiavi dei dati non sono garantite per sempre, come rinominare, introdurre e/o deprecare il supporto delle chiavi in un’API. Quindi non solo si cerca di comprimere una varietà di tipi di dati in un tipo di dati uniforme, ma anche i tipi di dati possono variare di volta in volta.
Soluzione:
Un modo per affrontare una varietà di tipi di dati è quello di registrare ogni pietra miliare di trasformazione applicata ad essi lungo il percorso della vostra pipeline di elaborazione dati. In primo luogo, memorizzare i dati grezzi così come sono in un lago di dati (un lago di dati è un repository iperflessibile di dati raccolti e conservati nella loro forma più grezza, come lo stoccaggio di file Amazon S3). Poi trasforma i dati grezzi con diversi tipi di dati in uno stato aggregato e raffinato, che poi può essere memorizzato in un’altra posizione all’interno del lago di dati, e poi più tardi può essere caricato in un database relazionale o un data warehouse per la gestione dei dati.
# Veracity
I dati nel mondo reale sono così dinamici che è difficile sapere cosa è giusto e cosa è sbagliato. La veracità si riferisce al livello di affidabilità o di confusione dei dati, e se più alta è l’affidabilità dei dati, più bassa è la confusione e viceversa. Veracity e Value insieme definiscono la qualità dei dati, che può fornire grandi intuizioni ai data scientist.
Quando troviamo Veracity come un problema:
Considera il caso dei tweet su Twitter, che usano cose come hashtag, slang non comuni, abbreviazioni, refusi e discorsi colloquiali, tutti questi dati hanno un sacco di confusione o rumore e quando il volume dei dati aumenta anche il rumore aumenta con esso, che può essere talvolta esponenziale. Il rumore riduce la qualità complessiva dei dati, influenzando l’elaborazione dei dati e in seguito la gestione dei dati elaborati.
Soluzione:
Se i dati non sono sufficientemente affidabili, diventa importante estrarre solo i dati di alto valore, poiché non ha sempre senso raccogliere tutti i dati possibili, perché è costoso e richiede più impegno. Filtrare i rumori il più presto possibile nella pipeline di elaborazione dei dati durante l’estrazione dei dati. Questo lascia solo i dati necessari e affidabili che possono poi essere trasformati e caricati per l’analisi dei dati.
# Valore
Fino a quando i grandi dati che abbiamo non possono essere trasformati in qualcosa di prezioso, sono inutili. È molto importante capire il costo delle risorse e degli sforzi investiti nella raccolta dei big data e quanto valore fornisce alla fine dell’elaborazione dei dati. Il valore è molto importante perché è ciò che fa funzionare il business influenzando le decisioni aziendali e fornendo un vantaggio competitivo.
Consideriamo il caso di Netflix dove i dati di visualizzazione e di navigazione degli utenti vengono raccolti da diverse fonti di dati e poi vengono estratti e trasformati all’interno della pipeline di elaborazione dei dati per generare solo informazioni di alto valore come gli interessi degli utenti per fornire raccomandazioni utili. Questo, a sua volta, aiuta Netflix a evitare il churn degli utenti e ad attrarre ancora più utenti nella loro piattaforma. Le informazioni generate avrebbero potuto essere di basso valore se non avessero soddisfatto l’utente. Quindi, il valore dei big data ha un impatto su molte decisioni aziendali e fornisce un vantaggio competitivo sugli altri.
# Conclusione
Nell’era odierna, ci sono flussi costanti di dati in tempo reale ad alto volume che fluiscono da dispositivi come smartphone, dispositivi IoT, computer portatili, tutti questi flussi formano Big Data, e le 5 V sono caratteristiche importanti (framework per big data se volete) che aiutano a identificare cosa considerare quando l’afflusso di dati è in aumento. I big data giocano un ruolo strumentale in molti campi come l’intelligenza artificiale, la business intelligence, le scienze dei dati e il machine learning, dove l’elaborazione dei dati (estrazione-trasformazione-caricamento) porta a nuove intuizioni, innovazione e migliori processi decisionali. La scomposizione dei big data dà anche vantaggi competitivi a coloro che fanno analisi dei dati prima di prendere decisioni rispetto a quelli che usano i dati tradizionali per gestire il loro business. Soluzioni come Amazon Redshift forniranno certamente un vantaggio rispetto ai database relazionali per il data warehousing, mentre Spark e Kafka sono soluzioni promettenti per lo streaming continuo dei dati nei data warehouse.