teknologi omformer vores verden. Spredningen af mobile enheder, eksplosionen af sociale medier og den hurtige vækst i cloud computing har givet anledning til en perfekt storm, der oversvømmer verden med data. Ifølge Gartner estimater er udfordringen for virksomheder, at 80 procent af denne “big data” er ustruktureret, og den vokser med dobbelt så mange strukturerede data.
i lyset af denne eksponentielle vækst af kaotiske data har der aldrig været et større behov for dataløsninger, der går ud over, hvad traditionelle relationsdatabaser kan tilbyde. Det er her, hvor open source big data analytics platform Apache Hadoop og Noskl-applikationen Apache Cassandra kommer ind i billedet.
det følgende er en kort sammenligning af forskellene mellem Hadoop vs. Cassandra sammen med, hvordan disse to løsninger kan supplere hinanden for at levere kraftig big data-indsigt. Tjek et eksempel på en Hadoop-brugssag, og når platformen kan parres med Cassandra for optimal ydelse.
Hvad er Hadoop?
et produkt fra Apache Foundation-projektet, Hadoop er en stor databehandlingsplatform, der bruger open source-programmer, et distribueret filsystem (HDFS) og en programmeringsramme kendt som MapReduce til at gemme, styre og analysere massivt store sæt ustrukturerede data parallelt på tværs af distribuerede klynger af råvareservere i meget høj skala. Med Hadoop kører både HDFS og MapReduce-rammen på det samme sæt noder. Dette gør det muligt for Hadoop-rammen effektivt at planlægge beregningsopgaver på noder, hvor data allerede er gemt. Som et resultat er Hadoop bedst egnet til at køre nær tiden og batchorienteret analyse på store søer med “kolde”, aka, Historiske data-i flere formater—på en pålidelig og fejltolerant måde.
mens MapReduce er et robust og pålideligt databehandlingsværktøj, er dets største ulempe mangel på hastighed. Da de fleste kort/Reducer job er langvarige batchjob, der kan tage minutter eller timer eller endda længere komplette, kan det forventes. Det er klart, at de voksende krav og forhåbninger fra big data kræver hurtigere tid til indsigt, som MapReduce ‘ s batcharbejdsbelastninger ikke er designet til at levere.
Hvad er Cassandra?
grundlæggende er Cassandra en distribueret Noskl-database designet til at styre store mængder strukturerede data på tværs af en række råvareservere. Cassandra kan prale af en unik arkitektur, der leverer høj distribution, lineær skala ydeevne, og er i stand til at håndtere store mængder data, samtidig med at det giver kontinuerlig tilgængelighed og oppetid til tusindvis af samtidige brugere. I modsætning til Hadoop, som typisk implementeres på et enkelt sted, giver Cassandras høje distribution mulighed for implementering på tværs af lande og kontinenter. Derudover er Cassandra altid op, altid tændt og leverer meget ensartet ydelse i et fejltolerant miljø. Dette gør Cassandra ideel til behandling af online arbejdsbyrder af transaktionel karakter, hvor Cassandra håndterer et stort antal interaktioner og samtidig trafik med hver interaktion, hvilket giver små mængder data.
i modsætning til Hadoop, som kan acceptere og gemme data i ethvert format—struktureret, ustruktureret, semistruktureret, billeder osv.- Cassandra kræver en vis struktur. Som et resultat kræves der meget tænkning for at strukturere en Cassandra-datamodel vs. Hadoop-model, før den med succes kan implementeres i skala.
hvordan sammenligner Cassandra med HBase?
HBase er en noskl, distribueret databasemodel, der er inkluderet i Apache Hadoop-projektet. Det kører oven på Hadoop Distributed File System (HDFS). HBase er designet til data lake use cases og bruges typisk ikke til internet-og mobilapplikationer. Cassandra tilbyder derimod den tilgængelighed og ydeevne, der er nødvendig for at udvikle applikationer, der altid er tændt.
kombination af Cassandra og Hadoop
dagens organisationer har to databehov. For det første er behovet for en database, der er afsat til onlineoperationer og analysen af ‘hot’ data genereret af internet -, mobil-og IOT-applikationer. For det andet behovet for en batch-orienteret big data platform, der understøtter behandlingen af store mængder ‘kolde’ ustrukturerede Historiske data. Ved tæt at integrere Cassandra og Hadoop til at arbejde sammen, kan begge behov serveres.
mens Cassandra fungerer meget godt som en meget fejltolerant backend til online-systemer, er Cassandra ikke så analysevenlig som Hadoop. Implementering af Hadoop oven på Cassandra skaber evnen til at analysere data i Cassandra uden først at skulle flytte disse data til Hadoop. Flytning af data fra Cassandra til Hadoop og HDFS er en kompliceret og tidskrævende proces. Således giver Hadoop på Cassandra organisationer en bekvem måde at få specifik operationel analyse og rapportering fra relativt store mængder data, der er bosiddende i Cassandra i realtid. Bevæbnet med hurtigere og dybere big data-indsigt kan organisationer, der udnytter både Hadoop og Cassandra, bedre imødekomme deres kunders behov og få en stærkere fordel i forhold til deres konkurrenter.