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 |