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

Dimensione totale dello spazio di archiviazione di MongoDB

La risposta breve è:non puoi, non basandoti esclusivamente su avg. dimensione del documento (almeno non in modo accurato).

Per spiegare più dettagliatamente:

Lo spazio necessario su disco non è semplicemente una funzione della dimensione media del documento. C'è anche lo spazio necessario per tutti gli indici che crei. Poi c'è lo spazio necessario se si attivano quelle mosse (nonostante il riempimento, questo accade) - quello spazio viene inserito in un elenco da riutilizzare ma, a seconda dei dati inseriti successivamente, potrebbe essere possibile o meno riutilizza quello spazio.

Puoi anche aggiungere il fatto che la preallocazione significherà che occasionalmente una manciata di documenti aumenterà l'utilizzo dello spazio su disco di circa 2 GB quando viene allocato un nuovo file di dati. Ovviamente, con dati sufficienti, questo sarà essenzialmente un errore di arrotondamento, ma vale la pena tenerlo a mente.

L'unico modo per stimare questo tipo di rapporto tra dati e dimensioni, supponendo un modello di utilizzo coerente, è quello di fare un andamento nel tempo per il tuo caso d'uso particolare e tenere traccia dell'utilizzo dello spazio su disco rispetto ai dati inseriti (il numero di documenti potrebbe essere migliore del volume dei dati a seconda della variabilità della dimensione del documento).

Allo stesso modo, se si tiene traccia del tasso di inserimento, della dimensione del documento e dello spazio recuperato da una risincronizzazione/riparazione. Cordiali saluti:puoi risincronizzare un secondario da zero per ottenere una copia "nuova" dei file di dati anziché eseguire una riparazione, che può essere meno dirompente e utilizzare meno spazio a seconda della configurazione.