Database
[NoSQL] NoSQL 입문 / 개념
비전공자 기록광
2022. 8. 2. 17:51
반응형
NoSQL
NoSQL이란 Not Only SQL 라고 불리는 구조가 없는 데이터를 저장하기 위한 분산 저장 시스템을 말한다.
일반적으로 RDBMS와 반대 개념으로 사용된다.
NoSQL의 예시로 MongoDB(Document DB), Redis(Key-Value DB) 등이 있다.
NoSQL을 이해하기 위해서 CAP 이론이 같이 설명 된다.
CAP 이론
CAP 이론이란 분산 컴퓨터 시스템 구조는 일관성, 가용성, 분산 허용 이 3개 모두를 만족할 수는 없다, 최대 2가지만 만족할 수 있다는 이론이다.
데이터 관리 시스템을 결정할때 일관성, 과용성, 분산 허용 중 초점을 어디에 더 두어야 할지에 따라 결정할 수 있다는 것이다.
- Consistency 일관성 : 각 클라이언트는 동일한 데이터 값을 가져야 한다.
- Availabilty 가용성 : 모든 클라이언트는 항상 읽고 쓸 수 있어야 한다.
- Partitioning Tolerance 분산 허용 : 물리적 네트워크가 분리되어 있더라도 시스템이 동작해야 된다.
NoSQL은 일반적으로 확장성을 갖는 것을 목표로 한다.
확장성을 갖기 위해서는 분산 허용에 초점을 둬야 하고
데이터 모델에 따라 CP / AP 시스템이 나뉜다.
NoSQL의 데이터 모델
- 키-값 모델 ex) Redis
- 정렬된 키-값 모델 (컬럼 모델) ex) HBase, Cassandra
- 문서 모델 ex) MongoDB, CouchBase
NoSQL 특징
- Schema-less
- 입출력이 자유로움
- 트랜잭션, Join 등 지원하지 않음
NoSQL 장점
- 클라우드 컴퓨팅 환경에 적합 (수평 확장성)
- 유연한 데이터 모델
- 고성능 빅데이터 처리 (고 가용성)
클라우드 환경과 빅데이터 개발이 많아지면서 noSQL의 사용도 많아지고 있다.
캐시 서버 구축을 위해 Redis를 공부하다가 noSQL도 공부하게 되었다.
참고
반응형