Ermitteln der Größe einer Datenbank in MongoDB
Kennen Sie die Größe Ihrer Datenbank, während Sie in MongoDB arbeiten? Heute werden wir den Befehl show dbs
und die Methode db.stats()
verwenden, um zu verstehen, wie man die Größe einer Datenbank in MongoDB erhält.
Holen Sie sich die Größe einer Datenbank in MongoDB
Wir können das show dbs;
Befehl auf der Mongo-Shell, um die Speichergröße aller Datenbanken in MongoDB wie folgt abzurufen.
Beispielcode:
> show dbs;
AUSGANG:
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.001GB
Die obige Ausgabe zeigt den Datenbanknamen mit ihrer Größe in GB. Wir verwenden die Methode db.stats()
, um detaillierte Statistiken über eine Datenbank zu erhalten.
Es hat verschiedene Felder, die wir zuerst verstehen müssen. Im Folgenden finden Sie eine kurze Erklärung für jeden von ihnen, aber Sie können weitere Details zu jedem Feld hier finden.
db
- der Name der aktuellen Datenbankcollections
- Anzahl der Tabellen/Sammlungen in der aktuellen Datenbankviews
- Anzahl der Ansichten in der aktuellen Datenbankobjects
- Nummer der Objekte in der aktuellen Datenbank über alle Tabellen (Sammlungen)avgObjSize
- durchschnittliche Größe jedes Dokuments (eines Datensatzes) in BytesdataSize
– Gesamtgröße der unkomprimierten Daten, die in der Datenbank enthalten sind. DiedataSize
verringert sich, wenn wir ein Dokument entfernen.storageSize
– ist die Größe der imDateisystem
gespeicherten Daten. DiedataSize
kann grösser als diestorageSize
sein, wenn die Komprimierung verwendet wird.Indizes
– Anzahl der Indizes in der Datenbank über alle Sammlungen hinwegindexes
– die Summe aus freiem Indexplatz und zugewiesenem Platz für alle Indizes in der DatenbanktotalSize
– die Summe des zugewiesenen Speicherplatzes für Indizes und Dokumente für alle Sammlungen in einer Datenbank. Es beinhaltet freien und genutzten Speicherplatz.scaleFactor
– ein Wert, der vom Befehl verwendet wirdfsUsedSize
undfsTotalSize
– hier geht es um dasDateisystem
, in dem die Datenbank gespeichert ist. Diese werden verwendet, um eine Vorstellung davon zu bekommen, wie stark eine Datenbank wachsen kann.ok
- der Wert 1 bedeutet, dass die Abfrage erfolgreich ausgeführt wurde
Denken Sie daran, dass wir eine Datenbank auswählen müssen, bevor wir die Funktion db.stats()
verwenden.
Beispielcode:
> use test
> db.stats()
AUSGANG:
{
"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
}
Wir können auch den Skalierungsfaktor gemäß den Projektanforderungen weitergeben.
- Es wird kein Skalierungsfaktor übergeben, wenn wir die Statistik in Bytes wollen.
- Übergeben Sie
1024
an diestats()
-Methode, um Statistiken in Kilobyte (KB) zu erhalten. - Übergeben Sie
1024 * 1024
an die Funktionstats()
, um die Statistiken in Megabyte (MB) abzurufen. - Übergeben Sie
1024 * 1024 * 1024
an diestats()
-Methode, um die Statistiken in Gigabyte (GB) anzuzeigen.
Sehen Sie sich die folgenden Beispiele als Demonstration an.
Statistiken in Bytes abrufen:
>db.stats()
AUSGANG:
{
"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
}
Die Datenbank nimmt unter Berücksichtigung der oben angegebenen storageSize
0.1352 MB
auf filesystem
ein. In ähnlicher Weise können wir in den folgenden Beispielen die Größe einer Datenbank ermitteln.
Statistiken in KB abrufen:
> db.stats(1024)
AUSGANG:
{
"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
}
Statistiken in MB abrufen:
> db.stats(1024*1024)
AUSGANG:
{
"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
}
Statistiken in GB abrufen:
> db.stats(1024*1024*1024)
AUSGANG:
{
"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
}