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

NoSQL - MongoDB vs CouchDB

Se følgende links

Opdater :Jeg fandt en god sammenligning af NoSQL databaser.

MongoDB (3.2)

  • Skrevet i:C++
  • Hovedpointe:JSON-dokumentlager
  • Licens:AGPL (drivere:Apache)
  • Protokol:Brugerdefineret, binær (BSON)
  • Master/slave-replikering (automatisk failover med replikasæt)
  • Sharding indbygget
  • Forespørgsler er javascript-udtryk
  • Kør vilkårlige javascript-funktioner på serversiden
  • Har geospatial indeksering og forespørgsler
  • Flere lagringsmotorer med forskellige ydeevnekarakteristika
  • Ydeevne i forhold til funktioner
  • Dokumentvalidering
  • Journalist
  • Kraftfuld aggregeringsramme
  • På 32bit-systemer, begrænset til ~2,5 Gb
  • Tekstsøgning integreret
  • GridFS til at gemme big data + metadata (faktisk ikke en FS)
  • Datacenterbevidst

Bedst brugt :Hvis du har brug for dynamiske forespørgsler. Hvis du foretrækker at definere indekser, ikke kort/reducere funktioner. Hvis du har brug for god ydeevne på en stor DB. Hvis du ville have CouchDB, men dine data ændrer sig for meget, fylder diske op.

For eksempel :For de fleste ting, du ville gøre med MySQL eller PostgreSQL, men at have foruddefinerede kolonner holder dig virkelig tilbage.

CouchDB (1.2)

  • Skrevet på:Erlang
  • Hovedpointe:DB-konsistens, brugervenlighed
  • Licens:Apache
  • Protokol:HTTP/REST
  • Tovejs (!) replikering,
  • kontinuerlig eller ad hoc,
  • med konfliktregistrering,
  • altså master-master replikering. (!)
  • MVCC - skriveoperationer blokerer ikke læsninger
  • Tidligere versioner af dokumenter er tilgængelige
  • Kun nedbrud (pålideligt) design
  • Skal komprimeres fra tid til anden
  • Visninger:indlejret kort/reducer
  • Formattering af visninger:lister og programmer
  • Dokumentvalidering på serversiden er mulig
  • Godkendelse mulig
  • Opdateringer i realtid via '_changes' (!)
  • Håndtering af vedhæftede filer

Bedst brugt :Til akkumulering af, lejlighedsvis skiftende data, som foruddefinerede forespørgsler skal køres på. Steder, hvor versionering er vigtig.

For eksempel :CRM, CMS-systemer. Master-master-replikering er en særlig interessant funktion, der tillader nem implementering af flere steder.



  1. MongoDB-indeksering for en Parse Server-applikation

  2. MongoDB v2.4.9 sorteres efter boolesk felt

  3. MongoDB på Azure:Hvordan vælger man den rigtige instanstype?

  4. Hvordan viser man base64-billedet i reaktion?