NoSQL 데이터 모델
기존 RDBMS와는 다른 관점에서 바라봐야함. NOSQL 대부분은 ACID를 지원하지 않고 원자적 트랜잭션(Atomic Transaction)을 지원한다. 가능하다면 원자성이 필요한 범위를 하나의 집합 내로 한정하는 것이 바람직. 집합 지향적으로 모델링하게 되면 자연스럽게 데이터 중복이 발생한다. 데이터 중복을 허용함으로써, 애플리케이션에서의 쿼리 효율성에 집중하도록 설계해야함.
Key-Value 모델
Key를 이용해 value에 접근하는 구조. 어떠한 형태(List, Set 등)의 데이터든 저장이 가능함. 각 DB별로 value의 최고 저장 size가 있으므로 이점을 유의. Key를 기반으로 정렬/비정렬 가능한점이 다름.
Document 모델
집합 구조를 문서형태로 확인 가능. document하나의 크기 제한이 있으므로 유의. 집합 내의 필드를 이용해 쿼리 할수 있음. 문서는 주로 JSON 또는 BSON(Binary JSON)이다. 문서내의 값들은 필드라는 형태로 존재.
Column Family 모델
두 단계의 집합(Map) 구조. Row Key에 다수의 column&value가 들어감. Row key로 자동정렬, column key로 자동정렬 가능.(각 NoSQL마다 상이) 하나의 행에 수천~수만개의 컬럼을 저장가능.
Graph 모델
Entity와 Entity 사이의 관계를 저장하는 형태. 대부분 분산DB가 아님. RDB처럼 ACID를 지원.
반응형
'빅데이터 > nosql' 카테고리의 다른 글
NoSQL강의) DynamoDB 개요, 특징 및 설명 (392) | 2019.07.23 |
---|---|
NoSQL강의) HBase 개요, 특징, client 설명 + Apache Phoenix (381) | 2019.07.23 |
NoSQL강의) Column Family Database 개요 및 설명 (390) | 2019.07.22 |
NoSQL강의) Redis 개요, 기본사용법, command 설명 및 Jedis 예제 (251) | 2019.07.22 |
NoSQL강의) Key-value Database 개요 및 설명 (267) | 2019.07.22 |
NoSQL강의) NoSQL 개요 및 기본이론 (257) | 2019.07.22 |