Sommario:
- Framework di elaborazione in tempo reale
- Le piattaforme MPP (Massively Parallel Processing)
- Introduzione ai database NoSQL
Video: I lavori più richiesti nel 2020 - Perle di Coaching 2024
Guardando oltre Hadoop, è possibile vedere soluzioni alternative per i big data su L'orizzonte. Queste soluzioni consentono di lavorare con i big data in tempo reale o di utilizzare tecnologie di database alternative per gestirli ed elaborarli. Qui vengono introdotti i framework di elaborazione in tempo reale, poi le piattaforme MPU (Massively Parallel Processing) e infine i database NoSQL che consentono di lavorare con i big data al di fuori dell'ambiente Hadoop.
Si dovrebbe essere consapevoli di qualcosa indicato come conformità ACID, abbreviazione di A tomografia, C onsistency, I solation, e D conformità urability. La conformità ACID è uno standard grazie al quale sono garantite transazioni accurate e affidabili.
Nelle soluzioni per big data, la maggior parte dei sistemi di database non sono compatibili con ACID, ma questo non rappresenta necessariamente un problema grave. Questo perché la maggior parte dei sistemi di big data utilizza Decision Support Systems (DSS) che elaborano i dati in batch prima che i dati vengano letti. DSS sono sistemi informativi che vengono utilizzati per il supporto decisionale organizzativo. I DSS non transazionali non dimostrano reali requisiti di conformità ACID.
Framework di elaborazione in tempo reale
A volte potrebbe essere necessario interrogare flussi di grandi quantità di dati in tempo reale … e non è possibile fare questo genere di cose usando Hadoop. In questi casi, utilizzare invece un framework di elaborazione in tempo reale. Un framework di elaborazione in tempo reale è - come suggerisce il nome - una struttura in grado di elaborare i dati in tempo reale (o quasi in tempo reale) mentre tali flussi di dati e flussi nel sistema. Essenzialmente, i framework di elaborazione in tempo reale sono l'antitesi dei framework di elaborazione batch che si vedono implementati in Hadoop.
I framework di elaborazione in tempo reale possono essere classificati nelle seguenti due categorie:
-
Framework che riducono il carico di lavoro di MapReduce per aumentare l'efficienza temporale complessiva del sistema: Soluzioni in questa categoria include Apache Storm e Apache Spark per l'elaborazione del flusso quasi in tempo reale.
-
Framework che implementano metodi di query innovativi per facilitare la query in tempo reale sui big data: Alcune soluzioni in questa categoria includono Dremel di Google, Apache Drill, Shark per Apache Hive e Cloudera's Impala.
I framework di elaborazione del flusso in tempo reale sono molto utili in una moltitudine di settori, dalle analisi di borsa e dei mercati finanziari alle ottimizzazioni dell'e-commerce e dalla rilevazione delle frodi in tempo reale alla logistica degli ordini ottimizzata. Indipendentemente dal settore in cui lavori, se la tua azienda è influenzata da flussi di dati in tempo reale generati da esseri umani, macchine o sensori, allora un framework di elaborazione in tempo reale ti sarà utile per ottimizzare e generare valore per il tuo organizzazione.
Le piattaforme MPP (Massively Parallel Processing)
possono essere utilizzate in alternativa a MapReduce come approccio alternativo per l'elaborazione di dati distribuiti. Se il tuo obiettivo è quello di distribuire l'elaborazione parallela su un data warehouse tradizionale, allora un MPP potrebbe essere la soluzione perfetta.
Per comprendere come MPP si confronta con un framework di elaborazione parallela standard di MapReduce, considerare quanto segue. MPP esegue attività di calcolo parallelo su hardware costoso e personalizzato, mentre MapReduce le esegue su server di merci a basso costo. Di conseguenza, le capacità di elaborazione MPP sono limitate in termini di costi. Ciò detto, l'MPP è più veloce e più facile da usare rispetto ai lavori MapReduce standard. Questo perché MPP può essere interrogato usando Structured Query Language (SQL), ma i lavori MapReduce nativi sono controllati dal più complicato linguaggio di programmazione Java.
I ben noti produttori e prodotti MPP includono la piattaforma Teradata della vecchia scuola, oltre a nuove soluzioni come EMC 2 di Greenplum DCA, HP Vertica, IBM Netezza e Oracle Exadata.
Introduzione ai database NoSQL
I tradizionali sistemi di gestione dei database relazionali (RDBMS) non sono in grado di gestire le richieste di grandi quantità di dati. Questo perché i database relazionali tradizionali sono progettati per gestire solo set di dati relazionali costruiti con dati archiviati in righe e colonne pulite e quindi in grado di essere interrogati tramite Structured Query Language (SQL).
I sistemi RDBM non sono in grado di gestire dati non strutturati e semi-strutturati. Inoltre, i sistemi RDBM semplicemente non hanno le capacità di elaborazione e gestione necessarie per soddisfare i requisiti di volume e velocità dei big data.
È qui che entra in gioco NoSQL. I database NoSQL, come MongoDB, sono sistemi di database distribuiti non relazionali progettati per affrontare la sfida dei big data. I database NoSQL escono dall'architettura tradizionale dei database relazionali e offrono una soluzione molto più scalabile ed efficiente.
I sistemi NoSQL facilitano l'interrogazione dei dati non SQL di dati non relazionali o privi di schemi, semi-strutturati e non strutturati. In questo modo, i database NoSQL sono in grado di gestire le origini dati strutturate, semi-strutturate e non strutturate che sono comuni nei sistemi di big data.
NoSQL offre quattro categorie di database non relazionali: database di grafici, database di documenti, archivi di valori chiave e archivi di famiglie di colonne. Poiché NoSQL offre funzionalità native per ciascuno di questi tipi distinti di strutture dati, offre funzionalità di archiviazione e recupero molto efficienti per la maggior parte dei tipi di dati non relazionali. Questa adattabilità ed efficienza fanno di NoSQL una scelta sempre più popolare per gestire i big data e per superare le sfide di elaborazione che ne derivano.
C'è un po 'di dibattito sul significato del nome NoSQL. Alcuni sostengono che NoSQL sta per Non solo SQL , mentre altri sostengono che l'acronimo rappresenta Database non SQL . L'argomento è piuttosto complesso e non c'è una vera risposta pronta e asciutta.Per semplificare le cose, basti pensare a NoSQL come a una classe di sistemi di gestione di database non relazionali che non rientrano nello spettro dei sistemi RDBM che vengono interrogati utilizzando SQL.