반응형

NoSQL

 : Not Only SQL - RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술.

 

Visual Guide to NoSQL Systems

 

* CAP 기반의 DB 분류

 

NoSQL의 특징

  • NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다.
  • RDBMS에 비해 휠씬 더 대용량의 데이터를 저장할 수 있다.
  • RDBMS와는 다르게 일반적인 서버 수십대를 연결해 데이터를 저장/처리한다.
  • 테이블 스키마가 유동적이다.

CAP 이론

  • Consistency : 분산된 노드 중 어느 노드로 접근하더라도 데이터값이 같아야 한다는 기능적 특징이다.(데이터 복제 중에 query가 되면, Consistency를 제공하지 않는 시스템의 경우 다른 데이터 값이 query 될 수 있다. )
  • Availability : 클러스터링된 노드 중 하나 이상의 노드가 FAIL이 되더라도, 정상적으로 요청을 처리할 수 있는 기능을 제공하는 특성.
  • Partition Tolenrance : 클러스터링 노드 간에 통신하는 네트워크가 장애를 겪더라도 정상적으로 서비스를 수행할 수 있는 기능.

NoSQL의 분류

  • Key/Value Store
  • Ordered Key/Value Store - Key/Value Store 와 저장방식은 동일하나. 데이터 내부적으로 Key순서로 Sorting 되어 저장된다. NoSQL은 RDBMS의 Order By와 같은 기능을 제공하지 않기 때문에 Sorting해서 보여주는 것이 용이하다.
  • Document Key/Value Store - Key/Value의 확장된 형태로 저장되는 Value의 데이터 타입이 Document라는 타입을 사용한다. DocumentXML,JSON,YAML과 같이 구조화된 데이터 타입으로 복잡한 계층 구조를 표현 할 수 있다.

NoSQL과 RDBMS의 차이

 : NoSQL은 데이터를 저장하는데 Key에 대한 PUT/GET만 지원한다.

     공통적으로 아래의 기능들을 고민해봐야 한다.

     - Sorting

     - Join    

     - Grouping

     - Range Query

     - Index

 

NoSQL 사용시 주의사항

  • NoSQL의 적용타당성
  • 용도에 맞는 NoSQL제품 채택
  • 데이터 모델링
  • RDBMS와 혼용
  • 적용시 하드웨어와의 설계 호환성
  • 운영 이슈 및 BackUP

 

 

 

반응형

+ Recent posts