Apache Cassandra viser 10

0
130

Nul

cassandra.gif

De sidste par år har vi set en række af 10-års milepæle bliver gået, som det årti, mærkedage af Amazon Web Services, MongoDB, Hadoop og mange andre. Og så i 2018, det er Apache Cassandra ‘ s tur. I dag, Apache Cassandra har forvandlet til en beskeden økosystem, hvor der er et princip kommerciel platform leverandør — DataStax — suppleret af en lille samling af virksomheder, der leverer tredjeparts-støtte. Det kombinerer den alsidighed af en tabel-orienteret database med hastigheden og effektiviteten af en nøgle-værdi-butik.

Men tag ikke fejl af det — det faktum, at der ikke er en halv snes leverandører af Kassandra-distributioner ikke skjule det faktum, at Cassandra er en meget populær database. Det er en af en kvartet af NoSQL-databaser, der rangerer i db-Engine ‘ s top ti. Og i sig selv, Cassandra har skåret ud af en niche for kontinuerlig online-systemer, som kan bære op til PBytes af data. Ligesom andre “brede kolonne” databaser, der begyndte sit liv som nøgle-værdi-butikker, Cassandra blev først kendt for hurtige skriver, men i løbet af de år, læs performance har fanget.

For eksempel, når du få film anbefalinger serveres på Netflix, de kommer fra et program, der kører på Cassandra. Det har skåret tilstedeværelse med opretholdelse af online brugerprofiler, indkøbsvogne, afsløring af svig, og i stigende grad, real-time mobil og IoT-applikationer. For den sags skyld, så har de fleste af Cassandra ‘ s prime NoSQL konkurrenter som MongoDB, DynamoDB, og Kosmos DB.

Som det er 10-års fødselsdag tid, er det fornuftigt at se på, Cassandra ‘ s begyndelse. Historien er en velkendt én. En Internet-gigant — Facebook — behov for en mere skalerbar altid-på database alternativ for sin indbakke funktion og skabt Cassandra tilbage i 2008 baseret på Dynamo papir udgivet af Amazon. Efter open sourcing det, Jonathan Ellis, der er ingeniør hos Rackspace på det tidspunkt, så dets potentiale som et distribueret database til kraftoverførsel cloud-applikationer, og et år senere, trak venture opbakning til cofound hvad er nu DataStax med daværende kollega Matt Pfeil.

Den største kilde til forvirring tidligt var med Hadoop. På grund af nogle latterlige historiske tilfældigheder, Cassandra fik slået ind Hadoop projekt, hvor det vises stadig på Apache-projektet side. Det indebærer, at Cassandra er en slags erstatning for HBase. Godt kinda og kinda ikke. Selv om begge blev oprindeligt designet til at køre som online produktion for big data, HBase kræver HDFS, GARN, og Dyrepasser til at køre, der henviser til, at Cassandra ikke kræver, at Hadoop komponenter og kører på sin egen klynge. Så er der andre arkitektoniske forskelle, såsom at HBase kører med Hadoop hierarkisk topologi, der henviser til, at Kassandra arbejder i flere af et peer-to-peer-tilstand.

Forhold til de sædvanlige mistænkte

Hadoop flirten uanset, hvordan Cassandra skelne fra den sædvanlige NoSQL mistænkte? Vi vil starte med den største forskel: query language. Cassandra også har en forespørgsel sprog, der er meget mere som SQL i forhold til de fleste konkurrenter, undtagen Couchbase.

I forhold til MongoDB, Cassandra var mere skrive-venligt, men som begge databaser modnet, forskelle i læse og skrive ydeevne er ikke længere så skarp. Cassandra blev oprindeligt designet som en tabular database for nøgle-værdi-data (i forhold til MongoDB er mere objekt-lignende model), men med tiden blev udviklet sig til at rumme JSON dokumenter. Der er stadig grundlæggende forskelle i databasen topologi: Cassandra var designet til højere ledighed skriver med sin multi-master arkitektur, der henviser til, at MongoDB bruger en enkelt master, men foreslår forvaltningen sharding for højere ledighed skriver.

Blandt cloud-native kolleger, Cassandra aktier slægt med Amazon DynamoDB. En detaljeret sammenligning kan findes her. Men på højt niveau, er den indlysende forskel er, hvor de kører: DynamoDB kører kun i AWS som en service (og på samme måde for Microsoft Azure Kosmos DB på Azure); Kassandra, på den anden side, kan køre hvor som helst, men som managed service, DataStax Managed Cloud-Tjeneste er først blevet indført for nylig. Cassandra og DynamoDB både lade dig tune sammenhæng niveauer-Cassandra har fem muligheder for konsekvens, mens DynamoDB indsnævrer det ned til to (endelige eller stærk).

I forhold til Microsoft Azure Kosmos DB, den største forskel er, multi-model, der er kernen til Azure tilbyder, ved sammenligning, den kommercielle version af Cassandra — DataStax Virksomhed-er lige begyndt på denne vej, så det er stadig integrere dens graf model.

Vi er i en post-relationelle verden?

I betragtning af, at fire NoSQL databaser har nu gjort det til mainstream (baseret på de udvikler interesse kortlagt af db-Motorer), ville man tro, at sagen er afgjort om den rolle, som disse platforme spil. Man ville være forkert.

Der er stadig sund debat. På den ene side, der er den irrationelle overflod af at være i en post-relationelle verden. Ja, NoSQL-databaser er blevet meget populær blandt udviklere. Og ja, DataStax har sin andel af Oracle run-ins, men disse kommer til at være en vinder fra ydersiden af Oracle ‘ s centrale back office base. Faktisk, DataStax og Oracle er frenemies, som DataStax Virksomhed (DSE) er en af de første tredjeparts databaser til at blive officielt understøttet i Oracle Public Cloud er bare metal tjenester, men vi sidespring.

Tilfældigvis, efter at have talt med Patrick McFadin, de fem stadier af sorg forfatter, vi har fundet sin indsigt til at være langt mere nuanceret end hans blog-indlæg ville foreslå. Men der er mange andre at tage mere ekstreme synspunkter baseret på begrebet “big data” ved at blive mainstream. På den anden side, er der den valgkreds, der stadig mener, at NoSQL er overhyped.

Virkeligheden er meget grayer. Det faktum, at NoSQL-databaser, som Cassandra tillade skema til at variere betyder ikke, at de manglende skema, eller at udviklere bør ikke genere med optimering af database for bestemte typer af skema. I en NoSQL database, skema stadig spørgsmål, og så gør bordet. Selv hvis du ikke kan designe datamodel præcis til de forespørgsler, som du vil kaste efter det, du stadig nødt til at overveje, hvilke data app ‘ en vil røre ved, når der fastsætter tabeller.

Må ikke regne relationelle ud. Hvis din applikation eller brug kræver streng SYRE garantier og data med referentiel integritet, relationelle kommer til at være din valg. Hvis de bruger tilfælde indebærer komplekse analytiske søgninger, du har et par muligheder. Du kan gå NoSQL rute, hvis du denormalize data til at forbedre præstationer, udforme ansøgningen, så du behøver ikke at stole på komplekse tabel slutter, og drage fordel af den Gnist, stik, der er ved at blive afkrydsningsfeltet elementer med kommercielle NoSQL-databaser, som DataStax Virksomheden. Men hvis formålet med databasen er udelukkende til analytics, NoSQL vil ikke være den rigtige rute.

datastaxlogo.png


DataStax og Cassandra i dag

Så hvad sker der med Apache Cassandra og DataStax, det selskab, der for det meste af sin historie var mest tæt forbundet med database og open source-projekt? Det kan koges ned til karakteren af de open source-projekt. I modsætning til MongoDB, som kontrollerer den underliggende open source-projekt, og licenser databasen regne med 3-licens (som kræver, at udviklere til at bidrage tilbage til fællesskabet), Cassandra er en officiel Apache Foundation projekt, der styres af Apache-licensen.

Så DataStax ikke ejer eller har kontrol Kassandra, og et par år siden, trådte tilbage fra ledelsen af projektet. DataStax stadig bidrager og fastholder en tilstedeværelse på Kassandra-projekt, men hovedparten af sin energi på at bygge virksomheden platform funktioner omkring det. I det væsentlige, DataStax er ved at blive mere af en klassisk “open core” software-virksomhed, en strategi, der er ikke så forskellig fra Cloudera er på Hadoop.

Med Cassandra på 10, DataStax stadig omfavner platform, men ser det som udgangspunktet for ekstra funktioner. Det er at nå ud til at rumme analytics og search forbindelse med Gnist og nye søgefunktioner, der er blevet føjet til sin CQL forespørgsel sprog. Så er der tillæg af grafen, der kom fra 2015 erhvervelse af Aurelius, der bragte lederne af Apache TinkerPop projekt til DataStax. Mens DataStax arbejder stadig for fuldt ud at integrere graf i sin gennemførelse af Kassandra, i DSE 6.0-versionen, kan du indlæse graf og Cassandra borde på samme tid på din klynge. Og virksomheden er nu møde-cloud frenemies som Amazon hoved, ved at rulle ud på DataStax Managed Cloud-tjeneste på AWS og Azure

Der er en grund til, at vi har været at se alle disse tiende jubilæer i big data på plads i løbet af de seneste par år. Det er fordi, at i det første årti af 2000-tallet, en modreaktion, der dannes mod post-Y2K enighed om, at vi var i slutningen af gange, hvor n-tier var de facto standard ansøgning arkitektur .NET og Java var den fremherskende applikationsudvikling stakke; og relationelle databaser blev forankret som virksomhedens standard. Især, det var oplevelser af Internet-virksomheder som Amazon og Google, der efterfølgende væltede virksomheden DET, for hvis erfaringer med de begrænsninger, den post-2000-teknologi-stakken gav anledning til de nyskabelser, der er nu rammer midaldrende.

Et årti, Cassandra er ikke længere den nye kid på blokken. Men databasen er blevet en af de anlæg, driftsmateriel af moderne operativ systemer, og de fleste er forbundet med det er at bruge den som et udgangspunkt for en bredere platform.

Relaterede Emner:

Big Data Analytics

Innovation

CXO

Kunstig Intelligens

Virksomhedens Software

Opbevaring

0