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. LedataSizediminue lorsque nous supprimons un document.storageSize- est la taille des données stockées sur lesystème de fichiers. LedataSizepeut être plus grand que lestorageSizesi 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 commandefsUsedSizeetfsTotalSize- ils concernent tous lesystème de fichiersoù 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
}
