MongoDB
10gen 사에서 개발된 높은 성능과 확장성을 가지고 있는 데이터베이스
MongoDB 사용하는 이유
memcached, Tokyo Tyrant, Redis 와 같은 key-value 형 데이터베이스완 다른 타입
여러 용도로 사용할 수 있는 NoSQL 데이터베이스
Schemaless
스키마는 정의하지 않지만 관계형 데이터베이스와 마찬가지로 임의의 key 값에 대한 복잡한 검색이 가능하다
관계형 데이터베이스와 비교해 응답 속도가 빠르고, 인덱스를 추가하여 처리 속도를 더 빠르게 할 수 있다
특징
- Schemaless
- BSON(JSON을 바이너리화 한것) 형식으로 저장, value로 key와 짝궁
데이터베이스 테이블 레코드 문서형 데이터베이스의 용어 데이터베이스 콜렉션 document
장점
- 스키마 없이 사용
- 프로그램 코드만 수정 가능
- 스키마와 프로그램 코드 사이의 정합성에 신경쓰지 않아도 된다
약점
- JOIN이나 트랜잭션성 처리 불가능 : 트랜젹션싱 처리가 필요한 경우-관계형 데이터베이스가 적합
- 디스크에 쓰기가 비동기식 : 데이터 유실 가능성 존재 <-> 트레이드오프로 빠른 응답 속도 가능
그룹 처리
검색조건 유연하지만 그룹처리(GROUP BY) 는 방식이 독특해서 어렵다
JavaScript로 MongoDB 쉘을 제공하고 있다
도입 사례
foursquare, Preferred Infrastructure, 아메바피아
사용 케이스
컬럼이 고정되지 않은 경우
- 앙케이트 응답 데이터와 같이 컬럼이 고정되기 어려운 경우
- 해석 데이터처럼 칼럼이 유동적으로 변할 가능성이 있을 경우
'2021-1 > RDA' 카테고리의 다른 글
NoSQL | HBase (컬럼형 스토어) (0) | 2021.10.05 |
---|---|
NoSQL | Cassandra (0) | 2021.10.05 |
NoSQL | Redis (휘발성/영속성 ket-value 형 스토어) (0) | 2021.10.05 |
NoSQL | Tokyo Tyrant ( 영속성 key-value형 스토어) (0) | 2021.10.05 |
NoSQL | memcached (0) | 2021.10.05 |