반응형
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라는 타입을 사용한다. Document는 XML,JSON,YAML과 같이 구조화된 데이터 타입으로 복잡한 계층 구조를 표현 할 수 있다.
NoSQL과 RDBMS의 차이
: NoSQL은 데이터를 저장하는데 Key에 대한 PUT/GET만 지원한다.
공통적으로 아래의 기능들을 고민해봐야 한다.
- Sorting
- Join
- Grouping
- Range Query
- Index
NoSQL 사용시 주의사항
- NoSQL의 적용타당성
- 용도에 맞는 NoSQL제품 채택
- 데이터 모델링
- RDBMS와 혼용
- 적용시 하드웨어와의 설계 호환성
- 운영 이슈 및 BackUP
반응형
'프로그래밍 > DataBase' 카테고리의 다른 글
Oracle SQL Developer 3.2.2 (0) | 2013.05.23 |
---|---|
[NoSQL] Riak - Full Text Search (0) | 2013.03.18 |
[NoSQL] 클라우드 서비스에 적용되는 데이터베이스 솔루션 (0) | 2013.03.05 |
카산드라 - Apache Cassandra (0) | 2013.01.29 |
[Mobile] SQLite - 모바일기기 (0) | 2012.11.07 |