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

Hvad er nogle reelle use cases for at gå med en NoSQL Document Store db?

  1. Mange forskellige forfattere. Især når skribenterne kan blive segmenteret på grund af afbrydelser i netværket, og senere skal resynkronisere data, der er skrevet til på begge sider af bifurkationen. Dette bryder ACID, og ​​selvom du kan løse problemet med eksplicit forretningslogik, er du nu i NoSQL-territorium. Dette er meget almindeligt i militære situationer, men ethvert system, hvor alle er en produktiv forfatter, vil have en skrivekonfliktlås på et ACID-system.

  2. Flydende skemaer. Ændring af et skema i en traditionel DB er en dyr operation, der ofte kræver en form for servernedetid eller andre komplicerede processer. Med de fleste NoSQL-systemer er det trivielt. Så hvis du har data fra mange forskellige kilder til at flette og/eller har situationer, hvor du måske vil begynde at spore ny information på et senere tidspunkt, vil NoSQL-systemer være meget nemmere at håndtere. At flette to datakilder, så de kan kortlægges med hinanden, er et godt eksempel, jeg kan komme i tanke om.

  3. Replikering med lav båndbredde. Når du har brudt ACID, kan du have læsere og skribenter på bladknuder i en netværksgraf med delvise data, som ikke behøver fulde replikaer af databasen. Mit eget firmas produkt, Hærens Fremtidens Kommandopost, bruger dette.

  4. Datainteroperabilitet. De fleste NoSQL-databaser giver dig mulighed for at introspektere dataene uden at kende skemaet på forhånd, hvilket gør det nemmere at oprette forbindelser mellem forskellige systemer.

  5. Massiv skalering. Dette er den, der oftest diskuteres og oftest misbruges af NoSQL-tilhængere. Hvis dette er den eneste grund til at du vælger NoSQL, så start med MySQL i stedet og skaler senere.



  1. Delvise kampe ved hjælp af mongos primitive pakke

  2. Søgestreng med specialtegn i MongoDB-dokument

  3. Hvordan ændrer man samlingens navn i mongoose.model?

  4. Mongo-forespørgsel, der bruger mongoid i rails-app, der forårsager markørtimeoutfejl