MongoDB에서 데이터베이스 크기 가져오기

Mehvish Ashiq 2022년6월2일
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() 메소드를 사용합니다.

먼저 이해해야 할 다양한 분야가 있습니다. 다음은 각각에 대한 간략한 설명이지만 모든 필드에 대한 자세한 내용은 여기에서 찾을 수 있습니다.

  1. db - 현재 데이터베이스의 이름
  2. collections - 현재 데이터베이스의 테이블/컬렉션 수
  3. views - 현재 데이터베이스의 조회수
  4. objects - 모든 테이블(컬렉션)에서 현재 데이터베이스의 객체 수
  5. avgObjSize - 모든 문서(레코드)의 평균 크기(바이트)
  6. dataSize - 데이터베이스에 포함된 압축되지 않은 데이터의 총 크기. 문서를 제거하면 dataSize가 감소합니다.
  7. storageSize - filesystem에 저장된 데이터의 크기입니다. 압축을 사용하는 경우 dataSizestorageSize보다 클 수 있습니다.
  8. indexes - 모든 컬렉션에 대한 데이터베이스의 인덱스 수
  9. indexSize - 사용 가능한 인덱스 공간과 데이터베이스의 모든 인덱스에 할당된 공간의 합계
  10. totalSize - 데이터베이스의 모든 컬렉션에 대한 인덱스 및 문서에 할당된 공간의 합계입니다. 무료 및 사용된 저장 공간이 포함됩니다.
  11. scaleFactor - 명령에서 사용하는 값
  12. fsUsedSizefsTotalSize - 이들은 모두 데이터베이스가 저장된 파일 시스템에 관한 것입니다. 이것들은 데이터베이스가 얼마나 성장할 수 있는지에 대한 아이디어를 얻는 데 사용됩니다.
  13. 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
}

프로젝트 요구 사항에 따라 스케일링 팩터를 전달할 수도 있습니다.

  1. 통계를 바이트 단위로 원하면 배율 인수가 전달되지 않습니다.
  2. stats() 메소드에 1024를 전달하여 킬로바이트(KB) 단위의 통계를 가져옵니다.
  3. 1024 * 1024stats() 함수에 전달하여 메가바이트(MB) 단위로 통계를 검색합니다.
  4. 1024 * 1024 * 1024stats() 메서드에 전달하여 기가바이트(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 avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MongoDB Database