MongoDB에서 데이터베이스 크기 가져오기
Mehvish Ashiq
2022년6월2일
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
}
작가: Mehvish Ashiq