sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongodb:flera samlingar eller en stor samling med index

Från mongo docs här:datamodellering

I vissa situationer kan du välja att lagra information i flera samlingar snarare än i en enda samling.

Överväg ett exempel på samlingsloggar som lagrar loggdokument för olika miljöer och applikationer. Loggsamlingen innehåller dokument av följande form:

{ log:"dev", ts:..., info:... } { log:"debug", ts:..., info:...}

Om det totala antalet dokument är lågt kan du gruppera dokument i insamling efter typ. För loggar, överväg att behålla distinkta loggsamlingar, som logs.dev och logs.debug. Logs.dev-samlingen skulle bara innehålla de dokument som är relaterade till dev-miljön.

Generellt sett har ett stort antal samlingar ingen betydande prestationspåföljd och resulterar i mycket bra prestanda. Distinkta samlingar är mycket viktiga för batchbearbetning med hög genomströmning.

Talade också med 10gen kille. För riktigt stora samlingar listade han flera fördelar med att separera ut i mindre mer specifika samlingar. Hans kommentar om att använda en samling för all data och använda ett index var:

Bara för att du kan göra något betyder det inte att du borde. Modellera dina data på lämpligt sätt. kan vara lätt att lagra i en stor samling och index men det är inte alltid det bästa sättet.




  1. Ta bort med _id i MongoDB-konsolen

  2. Tuning Java Garbage Collection för HBase

  3. slå upp i mongodb-aggregation

  4. Prenumerera på Meteor.Users Collection