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

MongoDB forestillinger - hvor mange databaser, samlinger?

Fremgangsmåde 1(A): Oprettelse af en enkelt database for alt. (Med enkelt samling)

Fordele:

  • Mindre vedligeholdelse:Sikkerhedskopiering, oprettelse af databasebrugere, gendannelse osv.

Udemper:

  • Du kan muligvis se databaseniveaulås til oprettelse af indekser på store databaser
  • For at udføre operationer på specifikke sensordata skal du tilføje yderligere indekser for kun at hente sensorspecifik samling
  • Du er forpligtet til at oprette ikke mere end 64 indekser på en enkelt samling. Selvom det lyder dårligt indekseringsstrategi.

Fremgangsmåde 1(B): Oprettelse af en enkelt database for alt. (Med 1 samling for hver sensor)

Fordele:

  • Mindre vedligeholdelse:Sikkerhedskopiering, oprettelse af databasebrugere, gendannelse osv.
  • Minimerer behovet for at oprette indekser for at identificere sensorspecifikke data fra hele monolitiske samlinger
  • Hver sensorspecifik forespørgsel vil kun blive målrettet mod en bestemt samling. Kræver ikke at trække stort arbejdssæt ind i hukommelsen sammenlignet med en enkelt stor samling.
  • Opbygning af indeks på relativt mindre samling er mere gennemførligt end for den store samling i enkelt DB

Udemper:

  • Du kan ende med at oprette for mange indekser. (Summen af ​​det samlede antal indekser på alle samlinger).
  • Mere vedligeholdelse er påkrævet for et stort antal indekser.
  • WiredTiger opretter 1 fil til en samling og 1 til indeks internt. Hvis din use case vokser med et stort antal sensorer. Du kan ende med at bruge 64K åbne filgrænse.

Performancemæssigt, betyder det noget, om jeg opdeler dataene efter hver sensor eller efter metrics?

  • Dette afhænger af de adgangsmønstre, der forventes fra din analyseapp.

Performancemæssigt, skal jeg lave en indsamling kun for sensoroplysningerne og derefter indsamlinger til data eller bare flette de to i samme samling?

  • Det kan være nødvendigt at oprette en samling for sensormetadata og sensordata. Det vil minimere duplikering af sensormetadata i hver eneste indsamlede sensordata.

  • Du må gerne læse Williams blogindlæg her om at designe dette mønster.

Som altid er det bedre at designe et eksempelskema og teste dine forespørgsler i dit testmiljø.




  1. Hvordan forespørger man indlejrede objekter?

  2. Hvordan grupperer man forespørgsler med flere $cond?

  3. Hvordan streamer man MongoDB-forespørgselsresultater med nodejs?

  4. Er der forskel på to lister?