kok202
[2019.03.13] RDBMS, NoSQL, Hadoop

2019. 3. 13. 14:28[정리] 데이터베이스




 제품

장단점 

 비고

 RDBMS

 MySQL

 OracleDB

 PostgreSQL

 장점

 + 보안, 안전성이 좋음

 + 관리하는 GUI가 좋음

 + 복잡한 쿼리 수행 최적화 되있음

 + 어떤 순간에도 일관성 유지 

 + 동시성도 좋음

 비즈니스 데이터

 엄격한 트랜잭션 처리 ACID

 Atomic 보장

 안전성 보장

 단점

 - 상대적으로 고비용이다.

 NoSQL

 

 Elastic search

 Cassandra

Mongo DB

 장점

 + 용량 대비 비용이 좋음

 + 동시 접속성이 좋음

 + 단순한 싱글 쿼리에 적합

 + 데이터 추가가 유연함

 기본적으로 Join 존재 x -> 어플리케이션에서 담당해야함.

 API 레벨에서 기능을 가져다 쓰는 용도

 SQL 방식의 코딩이 없음

 단점

 - GUI 가 별로없음

 - 보안 이슈가 RDBSMS 보다 낮음 

 Redis

 NoSQL 이면서 동시에 In memory DB
 너무 간단해서 약간 그냥 서버에 해쉬 테이블 하나만 띄워논 느낌 

하둡

HBase

 + 대용량에 쓰기에 적합

 - GUI 가 별로없음

 하둡의 전통적인 역할

 데이터를 아카이브
 로그데이터를 배치로 처리

 실시간 대화형

 스트리밍 데이터처리




NoSQL이 나오기까지

RDBMS 는 스키마, 구조가 있으므로 특정 컬럼에 캐쉬, 인덱스를 걸어서 검색을 빨리 할 수가 있다.

하지만 그런만큼 제약이 있고 복잡하고 무겁다.

심지어 최근에는 서비스 규모가 커지는 와중에 동시성을 보장하려면 데이터베이스가 점점 더 무거워진다.

(동시성을 보장하려면 write, read 할 때 특정 부분을 lock 해줘야하므로)


좀 더 편하게 문서를 아무렇게 저장하고싶다 

-> RDBMS 에서는 테이블 만들고 칼럼만들고 너무 귀찮다. 

-> 차라리 모든것은 object 개념으로 가져가자.

-> JSON 문서로 그냥 저장해버리자




'[정리] 데이터베이스' 카테고리의 다른 글

TSDB 개요  (0) 2019.07.26
조인 정리  (0) 2019.05.10
[2019.03.14] Consistent hashing  (0) 2019.03.14
[2019.03.13] RDBMS, NoSQL 데이터 모델 비교  (0) 2019.03.13