본문 바로가기
Database

[NoSQL] NoSQL 입문 / 개념

by 비전공자 기록광 2022. 8. 2.
반응형

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

 

반응형

댓글