NoSQL: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
'''N'''ot '''o'''nly '''S'''tructured '''Q'''uery '''L'''anguage | '''N'''ot '''o'''nly '''S'''tructured '''Q'''uery '''L'''anguage | ||
;ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템 | ;ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템 | ||
= NoSQL의 데이터 모델 종류 = | |||
== Key/Value Store == | |||
* Unique한 Key에 하나의 Value를 가지고 Key 기반의 get, put, delete 기능제공 | |||
* Put(Key, Value), Value := get(Key) 형태의 API로 접근 | |||
* 빠른 처리가 가능 | |||
* '''대표적 DBMS''': Redis, DynamoDB, Memcache | |||
== Column Family Store == | |||
* 한 key에 한 value만을 두는 단점을 극복 | |||
* Column Value의 묶음 | |||
* Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재 | |||
* '''대표적 DBMS''': Cassandra, HBase | |||
== Document Store == | |||
* 저장되는 Value의 데이터 타입이 Document 타입 사용 | |||
* XML, JSON과 같이 구조화된 데이터 타입 | |||
* 복잡한 검색 조건을 통한 데이터 추출 가능 | |||
* '''대표적 DBMS''': CouchDB, MongoDB, Hypertable | |||
== Graph Store == | |||
* 그래프로 데이터를 표현 | |||
* 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반 | |||
* 시맨틱웹과 온톨로지라는 분야에서 활용 | |||
* '''대표적 DBMS''': Neo4J, AllegroGraph |
Revision as of 08:51, 11 March 2019
Not only Structured Query Language
- ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템
NoSQL의 데이터 모델 종류
Key/Value Store
- Unique한 Key에 하나의 Value를 가지고 Key 기반의 get, put, delete 기능제공
- Put(Key, Value), Value := get(Key) 형태의 API로 접근
- 빠른 처리가 가능
- 대표적 DBMS: Redis, DynamoDB, Memcache
Column Family Store
- 한 key에 한 value만을 두는 단점을 극복
- Column Value의 묶음
- Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재
- 대표적 DBMS: Cassandra, HBase
Document Store
- 저장되는 Value의 데이터 타입이 Document 타입 사용
- XML, JSON과 같이 구조화된 데이터 타입
- 복잡한 검색 조건을 통한 데이터 추출 가능
- 대표적 DBMS: CouchDB, MongoDB, Hypertable
Graph Store
- 그래프로 데이터를 표현
- 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반
- 시맨틱웹과 온톨로지라는 분야에서 활용
- 대표적 DBMS: Neo4J, AllegroGraph