Obtenir la taille d'une base de données dans MongoDB
Connaissez-vous la taille de votre base de données lorsque vous travaillez dans MongoDB ? Aujourd’hui, nous allons utiliser la commande show dbs
et la méthode db.stats()
pour comprendre comment obtenir la taille d’une base de données dans MongoDB.
Obtenir la taille d’une base de données dans MongoDB
Nous pouvons utiliser le show dbs;
commande sur le shell mongo pour obtenir la taille de stockage de toutes les bases de données dans MongoDB comme suit.
Exemple de code :
> show dbs;
PRODUCTION:
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.001GB
La sortie ci-dessus affiche le nom de la base de données avec sa taille en Go. Nous utilisons la méthode db.stats()
pour obtenir des statistiques détaillées sur une base de données.
Il a divers domaines que nous devons d’abord comprendre. Vous trouverez ci-dessous une brève explication pour chacun d’eux, mais vous pouvez trouver plus de détails sur chaque champ ici.
db
- le nom de la base de données actuellecollections
- nombre de tables/collections dans la base de données actuelleviews
- nombre de vues dans la base de données actuelleobjects
- nombre d’objets dans la base de données actuelle dans toutes les tables (collections)avgObjSize
- taille moyenne de chaque document (un enregistrement) en octetsdataSize
- taille totale des données non compressées contenues par la base de données. LedataSize
diminue lorsque nous supprimons un document.storageSize
- est la taille des données stockées sur lesystème de fichiers
. LedataSize
peut être plus grand que lestorageSize
si la compression est utilisée.indexes
- nombre d’index dans la base de données dans toutes les collectionsindexSize
- la somme de l’espace d’index libre et de l’espace alloué à tous les index de la base de donnéestotalSize
- la somme de l’espace alloué aux index et aux documents pour toutes les collections d’une base de données. Il comprend un espace de stockage gratuit et utilisé.scaleFactor
- une valeur utilisée par la commandefsUsedSize
etfsTotalSize
- ils concernent tous lesystème de fichiers
où la base de données est stockée. Ceux-ci sont utilisés pour avoir une idée de la capacité de croissance d’une base de données.ok
- la valeur 1 signifie que la requête est exécutée avec succès
N’oubliez pas qu’il faut sélectionner une base de données avant d’utiliser la fonction db.stats()
.
Exemple de code :
> use test
> db.stats()
PRODUCTION:
{
"db" : "test",
"collections" : 5,
"views" : 0,
"objects" : 15,
"avgObjSize" : 99,
"dataSize" : 1485,
"storageSize" : 135168,
"indexes" : 5,
"indexSize" : 102400,
"totalSize" : 237568,
"scaleFactor" : 1,
"fsUsedSize" : 176960913408,
"fsTotalSize" : 208499617792,
"ok" : 1
}
Nous pouvons également passer le facteur d’échelle en fonction des exigences du projet.
- Aucun facteur d’échelle n’est passé si nous voulons les statistiques en octets.
- Passez
1024
à la méthodestats()
pour obtenir des statistiques en kilo-octets (Ko). - Passez
1024 * 1024
à la fonctionstats()
pour récupérer les statistiques en Mégaoctets (Mo). - Passez
1024 * 1024 * 1024
à la méthodestats()
pour voir les statistiques en Gigaoctets (Go).
Voir les exemples suivants à titre de démonstration.
Obtenir des statistiques en octets :
>db.stats()
PRODUCTION:
{
"db" : "test",
"collections" : 5,
"views" : 0,
"objects" : 15,
"avgObjSize" : 99,
"dataSize" : 1485,
"storageSize" : 135168,
"indexes" : 5,
"indexSize" : 102400,
"totalSize" : 237568,
"scaleFactor" : 1,
"fsUsedSize" : 176986320896,
"fsTotalSize" : 208499617792,
"ok" : 1
}
La base de données occupe 0,1352 Mo
sur filesystem
compte tenu de la storageSize
donnée ci-dessus. De même, nous pouvons obtenir la taille d’une base de données dans les exemples suivants.
Obtenir des statistiques en Ko :
> db.stats(1024)
PRODUCTION:
{
"db" : "test",
"collections" : 5,
"views" : 0,
"objects" : 15,
"avgObjSize" : 99,
"dataSize" : 1.4501953125,
"storageSize" : 132,
"indexes" : 5,
"indexSize" : 100,
"totalSize" : 232,
"scaleFactor" : 1024,
"fsUsedSize" : 172839080,
"fsTotalSize" : 203612908,
"ok" : 1
}
Obtenir des statistiques en Mo :
> db.stats(1024*1024)
PRODUCTION:
{
"db" : "test",
"collections" : 5,
"views" : 0,
"objects" : 15,
"avgObjSize" : 99,
"dataSize" : 0.0014162063598632812,
"storageSize" : 0.12890625,
"indexes" : 5,
"indexSize" : 0.09765625,
"totalSize" : 0.2265625,
"scaleFactor" : 1048576,
"fsUsedSize" : 168788.66796875,
"fsTotalSize" : 198840.73046875,
"ok" : 1
}
Obtenir des statistiques en Go :
> db.stats(1024*1024*1024)
PRODUCTION:
{
"db" : "test",
"collections" : 5,
"views" : 0,
"objects" : 15,
"avgObjSize" : 99,
"dataSize" : 0.0000013830140233039856,
"storageSize" : 0.000125885009765625,
"indexes" : 5,
"indexSize" : 0.000095367431640625,
"totalSize" : 0.00022125244140625,
"scaleFactor" : 1073741824,
"fsUsedSize" : 164.83288955688477,
"fsTotalSize" : 194.18040084838867,
"ok" : 1
}