HOWTO · MongoDB
MongoDB에서 데이터베이스 크기 가져오기
이 튜토리얼은 MongoDB에서 데이터베이스의 크기를 얻는 방법을 보여줍니다.
이 페이지의 내용
MongoDB에서 작업하는 동안 데이터베이스의 크기를 알고 있습니까? 오늘은 show dbs 명령과 db.stats() 메소드를 사용하여 MongoDB에서 데이터베이스 크기를 가져오는 방법을 이해합니다.
MongoDB에서 데이터베이스 크기 가져오기
show dbs;를 사용할 수 있습니다. mongo 셸에서 명령을 실행하여 다음과 같이 MongoDB에 있는 모든 데이터베이스의 저장소 크기를 가져옵니다.
예제 코드:
> show dbs;
출력:
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.001GB
위의 출력은 크기가 GB 단위인 데이터베이스 이름을 보여줍니다. 데이터베이스에 대한 자세한 통계를 얻기 위해 db.stats() 메소드를 사용합니다.
먼저 이해해야 할 다양한 분야가 있습니다. 다음은 각각에 대한 간략한 설명이지만 모든 필드에 대한 자세한 내용은 여기에서 찾을 수 있습니다.
db- 현재 데이터베이스의 이름collections- 현재 데이터베이스의 테이블/컬렉션 수views- 현재 데이터베이스의 조회수objects- 모든 테이블(컬렉션)에서 현재 데이터베이스의 객체 수avgObjSize- 모든 문서(레코드)의 평균 크기(바이트)dataSize- 데이터베이스에 포함된 압축되지 않은 데이터의 총 크기. 문서를 제거하면dataSize가 감소합니다.storageSize-filesystem에 저장된 데이터의 크기입니다. 압축을 사용하는 경우dataSize는storageSize보다 클 수 있습니다.indexes- 모든 컬렉션에 대한 데이터베이스의 인덱스 수indexSize- 사용 가능한 인덱스 공간과 데이터베이스의 모든 인덱스에 할당된 공간의 합계totalSize- 데이터베이스의 모든 컬렉션에 대한 인덱스 및 문서에 할당된 공간의 합계입니다. 무료 및 사용된 저장 공간이 포함됩니다.scaleFactor- 명령에서 사용하는 값fsUsedSize및fsTotalSize- 이들은 모두 데이터베이스가 저장된파일 시스템에 관한 것입니다. 이것들은 데이터베이스가 얼마나 성장할 수 있는지에 대한 아이디어를 얻는 데 사용됩니다.ok- 값 1은 쿼리가 성공적으로 실행되었음을 의미합니다.
db.stats() 함수를 사용하기 전에 데이터베이스를 선택해야 한다는 것을 기억하십시오.
예제 코드:
> use test
> db.stats()
출력:
{
"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
}
프로젝트 요구 사항에 따라 스케일링 팩터를 전달할 수도 있습니다.
- 통계를 바이트 단위로 원하면 배율 인수가 전달되지 않습니다.
stats()메소드에1024를 전달하여 킬로바이트(KB) 단위의 통계를 가져옵니다.1024 * 1024를stats()함수에 전달하여 메가바이트(MB) 단위로 통계를 검색합니다.1024 * 1024 * 1024를stats()메서드에 전달하여 기가바이트(GB) 단위로 통계를 봅니다.
데모로 다음 예를 참조하십시오.
바이트 단위로 통계 가져오기:
>db.stats()
출력:
{
"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
}
데이터베이스는 위에 주어진 storageSize를 고려하여 filesystem에서 0.1352 MB를 차지합니다. 마찬가지로 다음 예에서 데이터베이스의 크기를 얻을 수 있습니다.
KB 단위로 통계 가져오기:
> db.stats(1024)
출력:
{
"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
}
MB 단위로 통계 가져오기:
> db.stats(1024*1024)
출력:
{
"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
}
GB 단위로 통계 가져오기:
> db.stats(1024*1024*1024)
출력:
{
"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
}