Video: Arvind Krishna, IBM | Red Hat Summit 2018 2024
De kern van elke big data-omgeving en laag 2 van de big data-stack zijn de database-engines met de verzamelingen gegevenselementen die relevant zijn voor uw bedrijf. Deze motoren moeten snel, schaalbaar en solide zijn. Ze zijn niet allemaal gelijk gemaakt, en bepaalde big data-omgevingen zullen het beter doen met de ene engine dan met de andere, of meer waarschijnlijk met een mix van database-engines.
Hoewel het bijvoorbeeld mogelijk is om relationele databasebeheersystemen (RDBMS's) te gebruiken voor al uw big data-implementaties, is het niet praktisch om dit te doen vanwege prestaties, schaal of zelfs kosten. Er zijn een aantal verschillende databasetechnologieën beschikbaar en u moet voorzichtig zijn om verstandig te kiezen.
Er bestaat geen enkele juiste keuze met betrekking tot databasetalen. Hoewel SQL de meest voorkomende databasequery-taal is die momenteel wordt gebruikt, kunnen andere talen een effectievere of efficiëntere manier zijn om uw grote gegevensuitdagingen op te lossen. Het is handig om de engines en talen te zien als hulpmiddelen in de toolbox van een uitvoerder. "Het is jouw taak om de juiste tool te kiezen.
Als u bijvoorbeeld een relationeel model gebruikt, gebruikt u waarschijnlijk SQL om hiernaar te zoeken. U kunt echter ook alternatieve talen gebruiken, zoals Python of Java. Het is erg belangrijk om te begrijpen welke soorten gegevens door de database kunnen worden gemanipuleerd en of deze echt transactionele gedrag ondersteunen. Databaseontwerpers beschrijven dit gedrag met het letterwoord ACID. Het staat voor
-
Atomiciteit: Een transactie is "alles of niets" wanneer deze atomisch is. Als een deel van de transactie of het onderliggende systeem faalt, mislukt de gehele transactie.
-
Consistentie: Alleen transacties met geldige gegevens worden in de database uitgevoerd. Als de gegevens corrupt of onjuist zijn, wordt de transactie niet voltooid en worden de gegevens niet naar de database geschreven.
-
Isolatie: Meerdere, gelijktijdige transacties interfereren niet met elkaar. Alle geldige transacties worden uitgevoerd totdat ze zijn voltooid en in de volgorde waarin ze zijn ingediend voor verwerking.
-
Duurzaamheid: Nadat de gegevens van de transactie naar de database zijn geschreven, blijft deze daar "voor altijd". "
Engine Query-taal MapReduce gegevenstypen Transacties Voorbeelden relationeel SQL, Python, C Nee getypt ACID PostgreSQL, Oracle, DB / 2 Column Ruby Hadoop Voorgedefinieerd en getypt Ja, indien ingeschakeld HBase Grafiek Wandelen, zoeken, Cypher Nee Untyped ACID Neo4J Document Commando's JavaScript Getypt Nee MongoDB, CouchDB Sleutelwaarde Lucene, Opdrachten JavaScript BLOB, semityped Nee Riak, Redis
Nadat u uw vereisten begrijpt en begrijpt welke gegevens u verzamelt, waar u deze wilt plaatsen en wat Om dit te doen, moet u het zodanig organiseren dat het kan worden gebruikt voor analyse, rapportage of specifieke toepassingen.