NoSQL: Difference between revisions
From CS Wiki
No edit summary |
No edit summary |
||
(One intermediate revision by the same user not shown) | |||
Line 3: | Line 3: | ||
;ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템 | ;ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템 | ||
= NoSQL의 데이터 모델 종류 = | == NoSQL의 특징 == | ||
== Key/Value Store == | ;[[BASE]] | ||
* Basically Available | |||
* Soft-State | |||
* Eventually Consistent | |||
== NoSQL의 데이터 모델 종류 == | |||
=== Key/Value Store === | |||
* Unique한 Key에 하나의 Value를 가지고 Key 기반의 get, put, delete 기능제공 | * Unique한 Key에 하나의 Value를 가지고 Key 기반의 get, put, delete 기능제공 | ||
* Put(Key, Value), Value := get(Key) 형태의 API로 접근 | * Put(Key, Value), Value := get(Key) 형태의 API로 접근 | ||
* 빠른 처리가 가능 | * 빠른 처리가 가능 | ||
* '''대표적 DBMS''': Redis, | * '''대표적 DBMS''': Redis, [[다이나모DB]], Memcache | ||
== Column Family Store == | === Column Family Store === | ||
* 한 key에 한 value만을 두는 단점을 극복 | * 한 key에 한 value만을 두는 단점을 극복 | ||
* Column Value의 묶음 | * Column Value의 묶음 | ||
* Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재 | * Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재 | ||
* '''대표적 DBMS''': | * '''대표적 DBMS''': [[카산드라]], HBase | ||
== Document Store == | === Document Store === | ||
* 저장되는 Value의 데이터 타입이 Document 타입 사용 | * 저장되는 Value의 데이터 타입이 Document 타입 사용 | ||
* XML, JSON과 같이 구조화된 데이터 타입 | * XML, JSON과 같이 구조화된 데이터 타입 | ||
* 복잡한 검색 조건을 통한 데이터 추출 가능 | * 복잡한 검색 조건을 통한 데이터 추출 가능 | ||
* '''대표적 DBMS''': CouchDB, | * '''대표적 DBMS''': CouchDB, [[몽고DB]], Hypertable | ||
== Graph Store == | === Graph Store === | ||
* 그래프로 데이터를 표현 | * 그래프로 데이터를 표현 | ||
* 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반 | * 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반 | ||
* 시맨틱웹과 온톨로지라는 분야에서 활용 | * 시맨틱웹과 온톨로지라는 분야에서 활용 | ||
* '''대표적 DBMS''': Neo4J, AllegroGraph | * '''대표적 DBMS''': Neo4J, AllegroGraph | ||
== 같이 보기 == | |||
* [[CAP 이론]] | |||
* [[PACELC 이론]] | |||
* [[BASE]] |
Latest revision as of 23:18, 22 November 2019
Not only Structured Query Language
- ACID를 우선으로 하는 관계형데이터베이스의 제약에서 벗어나 비정형, 고용량 데이터의 신속한 처리를 위한 BASE속성의 데이터베이스 시스템
NoSQL의 특징[edit | edit source]
- Basically Available
- Soft-State
- Eventually Consistent
NoSQL의 데이터 모델 종류[edit | edit source]
Key/Value Store[edit | edit source]
- Unique한 Key에 하나의 Value를 가지고 Key 기반의 get, put, delete 기능제공
- Put(Key, Value), Value := get(Key) 형태의 API로 접근
- 빠른 처리가 가능
- 대표적 DBMS: Redis, 다이나모DB, Memcache
Column Family Store[edit | edit source]
- 한 key에 한 value만을 두는 단점을 극복
- Column Value의 묶음
- Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재
- 대표적 DBMS: 카산드라, HBase
Document Store[edit | edit source]
- 저장되는 Value의 데이터 타입이 Document 타입 사용
- XML, JSON과 같이 구조화된 데이터 타입
- 복잡한 검색 조건을 통한 데이터 추출 가능
- 대표적 DBMS: CouchDB, 몽고DB, Hypertable
Graph Store[edit | edit source]
- 그래프로 데이터를 표현
- 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반
- 시맨틱웹과 온톨로지라는 분야에서 활용
- 대표적 DBMS: Neo4J, AllegroGraph