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

Mongodb:flere samlinger eller en stor samling med indeks

Fra mongo docs her:datamodellering

I visse situationer kan du vælge at gemme oplysninger i flere samlinger i stedet for i en enkelt samling.

Overvej en prøvesamlingslog, der gemmer logdokumenter til forskellige miljøer og applikationer. Logsamlingen indeholder dokumenter af følgende form:

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

Hvis det samlede antal dokumenter er lavt, kan du gruppere dokumenter i samling efter type. For logfiler bør du overveje at vedligeholde særskilte logsamlinger, såsom logs.dev og logs.debug. Logs.dev-samlingen ville kun indeholde de dokumenter, der er relateret til dev-miljøet.

Generelt har et stort antal samlinger ingen væsentlig præstationsstraf og resulterer i meget god præstation. Distinkte samlinger er meget vigtige for batchbehandling med høj kapacitet.

Talte også med 10gen fyr. For virkelig store samlinger listede han flere fordele ved at adskille sig i mindre mere specifikke samlinger. Hans kommentar til at bruge én samling til alle data og bruge et indeks var:

Bare fordi du kan gøre noget, betyder det ikke, at du skal. Modeller dine data korrekt. kan være let at gemme i én stor samling og indeks, men det er ikke altid den bedste fremgangsmåde.




  1. Underdokumentindeks i mongo

  2. Hvad skal jeg vælge:MongoDB/Cassandra/Redis/CouchDB?

  3. Hvad er den rigtige måde at håndtere Redis-forbindelse i Tornado? (Asynkron - Pub/Sub)

  4. MongoDB $cos