DB

MongoDB 구성

Raconer 2024. 2. 18. 23:45
728x90

용어

기본 Database

Database는 Collection의 모음이다.
  • Admin
    • 인증과 권한 부여 역할
    • 일부 관리 작업을 하려면 Admin Database에 대한 접근이 필요하다.
      • ex) 서버 Shut Down, User Role 제어
  • Local
    • 모든 MongoDB Instance는 Local Database를 소유한다.
    • Oplog와 같은 replcation 절차에 필요한 정보를 저장한다.
    • startupo_log와 같은 instance 진단 정보를 저장한다.
    • local database 자체는 복제 되지 않는다.
  • Config
    • Sharded Cluster에서 각 Shard의 정보를 저장한다.

Collection 특징

  • 동적 스키마를 갖고 있어서 스키마를 수정하려면 필드 값을 추가/수정/삭제 하면된다.
  • Collection 단위로 Index를 생성할 수 있다.
  • Collection 단위로 Shard를 나눌 수 있다.

Document 특징

  • JSON 형태로 표현하고 BSON(Binary JSON) 형태로 저장한다.
  • 모든 Document에는 "_id" 필드가 있고, 없이 생성하면 ObjectId 타입의 고유한 값을 저장한다.
  • PK 와 같다.
  • 생성 시, 상위 구조인 Database나 Collection이 없다면 먼저 생성하고 Document를 생성한다.
  • Document의 최대 크기는 16MB 이다.

요약

  • Database -> Collection -> Document -> Field 순으로 구조가 형성되어 있다.
  • admin, config, local database는 MongoDB를 관리하는데 사용된다.
  • Collection은 동적 스키마를 갖는다.
  • Document는 JSON 형태로 표현되고 BSON 형태로 저장된다.
  • Document는 고유한 "_id"필드를 항상 갖고있다.
  • Document의 최대 크기는 16MB로 고정되어 있다.
728x90

'DB' 카테고리의 다른 글

[Redis] Data Type (Strings, Lists, Sets, Hashes)  (0) 2024.02.23
[Redis] Redis란?  (0) 2024.02.20
SQL VS NoSQL (MongoDB 공부 전 )  (0) 2024.02.18
Mysql Procedure  (0) 2024.02.03
Index Hint  (0) 2024.01.20