MongoDB 란?
대표적인 NoSQL, Document DB
Mongo는 Humongous 에서 따온 말로, 엄청나게 큰 DB 라는 의미
-> 대용량 데이터를 처리하기 좋게 만들어짐
RDB vs. NoSQL
1. RDB ?
- Relational DataBase 즉, 관계형 데이터베이스.
- 자료들의 관계를 주요하게 다룸
- SQL 질의어를 사용하기 위해 데이터를 구조화해야함.
2. NoSQL ?
- Non SQL 또는 Not Only SQL
- 구조화된 질의어를 사용하지 않는 데이터베이스
- 자료 간의 관계에 초점을 두지 않음
- 데이터를 구조화하지 않고, 유연하게 저장함
NoSQL 을 사용하는 이유
- SQL을 사용하기 위해서는 데이터를 구조화하는 것이 필수 (DDL)
-> 스키마에 정의된 데이터가 아니면 저장할 수 없는 제약이 따름
- NoSQL을 사용하면 사전작업 없이 데이터 베이스를 사용할 수 있음
-> 데이터베이스 작업에 크게 관여하지 않고 프로젝트를 빠르게 진행할 수 있음
MongoDB 기본 개념
1. Database
- 하나 이상의 collection을 가질 수 있는 저장소
- SQL에서의 database 와 유사
2. Collection
- 하나 이상의 Document가 저장되는 공간
- SQL 에서의 table 과 유사
- 하지만, collection이 dcoument의 구조를 정의하진 않음
3. Document
- MongoDB에 저장되는 자료
- SQL에서 row 와 유사하지만 구조제약 없이 유연하게 저장 가능
- JSON과 유산, BSON 을 사용하여 다양한 자료형을 지원
- 1) ObjectID
- 각 document의 유일한 키 값, SQL의 primary key와 유사
- 하나씩 증가하는 값이 아닌 document를 생성할 때 자동으로 생성되는 값
- timestamp + random value + auto increament
'Node.js' 카테고리의 다른 글
14. CORS (0) | 2022.03.11 |
---|---|
13. CRUD (0) | 2022.03.07 |
11. req.params 과 req.body (0) | 2022.02.27 |
10. 구조 분해 할당 ( Destructiong assignment) (0) | 2022.02.27 |
9. 용어 정리 (0) | 2022.02.27 |