sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB vs. Cassandra

Masser af læsninger i hver forespørgsel, færre almindelige skrivninger

Begge databaser klarer sig godt på læsninger, hvor det varme datasæt passer i hukommelsen. Begge lægger også vægt på join-løse datamodeller (og tilskynder i stedet til denormalisering), og begge giver indekser på dokumenter eller rækker, selvom MongoDB's indekser i øjeblikket er mere fleksible.

Cassandras lagringsmotor giver konstant-tidsskrivning, uanset hvor stort dit datasæt vokser. Skrivninger er mere problematiske i MongoDB, dels på grund af den b-tree-baserede lagermotor, men mere på grund af den multi-granularitetslåsning, den gør.

Til analyse giver MongoDB en tilpasset kort/reducer implementering; Cassandra leverer indbygget Hadoop-support, herunder til Hive (et SQL-datavarehus bygget på Hadoop map/reduce) og Pig (et Hadoop-specifikt analysesprog, som mange mener passer bedre til at kortlægge/reducere arbejdsbelastninger end SQL). Cassandra understøtter også brugen af ​​Spark.

Ikke bekymret for "massiv" skalerbarhed

Hvis du ser på en enkelt server, passer MongoDB sandsynligvis bedre. For dem, der er mere bekymrede over skalering, vil Cassandras no-single-point-of-failure-arkitektur være lettere at konfigurere og mere pålidelig. (MongoDB's globale skrivelås har også en tendens til at blive mere smertefuldt.) Cassandra giver også meget mere kontrol over, hvordan din replikering fungerer, inklusive understøttelse af flere datacentre.

Mere bekymret over simpel opsætning, vedligeholdelse og kode

Begge er trivielle at konfigurere, med rimelige standardindstillinger for en enkelt server. Cassandra er lettere at konfigurere i en multi-server konfiguration, da der ikke er nogen specielle rolle noder at bekymre sig om.

Hvis du i øjeblikket bruger JSON-blobs, er MongoDB et sindssygt godt match til din use case, da den bruger BSON til at gemme dataene. Du vil være i stand til at have rigere og mere forespørgbare data, end du ville have i din nuværende database. Dette ville være den mest betydningsfulde sejr for Mongo.



  1. Hvordan opretter man en distribueret lås med Redis?

  2. Introduktion til Redis

  3. Redis pubsub beskedkø, men med tilbagekald, som i ZeroMQ

  4. Node.js + MongoDB:indsæt en og returner det nyligt indsatte dokument