Video: Inside a Google data center 2024
Al centro di ogni ambiente di big data, e del layer 2 del big data stack, ci sono i motori di database che contengono il collezioni di elementi di dati rilevanti per la tua attività. Questi motori devono essere veloci, scalabili e solidi. Non sono tutti uguali, e alcuni ambienti di big data andranno meglio con un motore piuttosto che un altro, o più probabilmente con un mix di motori di database.
Ad esempio, sebbene sia possibile utilizzare i sistemi di gestione dei database relazionali (RDBMS) per tutte le implementazioni di big data, non è pratico farlo a causa di prestazioni, scalabilità o persino costi. Sono disponibili diverse tecnologie di database e occorre fare attenzione a scegliere con saggezza.
Non esiste un'unica scelta giusta per quanto riguarda le lingue del database. Sebbene SQL sia attualmente il linguaggio di query di database più diffuso in uso, altri linguaggi potrebbero fornire un modo più efficace o più efficiente per risolvere le sfide dei big data. È utile pensare ai motori e ai linguaggi come strumenti nella "cassetta degli attrezzi di un implementatore". "Il tuo compito è scegliere lo strumento giusto.
Ad esempio, se si utilizza un modello relazionale, probabilmente si utilizzerà SQL per interrogarlo. Tuttavia, puoi anche usare linguaggi alternativi come Python o Java. È molto importante capire quali tipi di dati possono essere manipolati dal database e se supporta il vero comportamento transazionale. I progettisti di database descrivono questo comportamento con l'acronimo ACID. Rappresenta
-
Atomicità: Una transazione è "tutto o niente" quando è atomica. Se una qualsiasi parte della transazione o il sistema sottostante non riesce, l'intera transazione non riesce.
-
Consistenza: Verranno eseguite solo transazioni con dati validi sul database. Se i dati sono corrotti o impropri, la transazione non verrà completata e i dati non verranno scritti nel database.
-
Isolamento: Più transazioni simultanee non interferiranno l'una con l'altra. Tutte le transazioni valide verranno eseguite fino al completamento e nell'ordine in cui sono state inoltrate per l'elaborazione.
-
Durata: Dopo che i dati della transazione sono stati scritti nel database, rimangono lì "per sempre. "
Motore Lingua query MapReduce Tipi di dati Transazioni Esempi Relativo SQL, Python, C No Digitato ACID PostgreSQL, Oracle, DB / 2 Colonna Ruby Hadoop Predefinito e dattilografato Sì, se abilitato HBase Grafico Camminare, cercare, Cypher No Untyped ACID Neo4J Documento Comandi JavaScript Digitato No MongoDB, CouchDB Valore-chiave Lucene, Comandi JavaScript BLOB, semisfatto No Riak, Redis
Dopo aver compreso le tue esigenze e capito quali dati stai raccogliendo, dove metterli e cosa a tale scopo, è necessario organizzarlo in modo che possa essere utilizzato per analisi, reporting o applicazioni specifiche.