본문 바로가기
DATA

NoSQL 종류 - MongoDB, Redis, Hbase, Druid

by bzerome240 2022. 12. 25.

https://medium.com/geekculture/sql-vs-nosql-which-database-to-choose-347839f4513f

 


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
반응형

댓글