개발새발

mongoDB 특징 본문

Project/utube 사이트

mongoDB 특징

재래김유진 2022. 11. 6. 23:06
728x90
반응형

몽고디비의 특징 중 하나는 자바스크립트 문법을 사용한다는 것이다. 

노드도 자바스크립트를 사용하므로 데이터베이스마저 몽고디비를 사용한다면 자바스크립트만 사용하여 웹 애플리케이션을 만들 수 있게 되는 것이다. 

하나의 언어만 사용한다면 생산성도 높다. 하지만 몽고디비는 흔히 사용하는 RDBMS와는 다른 NoSQL이므로 특징을 잘 알아야 한다.

 

 

[NoSQL vs SQL]

  SQL NoSQL
1 규칙에 맞는 데이터 입력 자유로운 데이터 입력
2 테이블 간 JOIN 지원 컬렉션 간 JOIN 미지원
3 안정성, 일관성 확장성, 가용성
4 용어(테이블, 로우, 컬럼) 용어(컬렉션, 도큐먼트, 필드)

 

1. NoSQL에는 고정된 테이블이 없다. SQL의 테이블과 상응하는 컬렉션이라는 개념이 있긴 하지만, 컬럼을 따로 정의하진 않는다. 

ex) user라는 컬렉션(테이블)이 있다고 한다면 어떤 도큐먼트(로우)에는 name, age, married 데이터가 입력되어 있고, 어떤 도큐먼트(로우)에는 name, phone, createdAt, updatedAt 등의 데이터가 들어갈 수 있다.

 

 

2. NoSQL은 JOIN 기능이 없다. JOIN을 흉내낼 수는 있지만 하나의 쿼리로 여러 테이블을 합치는 작업이 항상 가능하진 않음.

 

 

3. 트랜잭션도 안되었었고(4.2부터 지원) JOIN도 안 되지만 몽고디비를 사용하는 이뉴는 확장성과 가용성 때문이다.

데이터의 일관성을 보장해주는 기능이 약한 대신 데이터를 빠르게 넣을 수 있고, 쉽계 여러 서버에 분산할 수 있다.

 

 

 

 

SQL과 NoSQL은 각각 특징이 다르므로 알맞은 곳에 사용하면 된다. 

예를 들어 항공사 예약 시스템의 경우 비행기 표에 관한 정보가 모든 항공사에 일관성 있게 전달되어야 하므로 예약 처리 부분의 데이터베이스는 MySQL을 사용한다.

대신 핵심 기능 외의 빅데이터, 메시징, 세션 관리 등에는 확장성과 가용성을 위해 몽고디비를 사용할 수도 있다.

 

 

728x90
반응형

'Project > utube 사이트' 카테고리의 다른 글

몽고DB 클러스터 생성 및 연결하기  (1) 2022.11.06
Comments