programing

데이터베이스 데이터mongodb 단위의 크기

closeapi 2023. 6. 25. 20:06
반응형

데이터베이스 데이터mongodb 단위의 크기

다음 명령을 사용하여 특정 컬렉션의 데이터 크기를 가져올 수 있습니다.

db.collection.dataSize()

데이터베이스의 데이터 크기를 가져오려면 어떻게 해야 합니까?

mongoschell에서 다음 명령을 사용합니다.

 db.stats()

출력은 다음과 같아야 합니다.

{
  "collections" : 3,
  "objects" : 80614,
  "dataSize" : 21069700,
  "storageSize" : 39845376,
  "numExtents" : 9,
  "indexes" : 2,
  "indexSize" : 6012928,
  "ok" : 1
}

자세한 진단 명령은 여기를 참조하십시오.

Java에서 db.getStats() 사용

CommandResult re = db.getStats();
for(String k: re.keySet()){
    System.out.println(k+"="+re.get(k) );
}

그러면 다음과 같은 결과가 나타납니다.

serverUsed=127.0.0.1:27017
db=test
collections=3
objects=100004
avgObjSize=67.99876004959802
dataSize=6800148
storageSize=10633216
numExtents=9
indexes=1
indexSize=4406864
fileSize=50331648
nsSizeMB=16
ok=1.0

dbStats 명령은 지정된 데이터베이스에 대해 서로 다른 스토리지 통계를 반환합니다.모니터링해야 하는 다양한 MongoDB 성능 메트릭에 대해 이 게시물에서 설명한 바와 같이(MMAPv1을 사용하여),dataSize당신이 언급한 메트릭은 데이터베이스의 모든 문서와 패딩이 차지하는 공간을 측정합니다.데이터베이스의 "스토리지 설치 공간"을 디스크에 저장하려면fileSize데이터 파일의 크기에 해당하는 메트릭입니다.데이터베이스를 삭제한 경우에만 감소하며, 컬렉션, 문서 또는 색인이 제거되어도 영향을 받지 않습니다.

다음은 dbStats에서 반환하는 다양한 중요 스토리지 메트릭을 보여주는 다이어그램입니다.

또한 MMAPv1 스토리지 엔진을 사용하면 매핑된 메모리(mem.mapped메트릭), 데이터베이스를 메모리에 매핑하는 데 사용되는 가상 메모리의 양에 따라 데이터베이스의 총 크기에 대한 근사치를 제공합니다.serverStatus 명령을 사용하여 이 메트릭에 액세스할 수 있습니다.

MongoDB에서:

db.stats()         //For db status
db.<collectionname>.stats() //For collection status

Python에서:

connection = pymongo.Connection(host = "127.0.0.1", port = 27017)
db = connection["test_db"]
test_collection = db["test_collection"]
db.command("dbstats") # prints database stats for "test_db"
db.command("collstats", "test_collection") # prints collection-level stats for "test_collection" under "test_db".  

PHP에서:

$con= new Mongo()

$stats=$con->dbName->command(array('dbStats' => 1));  // for db.stats()

$stats=$con->dbName->command(array('collStats' => 'collection_name')); // for db.collection_name.stats()

언급URL : https://stackoverflow.com/questions/6178128/database-datasize-in-mongodb

반응형