MongoDB
MongoDB는 문서지향(Document-Oriented) 저장소를 제공하는 NoSQL
데이터베이스 시스템이다.
NoSQL은 RDBMS(관계형 데이터베이스)와 달리 데이터 간의 관계를 정의하지 않는 점이 가장 큰 특징이다.
MongoDB 특징
MongoDB에서는 데이터가 Document
로 불리며, 이 데이터의 집합을 Collection(RDMS에서는 Table)
이라고 한다.
스키마 제약 없이 자유롭고, BSON(Binary JSON) 형태로 각 문서가 저장되며 배열(Array)이나 날짜(Date) 등
기존 RDMS에서 지원하지 않던 형태로도 저장할 수 있기 때문에
관계를 연결하는 JOIN이 필요없이 한 문서에 좀 더 이해하기 쉬운 형태 그대로 정보를 저장할 수 있는 이 특징이다.
문서지향 데이터베이스로, 객체지향 프로그래밍과 잘 맞고 JSON을 사용할 때 아주 유용하다.
따라서 자바스크립트를 기반으로 하는 Node.js와 호환이 매우 좋기 때문에, Node.js에서 가장 많이 사용되는 데이터베이스이다.
물론 MySQL 같은 관계형 데이터베이스 사용도 가능하다.
- Join이 없으므로 Join이 필요 없도록 데이터 구조화가 필요
- 다양한 종류의 쿼리문을 지원(필터링, 수집, 정렬, 정규표현식 등)
- 관리의 편의성
- 스키마 없는(Schemaless) 데이터베이스를 이용한 신속 개발. 필드를 추가하거나 제거하는 것이 매우 쉬워짐
- 쉬운 수평 확장성
- 인덱싱 제공
MySQL vs MongoDB
MySQL
과 MongoDB
용어에 차이가 있지만,
collection, JSON document, JSON field 등 많이 쓰이는 용어이니 외울 필요가 있다.
구문에서도 차이를 보이는데,
개인적으로 MongoDB의 구문이 SQL구문보다 더 쉬워보인다. 🙂
'데이터베이스 > MongoDB' 카테고리의 다른 글
[MongoDB] Mongoose 활용 (0) | 2024.04.02 |
---|---|
[MongoDB] MongoDB 설치 (0) | 2024.04.02 |