MongoDB Compact Collections

MongoDB Compact Collections

I denne opplæringen vil vi utforske hvordan du bruker den kompakte kommandoen i MongoDB. Den kompakte kommandoen lar deg omskrive og defrage dataene og indeksene i en MongoDB -samling gratis opp diskplass.

Kommandosyntaks

Følgende kodebit viser syntaks for den kompakte kommandoen:

db.RunCommand (

kompakt:

)

Den kompakte kommandoen godtar følgende parametere:

  1. - Angir navnet på samlingen til kompakt.
  2. makt - En boolsk parameter som lar den kompakte kommandoen kjøre på primæren i et gitt replikasett.
  3. kommentar - Angir en kommentar knyttet til en gitt kommando.

Det er godt å huske på at den kompakte operasjonen blokkerer databasen som den kompakte kommandoen utføres. Imidlertid påvirker det ikke de andre databasene i klyngen.

Eksempel:

La oss illustrere hvordan vi bruker den kompakte kommandoen i MongoDB. For best å se effekten av den kompakte kommandoen, er det bra å se innsamlingsstørrelsen før komprimering.

Anta at vi har en samling som heter Disney som inneholder informasjonen om Disney -filmer og TV -serier.

Vi kan få innsamlingsdiskbruken før komprimering med følgende kommando:

Kino> DB.Disney.Statistikk (skala: 1024)

Den forrige kommandoen returnerer statistikken om den spesifiserte samlingen. Det vi er interessert i er samlingsstørrelsen. Et eksempelutgang er som vist:

,
NINDEXES: 3,
Indeksbuilds: [],
TotalIndexSize: 104,
TotalSize: 400,
Indeksstørrelser: _id_: 28, title_1: 52, type_1: 24,
Scalefactor: 1024,
OK: 1

I dette tilfellet kan vi se at samlingen tar opp 400 kb data før komprimering.

Kjører komprimeringskommandoen

Vi kan kjøre komprimeringsoperasjonen som vist i følgende:

Kino> DB.RunCommand (Compact: "Disney", Force: True)

Kommandoen skal returnere en utgang som vist i følgende:

Kino> DB.RunCommand (Compact: "Disney", Force: True)
Bytesfreed: 300, OK: 1

Vi kan deretter sjekke bruksstatistikken som følger:


NINDEXES: 3,
Indeksbuilds: [],
TotalIndexSize: 104,
Totalsize: 399,
Indeksstørrelser: _id_: 28, title_1: 52, type_1: 24,
Scalefactor: 1024,
OK: 1

Vi kan se at kommandoen frigjør 30 byte med data.

Konklusjon

I dette korte innlegget dekket vi hvordan du bruker den kompakte kommandoen i MongoDB for å defragmentere dataene i en gitt samling og frigjøre en diskplass til vertssystemet.