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

Kan MongoDB fungere, når databasens størrelse er større end RAM?

Ja det kan virke. Til hvilket niveau den vil præstere er mere et "It Depends"

Det vigtigste er at sikre dit arbejdssæt kan passe i RAM. Så hvis du f.eks. har 16 GB RAM og 20 GB database (inkl. indekser), hvis du kun har brug for at få adgang til halvdelen af ​​alle data, da den anden halvdel er ældre/aldrig faktisk forespørges, så vil du have det fint, da kun halvdelen af ​​din databasen skal være i RAM (10 GB).

Arbejdssæt er nøglen her. For eksempel, hvis du har en logningsapplikation, der udsender til MongoDB, kan det være, at dit arbejdssæt er mængden af ​​data (og indekser) fra de seneste 3 måneder, og at alle data før det ikke har adgang til.

Når dit arbejdssæt overstiger mængden af ​​RAM, vil det fortsætte med at fungere, men med mærkbart forringet ydeevne, da tingene så konstant skal til disk, som er langt mindre ydende. Hvis du er i denne situation med overskridelse af RAM-begrænsninger på en maskine, så er det her sharding kommer i spil - så du kan balancere dataene over en række maskiner og dermed øge mængden af ​​data, der kan opbevares i RAM.



  1. Skal jeg dele Redis-forbindelse mellem filer/moduler?

  2. Yeoman, Mongoose og MongoDB Stilladser

  3. oprettelse af dækket indeks for aggregeringsramme

  4. Fejl:Kunne ikke oprette forbindelse til Redis på redis:6379:Navn eller tjeneste er ikke kendt