technologie verandert onze wereld. De proliferatie van mobiele apparaten, de explosie van sociale media en de snelle groei van cloud computing hebben geleid tot een perfecte storm die de wereld overspoelt met data. Volgens Gartner schattingen, de uitdaging voor bedrijven is dat 80 procent van deze “big data” ongestructureerd is, en het groeit met twee keer de snelheid van gestructureerde data.
In het licht van deze exponentiële groei van chaotische data is er nooit een grotere behoefte geweest aan dataoplossingen die verder gaan dan wat traditionele relationele databases kunnen bieden. Dat is waar de open-source big data analytics platform Apache Hadoop, en de NoSQL applicatie Apache Cassandra voer het beeld.
wat volgt is een korte vergelijking van de verschillen tussen Hadoop vs.Cassandra, samen met hoe deze twee oplossingen elkaar kunnen aanvullen om krachtige big data inzichten te leveren. Bekijk een voorbeeld van een Hadoop use case, en wanneer het platform kan worden gekoppeld met Cassandra voor optimale prestaties.
Wat is Hadoop?
een product van het Apache Software Foundation Project, Hadoop is een big data processing platform dat gebruik maakt van open-source software, een distributed file system (HDFS), en een programmeerkader bekend als MapReduce om massaal grote sets ongestructureerde data op te slaan, te beheren en te analyseren in parallel tussen gedistribueerde clusters van commodity servers op zeer grote schaal. Met Hadoop draaien zowel HDFS als het MapReduce framework op dezelfde set knooppunten. Dit maakt het Hadoop framework effectief te plannen berekenen taken op knooppunten waar gegevens al worden opgeslagen. Als gevolg daarvan is Hadoop het meest geschikt voor het uitvoeren van de buurt van de tijd en batch-georiënteerde analytics op uitgestrekte meren van “koude”, aka, Historische gegevens—in meerdere formaten—op een betrouwbare en fout-tolerante manier.
hoewel MapReduce een robuust en betrouwbaar hulpmiddel voor gegevensverwerking is, is het belangrijkste nadeel een gebrek aan snelheid. Aangezien de meeste taken in kaart brengen / verminderen langdurige batchtaken zijn die minuten of uren of zelfs langer kunnen duren, is dat te verwachten. Het is duidelijk dat de groeiende eisen en aspiraties van big data vragen om een snellere time to insight, waarvoor de batchworkloads van MapReduce niet zijn ontworpen.
Wat is Cassandra?
Cassandra is een gedistribueerde NoSQL-database die is ontworpen om grote hoeveelheden gestructureerde gegevens te beheren over een reeks commodity-servers. Cassandra beschikt over een unieke architectuur die hoge distributie, lineaire schaal prestaties levert, en is in staat om grote hoeveelheden gegevens te verwerken, terwijl het verstrekken van continue beschikbaarheid en uptime aan duizenden gelijktijdige gebruikers. In tegenstelling tot Hadoop, die meestal wordt ingezet op een enkele locatie, Cassandra ‘ s hoge distributie zorgt voor de inzet in landen en continenten. Bovendien is Cassandra altijd up, always-on, en levert zeer consistente prestaties in een fout-tolerante omgeving. Dit maakt Cassandra ideaal voor het verwerken van online workloads van transactionele aard, waarbij Cassandra grote aantallen interacties en gelijktijdig verkeer verwerkt met elke interactie die kleine hoeveelheden gegevens oplevert.
In tegenstelling tot Hadoop, die gegevens kan accepteren en opslaan in elk formaat—gestructureerd, ongestructureerd, semi-gestructureerd, afbeeldingen, enz.Cassandra heeft een bepaalde structuur nodig. Als gevolg hiervan is er veel nadenken nodig om een Cassandra data model vs. Hadoop model te structureren voordat het succesvol op schaal kan worden geïmplementeerd.
hoe verhoudt Cassandra zich tot HBase?
HBase is een NoSQL, gedistribueerd database model dat is opgenomen in het Apache Hadoop Project. Het draait op de top van de Hadoop Distributed File System (HDFS). HBase is ontworpen voor Data lake use cases en wordt niet meestal gebruikt voor web en mobiele toepassingen. Cassandra daarentegen biedt de beschikbaarheid en prestaties die nodig zijn voor het ontwikkelen van always-on applicaties.
het combineren van Cassandra en Hadoop
de organisaties van vandaag hebben twee gegevensbehoeften. Ten eerste is er behoefte aan een database gewijd aan online activiteiten en de analyse van ‘hot’ data gegenereerd door Web, mobiele en IOT-toepassingen. Ten tweede, de behoefte aan een batch-georiënteerd big data platform dat de verwerking van grote hoeveelheden ‘koude’ ongestructureerde historische data ondersteunt. Door Cassandra en Hadoop nauw te integreren om samen te werken, kunnen beide behoeften worden vervuld.
terwijl Cassandra zeer goed werkt als een zeer fouttolerante backend voor online systemen, is Cassandra niet zo analytics-vriendelijk als Hadoop. Het implementeren van Hadoop op de top van Cassandra creëert de mogelijkheid om gegevens in Cassandra te analyseren zonder dat u eerst die gegevens in Hadoop hoeft te verplaatsen. Het verplaatsen van gegevens van Cassandra naar Hadoop en HDFS is een ingewikkeld en tijdrovend proces. Dus Hadoop op Cassandra geeft organisaties een handige manier om specifieke operationele analytics en rapportage van relatief grote hoeveelheden gegevens die in Cassandra in een real-time manier. Gewapend met snellere en diepere big data inzichten, kunnen organisaties die gebruik maken van zowel Hadoop en Cassandra beter voldoen aan de behoeften van hun klanten en krijgen een sterkere voorsprong op hun concurrenten.