tekniken omformar vår värld. Spridningen av mobila enheter, explosionen av sociala medier och den snabba tillväxten av cloud computing har gett upphov till en perfekt storm som översvämmer världen med data. Enligt Gartner uppskattningar är utmaningen för företag att 80 procent av denna ”stora data” är ostrukturerad, och den växer dubbelt så mycket som strukturerad data.
mot bakgrund av denna exponentiella tillväxt av kaotiska data har det aldrig funnits ett större behov av datalösningar som går utöver vad traditionella relationsdatabaser kan erbjuda. Det är där open-source big data analytics-plattformen Apache Hadoop och NoSQL-applikationen Apache Cassandra kommer in i bilden.
vad som följer är en kort jämförelse av skillnaderna mellan Hadoop vs. Cassandra, tillsammans med hur dessa två lösningar kan komplettera varandra för att leverera kraftfulla big data insikter. Kolla in ett exempel på en Hadoop användningsfall, och när plattformen kan kopplas ihop med Cassandra för optimal prestanda.
vad är Hadoop?
en produkt från Apache Software Foundation-projektet, Hadoop är en stor databehandlingsplattform som använder programvara med öppen källkod, ett distribuerat filsystem (HDFS) och ett programmeringsramverk som kallas MapReduce för att lagra, hantera och analysera massivt stora uppsättningar ostrukturerade data parallellt över distribuerade kluster av råvaru servrar i mycket hög skala. Med Hadoop körs både HDFS och MapReduce-ramverket på samma uppsättning noder. Detta gör att Hadoop-ramverket effektivt kan schemalägga beräkningsuppgifter på noder där data redan lagras. Som ett resultat är Hadoop bäst lämpad för att köra nära tiden och batchorienterad analys på stora sjöar med ”kalla”, aka, historiska data-i flera format—på ett tillförlitligt och feltolerant sätt.
medan MapReduce är ett robust och pålitligt databehandlingsverktyg är dess huvudsakliga nackdel brist på hastighet. Eftersom de flesta map/reduce-jobb är långvariga batchjobb som kan ta minuter eller timmar eller ännu längre, kan det förväntas. Det är uppenbart att de växande kraven och ambitionerna hos big data kräver snabbare tid till insikt, vilket Mapreduces batcharbetsbelastningar inte är utformade för att leverera.
vad är Cassandra?
Cassandra är i grunden en distribuerad NoSQL-databas som är utformad för att hantera stora mängder strukturerad data över en rad råvaruservrar. Cassandra har en unik arkitektur som levererar hög distribution, linjär skala prestanda, och kan hantera stora mängder data samtidigt som kontinuerlig tillgänglighet och drifttid till tusentals samtidiga användare. Till skillnad från Hadoop, som vanligtvis distribueras på en enda plats, möjliggör Cassandras höga distribution distribution över länder och kontinenter. Dessutom är Cassandra alltid uppe, alltid på och levererar mycket konsekvent prestanda i en feltolerant miljö. Detta gör Cassandra idealisk för bearbetning av online-arbetsbelastningar av transaktionskaraktär, där Cassandra hanterar ett stort antal interaktioner och samtidig trafik med varje interaktion som ger små mängder data.
I motsats till Hadoop, som kan acceptera och lagra data i vilket format som helst—strukturerad, ostrukturerad, halvstrukturerad, bilder etc.- Cassandra kräver en viss struktur. Som ett resultat krävs mycket tänkande för att strukturera en Cassandra datamodell vs. Hadoop-modell innan den framgångsrikt kan implementeras i skala.
hur jämför Cassandra med HBase?
HBase är en NoSQL, distribuerad databasmodell som ingår i Apache Hadoop-projektet. Den körs ovanpå Hadoop Distributed File System (HDFS). HBase är utformad för data lake användningsfall och används vanligtvis inte för webb-och mobilapplikationer. Cassandra erbjuder däremot den tillgänglighet och prestanda som krävs för att utveckla always-on-applikationer.
kombinera Cassandra och Hadoop
dagens organisationer har två databehov. För det första är behovet av en databas som ägnas åt online-verksamhet och analys av ’heta’ data som genereras av webb -, mobil-och IOT-applikationer. För det andra behovet av en satsorienterad big data-plattform som stöder bearbetning av stora mängder ’kalla’ ostrukturerade historiska data. Genom att tätt integrera Cassandra och Hadoop för att arbeta tillsammans kan båda behoven betjänas.
medan Cassandra fungerar mycket bra som en mycket feltolerant backend för onlinesystem, är Cassandra inte lika analysvänlig som Hadoop. Att distribuera Hadoop ovanpå Cassandra skapar förmågan att analysera data i Cassandra utan att först behöva flytta data till Hadoop. Att flytta data från Cassandra till Hadoop och HDFS är en komplicerad och tidskrävande process. Således ger Hadoop på Cassandra organisationer ett bekvämt sätt att få specifika operativa analyser och rapportering från relativt stora mängder data som bor i Cassandra i realtid. Beväpnade med snabbare och djupare big data-insikter kan organisationer som utnyttjar både Hadoop och Cassandra bättre möta sina kunders behov och få en starkare fördel gentemot sina konkurrenter.