NoSQL DB 의 종류
#
Find similar titles
- 최초 작성자
- 최근 업데이트
Structured data
- Category
- Database
Table of Contents
NoSQL DB의 종류 #
NoSQL DB의 종류에는 크게 4가지 유형이 존재한다. DOCUMENT STORE 또는 DOCUMENT DATABASE, WIDE COLUMN STORE 또는 WIDE COLUMN DATABASE, KEY-VALUE STORE 또는 KEY-VALUE DATABASE, 그리고 GRAPH DATABASE가 있다. 본 글에서는 이런 NoSQL DB의 종류들과 그 개념들을 간략하게 알아보도록 한다.
WIDE COLUMN DATABASE #
그림1 COLUMN FAMILIES를 포함하는 KEY SPACE
그림2 3행을 포함하는 COLUMN FAMILIES. 행마다 각각의 칼럼을 가진다.
행마다 키와 해당 값을 저장할 때마다 각각 다른값의 다른 수의 스키마를 가질 수 있다. '그림2'를 참고하면 사용자의 이름(key)에 해당하는 값에 스키마들이 각각 다름을 볼 수 있다. 이러한 구조를 갖는 WIDE COLUMN DATABASE 는 대량의 데이터의 압축, 분산처리, 집계 쿼리 (SUM, COUNT, AVG 등)및 쿼리 동작 속도 그리고 확장성이 뛰어난 것이 그 대표적 특징이라 할 수 있다.
대표적인 DATABASE #
DOCUMENT DATABASE #
그림3 테이블과 DOCUMENT 예시
출처: https://inyl.github.io/programming/2017/05/09/database.html
테이블의 스키마가 유동적, 즉 레코드마다 각각 다른 스키마를 가질 수 있다. 보통 XML, JSON과 같은 DOCUMENT를 이용해 레코드를 저장한다. 트리형 구조로 레코드를 저장하거나 검색하는 데 효과적이다.
대표적인 DATABASE #
GRAPH DATABASE #
그림4 Neo4j 예시
출처: https://database.guide/what-is-a-graph-database/#more-896
데이터를 노드로(그림4에서 파란, 녹색 원) 표현하며 노드 사이의 관계를 엣지(그림4에서 화살표)로 표현, RDBMS 보다 Performance가 좋고 유연하며 유지보수에 용이한 것이 특징. Social networks, Network diagrams 등에 사용할 수 있다.
대표적인 DATABASE #
KEY-VALUE DATABASE #
그림4 KEY-VALUE DATABASE 예시
기본적인 패턴으로 KEY-VALUE 하나의 묶음(Unique)으로 저장되는 구조로 단순한 구조이기에 속도가 빠르며 분산 저장시 용이하다.Key 안에 (COLUMN, VALUE) 형태로 된 여러 개의 필드, 즉 COLUMN FAMILIES 갖는다. 주로 SERVER CONFIG, SESSION CLUSTERING등에 사용되고 엑세스 속도는 빠르지만, SCAN에는 용이하지 않다.