MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBでデータベースのデータサイズを取得する方法

MongoDBでデータベースのデータサイズを確認するには、db.stats()メソッドを使用します。このメソッドを実行すると、データサイズだけでなく、ストレージ使用量やインデックスサイズなど、データベースに関する詳細な統計情報を一度に取得できます。

db.stats()メソッドの基本構文

db.stats();

現在のデータベースを確認する

まず、現在接続しているデータベースを確認しましょう。ここでは例として「test」データベースを使用します。以下のコマンドでカレントデータベースを確認できます。

> db

実行結果:

test

testデータベースの統計情報を取得する

続いて、db.stats()メソッドを使って「test」データベースのデータサイズを取得します。

> db.stats()

実行結果:

{
    "db" : "test",
    "collections" : 114,
    "views" : 0,
    "objects" : 391,
    "avgObjSize" : 83.0076726342711,
    "dataSize" : 32456,
    "storageSize" : 3211264,
    "numExtents" : 0,
    "indexes" : 120,
    "indexSize" : 2494464,
    "fsUsedSize" : 126172377088,
    "fsTotalSize" : 199229435904,
    "ok" : 1
}

出力結果の主なフィールドの意味

  • db: データベース名
  • collections: コレクションの総数
  • objects: ドキュメント(オブジェクト)の総数
  • avgObjSize: ドキュメントの平均サイズ(バイト)
  • dataSize: データの実サイズ(バイト)
  • storageSize: ディスク上のストレージ使用量(バイト)
  • indexes: インデックスの総数
  • indexSize: インデックスの合計サイズ(バイト)

データベースのデータサイズに該当するのは「dataSize」の値です。上記の例では32,456バイトであることがわかります。なお、単位を指定したい場合は、db.stats(1024)のように引数を渡すことで、KB単位などで表示することも可能です。

別のデータベース(sample)に切り替えて確認する

次に、「sample」データベースに切り替えて、同様の手順で確認してみましょう。データベースの切り替えにはuseコマンドを使用します。

> use sample
switched to db sample

再度、dbコマンドで現在のデータベース名を確認します。

> db

実行結果:

sample

sampleデータベースのデータサイズを取得する

「sample」データベースに対しても、同じくdb.stats()メソッドを実行してデータサイズを確認します。

> db.stats();

実行結果:

{
    "db" : "sample",
    "collections" : 25,
    "views" : 0,
    "objects" : 67,
    "avgObjSize" : 85.32835820895522,
    "dataSize" : 5717,
    "storageSize" : 626688,
    "numExtents" : 0,
    "indexes" : 24,
    "indexSize" : 610304,
    "fsUsedSize" : 126173016064,
    "fsTotalSize" : 199229435904,
    "ok" : 1
}

このように、db.stats()メソッドを使えば、どのデータベースでも簡単にデータサイズを含む統計情報を取得できます。出力結果の「dataSize」フィールドを確認することで、そのデータベースが保持している実際のデータサイズを把握できるので、容量管理やパフォーマンスチューニングの際にぜひ活用してください。

  1. データベース言語の種類と役割を徹底解説!DDL・DML・DCL・TCLの違いとは

    データベース言語とは、データベース内のデータを読み取り、更新、操作、保存するために使用される言語の総称です。SQL(Structured Query Language)をはじめとするデータベース言語は、その目的に応じて以下の4種類に分類されます。データ定義言語(DDL:Data Definition Language)データ操作言語(DML:Data Manipulation Language)データ制御言語(DCL:Data Control Language)トランザクション制御言語(TCL:Transaction Control Language)それでは、それぞれの言語について詳しく見て

  2. MySQLデータベースのテーブルサイズを取得・確認する方法

    MySQLデータベース内の各テーブルのサイズを確認したい場合、システムが標準で提供している「information_schema.TABLES」を利用するのが最も手軽な方法です。このスキーマには、すべてのデータベースとテーブルに関するメタ情報(データ長、インデックス長など)が格納されており、SQLクエリだけで簡単に容量を調べることができます。全テーブルのサイズを一覧表示するSQL構文以下のクエリを実行すると、指定したデータベースに含まれるすべてのテーブルのサイズをMB単位で一覧取得できます。 SELECT TABLE_NAME AS `ALLTABLESNAME`, ROUND((DATA_L