728x90
반응형
SMALL
MongoBD는 MySQL과 같은 관계형 RDBMS와 다른 구조를 가진다. RDBMS의 Cluster와 DataBase는 동일하지만 RDBMS의 Table, Row, Column의 개념이 MongoDB에서는 Collection, Document, Field의 개념으로 보면 될 것 같다.
✅ MongoDB 구조
🔎 Database 특징
Database | Description |
admin | - 인증과 권한 부여 역할 - 일부 관리 작업을 하려면 admin Database에 대한 접근이 필요 |
local | - 모든 mongodb instance는 local database를 소유한다. - oplog와 같은 replication 절차에 필요한 정보를 저장한다. - startup_log와 같은 instance 진단 정보를 저장한다. - local database 자체는 복제되지 않는다. |
config | - sharded cluster에서 각 shard의 정보를 저장한다. |
🔎 Collection 특징
- 동적 스키마를 갖고 있어서 스키마를 수정하려면 필드 값을 추가 / 수정/ 삭제하면 된다.
- Collection 단위로 Index를 생성할 수 있다.
- Collection 단위로 Shard를 나눌 수 있다.
MySQL과 같은 경우에는 테이블을 생성해야지 데이터를 삽입할 수 있으나 MongoDB는 Document를 삽입하면 자동으로 Collection이 생성된다.
db.message.insertOne({
user: "haki",
age: "19",
log: "Hello MongoDB!"
})
MongoDB는 스키마가 자유로워서 스키마를 먼저 만들지 않고도 데이터를 삽입할 수 있다.
생성한 DB는 find()함수를 통해 확인할 수 있다.
db.message.find()
🔎 Document 특징
- JSON 형태로 표현하고 BSON(Binary JSON) 형태로 저장한다.
- 모든 Document에는 "_id" 필드가 있고, 없이 생성하면 Objectid 타입의 고유한 값을 저장한다.
- 생성 시, 상위 구조인 Database나 Collection이 없다면 먼저 생성하고 Document를 생성한다.
- Document의 최대 크기는 16MB이다.
✅ Summary
- Database -> Collection -> Document -> Field 순으로 구조가 형성되어 있다.
- admin, config, local database는 MongoDB를 관리하는데 사용된다.
- Collection은 동적 스키마를 갖는다.
- Document는 고유한 "_id" 필드를 항상 갖고 있다.
- Document의 최대 크키는 16MB로 고정되어 있다.
728x90
반응형
'Database > MongoDB' 카테고리의 다른 글
[MongoDB] SQL vs MQL (0) | 2023.03.28 |
---|---|
[MongoDB] Replica Set vs Sharded Cluster (0) | 2023.03.25 |
[MongoDB] Sharded Cluster (0) | 2023.02.01 |
[MongoDB] Replica Set (0) | 2023.01.30 |