MongoDB
대표적인 NoSQL DB
- 단일 Collection의 document단위로 Atomicity와 Transaction 기능을 제공한다.
- 빅데이터용 DB는 아니지만 sharding으로 확장성도 제공한다.
Redis
대표적인 in-memory DB
- 서버가 다운되면 유실될 수 있다! (잘못사용하면 큰일남)
- 자료구조를 먼저 정하고 사용한다. (자료구조 특징을 이해해야한다)
- 싱글스레드로 lock을 제공하지 않으면서도 빠르게 데이터를 조회할 수 있다.
Apache HBase
대표적인 빅데이터용 DB
- 단일 key로만 데이터를 저장하고 조회함 (장점이자 단점)
- 데이터가 아무리 많아져도 단일 key에 대한 조회 속도는 느리지 않다.
- key를 제대로 사용하는 방법을 익혀야 한다.
Apache Druid
대표적인 cube형 DB
- 집계 연산에 최적화되어있다.
- 대용량 데이터의 합, 카운트 등 연산을 빠르게 수행한다.
- 집계할 조건에 맞춰 cube modeling을 미리 해야한다.
- cube modeling을 위한 개념과 방법을 배워야 한다.
NoSQL 사용 시 단점 1 - 국내 모 대기업 cassandra 사용 사례
- 고가의 oracle DB와 머신 만큼비용이 들어갔다고 한다.
- node 추가 시 동기화 작업 발생으로 장애가 발생했다고 한다.
NoSQL 사용 시 단점 2 - 일본 유명 대기업 게임사에서 mongoDB를 사용 사례
- 쓰기를 할 경우 database에 lock이 걸려 장애가 발생했다고 한다.
- 문제를 해결할 수 없어서 node를 80개로 늘렸다고 한다.
728x90
반응형
'DATA' 카테고리의 다른 글
로그란? & 로그 수집 아키텍처 (0) | 2023.01.11 |
---|---|
MongoDB 기본 개념 (0) | 2022.12.26 |
MongoDB란? windows 설치하기 / Studio 3T, Compass 사용하기 (0) | 2022.12.24 |
[Fastcampus 데이터 엔지니어링] 데이터 엔지니어는 어떤 언어를 배워야 할까? (0) | 2022.12.03 |
[올윈에듀] 인공지능 기술과 산업별 실무적용 기법 (0) | 2022.10.26 |
댓글