무한에 가까운 확장성을 제공하는 NoSQL Database
로,
RDBMS
와는 다르게 테이블 스키마가 유동적이기 때문에
다양한 형태들의 데이터를 유연하게 처리할 수 있다.
하지만 분산형 구조이기 때문에 분산 시스템의 특징을 반영한다.
MongoDB는 문서지향 데이터베이스이다.
객체지향 프로그래밍과 잘 맞고 JSON
을 사용할 때 아주 유용하다.
따라서 자바스크립트를 기반으로 하는 Node.js와 호환이 좋아
Node.js에서 가장 많이 사용되는 데이터베이스이다.
MySQL 용어 | MongoDB 용어/개념 |
database | database |
table | collection |
index | index |
row | JSON document |
column | JSON field |
join | embedding and linking |
primary key | _id field |
group by | aggregation |
SQL 구문 | MongoDB 구문 |
CREATE TABLE USERS(a Number, b Number) | db.createCollection("mycoll") |
INSERT INTO USERS VALUES(3, 5) | db.users.insert({a:3, b:5}) |
SELECT * FROM users | db.users.find() |
SELECT a,b FROM users WHERE age=20 | db.users.find({age:20}, {a:1, b:1}) |
SELECT *FROM users WHERE age=20 ORDER BY name | db.users.find({age:20}).sort({name:1}) |