일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- MariaDB
- java
- Ajax
- 오라클
- JQuery
- INSERT
- github
- 기출문제
- JAXBContext
- 마스킹
- 구멍가게코딩단
- egov
- vue.js
- bulkinsert
- jdbc
- query
- vue Carousel
- Tomcat
- insertAll
- mybatis
- checkbox
- mysql
- 부스트코스
- JSON
- vscode tutorial
- NoSQL
- swipe 배너
- 정보처리산업기사
- spring
- jsp
- Today
- Total
개발새발
mongoDB 특징 본문
몽고디비의 특징 중 하나는 자바스크립트 문법을 사용한다는 것이다.
노드도 자바스크립트를 사용하므로 데이터베이스마저 몽고디비를 사용한다면 자바스크립트만 사용하여 웹 애플리케이션을 만들 수 있게 되는 것이다.
하나의 언어만 사용한다면 생산성도 높다. 하지만 몽고디비는 흔히 사용하는 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을 사용한다.
대신 핵심 기능 외의 빅데이터, 메시징, 세션 관리 등에는 확장성과 가용성을 위해 몽고디비를 사용할 수도 있다.
'Project > utube 사이트' 카테고리의 다른 글
몽고DB 클러스터 생성 및 연결하기 (1) | 2022.11.06 |
---|