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 분산 허용 : 물리적 네트워크가 분리되어 있더라도 시스템이 동작해야 된다.

 

Visual Guide to NoSQL Systems - Nathan Hurst's Blog (nahurst.com)


NoSQL은 일반적으로 확장성을 갖는 것을 목표로 한다.
확장성을 갖기 위해서는 분산 허용에 초점을 둬야 하고 
데이터 모델에 따라 CP / AP 시스템이 나뉜다.

 


NoSQL의 데이터 모델

  • 키-값 모델 ex) Redis
  • 정렬된 키-값 모델 (컬럼 모델) ex) HBase, Cassandra
  • 문서 모델 ex) MongoDB, CouchBase

 

NoSQL 특징

  • Schema-less
  • 입출력이 자유로움
  • 트랜잭션, Join 등 지원하지 않음


NoSQL 장점

  • 클라우드 컴퓨팅 환경에 적합 (수평 확장성)
  • 유연한 데이터 모델
  • 고성능 빅데이터 처리 (고 가용성)

 

클라우드 환경과 빅데이터 개발이 많아지면서 noSQL의 사용도 많아지고 있다.

캐시 서버 구축을 위해 Redis를 공부하다가 noSQL도 공부하게 되었다.

 

 


 

참고

https://youtu.be/Dvi_TsBMFJo

 

반응형