Logo fi.removalsclassifieds.com

Ero Cassandran ja MongoDB:n välillä (taulukon kanssa)

Sisällysluettelo:

Anonim

Teknologian kehityksen myötä ihmiskuntaa on siunattu matkapuhelimilla, langattomilla verkoilla ja ennen kaikkea Internetillä. Internet on täynnä datamääriä, jotka ovat vain napsautuksen päässä meistä. Tällaiset valtavat tietomäärät tallennetaan sähköisesti tietokantaan, jota puolestaan ​​ohjaa tietokannan hallintajärjestelmä (DBMS). Cassandra ja MongoDB ovat kaksi tällaista tietokantaa.

Cassandra vs MongoDB

Ero Cassandran ja MongoDB:n välillä on se, että kun edellinen toimii hybriditietomallilla, joka koostuu taulukkorakenteesta ja avainarvosta ja käyttää "peer-to-peer" -arkkitehtuurimallia, jälkimmäisen tietomalli on olio- ja dokumenttisuuntautunut, ja se käyttää "isäntä-orja" -mallia.

Cassandra on avoimen lähdekoodin NoSQL-tietokanta ja käyttää "peer-to-peer" -arkkitehtuurimallia. Tämän ominaisuuden ansiosta Cassandrassa ei ole yhtä pääsolmua vaan useita pääsolmuja klusterin sisällä, joten vaikka yksi pääsolmu kaatuisi, on useita pääsolmuja, jotka voivat ottaa haltuunsa ja varmistaa, että tietokanta vastaa kaikkiin pyyntöihin. ajankohtia. Lisäksi vain pääsolmu voi kirjoittaa ja hyväksyä syötteitä, ja Cassandra käyttää klusterimallia, mikä tarkoittaa, että useat pääsolmut voivat kirjoittaa ja hyväksyä syötteitä. Tämän mallin ansiosta Cassandra tarjoaa korkean tiedon saatavuuden ja joustavan skaalautuvuuden.

MongoDB on myös avoimen lähdekoodin NoSQL-tietokanta ja perustuu "master-slave" -malliin. Tämän seurauksena, kun isäntäsolmu ei pysty toimimaan, orjasolmu voi ottaa isäntäsolmun roolin, mutta tämä siirtymä kestää muutaman minuutin, ja tänä aikana tietokanta ei pysty vastaamaan pyyntöihin. Tämä vaikuttaa tietojen saatavuuteen. MongoDB on myös rajoitettu skaalautuvuuden suhteen, koska vain pääsolmu voi kirjoittaa ja hyväksyä syötteitä ja orjasolmut ovat hyödyllisiä vain lukuihin.

Cassandran ja MongoDB:n vertailutaulukko

Vertailuparametri

Cassandra

MongoDB

Tietomalli Se on hybridi avainarvon ja rivejä ja sarakkeita käyttävän taulukkorakenteen välillä Siinä on olio- ja dokumenttisuuntautunut tietomalli
Ohjelmointikielen tuki Tukee C++, Python, Java, JavaScript,.Net, Ruby, PHP, Scala, Perl, C#, Clojure, Go, Erlang, Haskell Tukee C, C++, C#, Clojure, ColdFusion, Dart, Delphi, Ruby, Python, Scala, JavaScript, Java, Erlang, Go, Groovy, Haskell, PHP, Perl, Lisp, Lua, MatLab, PowerShell, Prolong, Smalltalk
Aggregointikehys Sillä ei ole aggregointikehystä, mutta se vaatii ulkoisten työkalujen, kuten Hadoopin, Apache Sparkin jne., apua. Siinä on sisäänrakennettu aggregointikehys
Kaavio Siinä on joustava skeema, joten jokaisella saman sarakeperheen rivillä ei tarvitse olla samaa määrää sarakkeita MongoDB:n uudemmassa versiossa voidaan päättää, haluavatko he skeeman vai eivät, mikä tekee tietokannasta paljon joustavamman
Kyselykielen tuki Cassandra Query Language (CQL) on Cassandran ikioma kyselykieli Sillä ei ole vielä kyselykieltä, mutta se käyttää JSON-rakennetta

Mikä on Cassandra?

Cassandra on Facebookin kehittämä postilaatikon hakua varten, ja se julkaistiin vuonna 2008. Siitä tuli Apache-projekti vuonna 2009 ja siitä tuli Apache Cassandra.

Cassandra on NoSQL-tietokanta, joka käyttää tietojen tallentamiseen perustietorakennetta, joka koostuu sarakeperheistä, riveistä, sarakkeista ja avainvälistä. Koska Cassandralla on joustava skeema, saman sarakeperheen riveillä voi olla eri määrä sarakkeita.

Jokaisella Cassandra-solmuklusterin solmulla on samat toiminnot, ja ne vastaanottavat kaikentyyppisiä pyyntöjä. Cassandra ei käytä "master-slave" -mallia, vaan käyttää "koordinaattorisolmun" ideaa. Tämä tarkoittaa, että kun asiakas lähettää pyynnön, pyynnön vastaanottava solmu on tietyn pyynnön koordinaattori ja koordinoi tiedon todellisuudessa sisältävän solmun vastauksen vaihtoa asiakkaan pyyntöön lähettääkseen tuloksen asiakkaalle..

Muutamia merkittäviä Cassandra-käyttäjiä ovat Netflix, Twitter, Viocom Hosting, Walmart Labs, Spotify, Reddit, Instagram ja Facebook.

Mikä on MongoDB?

MongoDB on NoSQL-tietokanta, jonka 10gen, joka tunnetaan tällä hetkellä nimellä MongoDB, Inc., kehitti vuonna 2007 skaalautuvuusongelmiin.

Koska kyseessä on dokumenttilähtöinen tietokanta, tietojen tallentamiseen käytetty ensisijainen rakenne on asiakirjojen muodossa. Tässä yhteydessä asiakirja on perusrakenne, jota käytetään yksittäisen tietoyksikön tallentamiseen. Kaavan puutteen vuoksi dokumentteja tallennetaan eri rakenteilla ja sisällöillä, kaikki samassa kokoelmassa.

MongoDB:n dokumentit käyttävät JSON-kieltä kyselykielenä, joten sen malli voi tukea myös olioohjelmointia.

MongoDB perustuu master-slave -malliin, jonka seurauksena jos isäntäsolmu lakkaa toimimasta, tietokanta lakkaa toimimasta muutamaksi minuutiksi. Tämän korjaamiseksi MongoDB:llä on replikasarja, joka koostuu pääsolmusta tai ensisijaisesta solmusta ja kaikista toissijaisista solmuista. Tämä tekee pääsolmusta kaikkien asiakkaan esittämien pyyntöjen vastaanottajan, ja se myös tallentaa kaikki muutokset toimintalokiinsa. Orjasolmut käyttävät ensisijaisen solmun toimintalokia ja toistavat muutokset omiin tietokopioihinsa johdonmukaisuuden ylläpitämiseksi.

Jos ensisijainen solmu kuolee, MongoDB käyttää viestintäprotokollaa, jota kutsutaan "sydämeksi" ja "vaaleiksi". Kahden sekunnin välein kopiojoukon jäsenet lähettävät sydämenlyöntejä toisilleen, jos yksi jäsen ei vastaa kymmenen sekunnin kuluessa, katsotaan se kuolleeksi ja toissijaisille solmuille ilmoitetaan siitä. Tämän jälkeen kopiosarja pitää vaalit ja äänestää valitakseen toissijaisen solmun, josta tulee uusi ensisijainen solmu. Eniten ääniä saanut toissijainen solmu voittaa vaalit. Tasatilanteessa on kolmannen tyyppinen solmu, joka tunnetaan nimellä Arbiter, joka päättää, mikä toissijainen solmu tulee ensisijaiseksi.

Abode, Google, Forbes, Facebook, eBay, BOSH, Cisco ovat joitakin MongoDB:n merkittävimpiä käyttäjiä.

Tärkeimmät erot Cassandran ja MongoDB:n välillä

  1. Cassandra käyttää taulukkorakennetta tietojen tallentamiseen, kun taas MongoDB käyttää objektiivista ja tietoihin suuntautunutta mallia.
  2. Cassandra käyttää solmuklusteria varmistaakseen korkean tiedon saatavuuden. Sen sijaan MongoDb käyttää yhtä pääsolmua, mikä rajoittaa sen tietojen saatavuutta.
  3. Cassandra tarjoaa joustavan skaalautuvuuden, koska kaikki renkaan solmut ovat samanarvoisia. Sitä vastoin MongoDB ei tarjoa joustavaa skaalautuvuutta, koska sillä on yksi pääsolmu kaiken tiedon tallentamiseen.
  4. Cassandralla ei ole sisäänrakennettua aggregointikehystä, joten se luottaa ulkoisiin työkaluihin. Sen sijaan MongoDB:llä on sisäinen aggregointikehys, joka sopii parhaiten pienille ja keskisuurille tietoliikenteelle.
  5. Vaikka Cassandra tarjoaa komponentteja, kuten muistitaulukoita, toimituslokeja, klusteria, datakeskuksia ja solmua, MongoDB tukee ad-hoc-kyselyjä, tiedostojen tallennusta, kokoelmia, replikointia ja tapahtumia.

Johtopäätös

Cassandra ja MongoDB ovat molemmat NoSQL-tietokannan hallintajärjestelmiä, mutta niillä on useita merkittäviä eroja. Cassandra osoittautuu olennaisemmaksi, kun käsitellään tapahtumatietoja, mutta MongoDB on hyödyllisempi reaaliaikaisen analytiikan suorittamiseen.

Viitteet

  1. https://dl.acm.org/doi/abs/10.1145/1773912.1773922
  2. https://bora.uib.no/bora-xmlui/bitstream/handle/1956/17228/kb-thesis.pdf?sequence=1&isAllowed=y

Ero Cassandran ja MongoDB:n välillä (taulukon kanssa)