NoSQL 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 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 기능제공 | * 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, DynamoDB, Memcache | ||
== Column Family Store == | |||
* 한 key에 한 value만을 두는 단점을 극복 | * 한 key에 한 value만을 두는 단점을 극복 | ||
* Column Value의 묶음 | * Column Value의 묶음 | ||
* Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재 | * Key 안에 (Column, Value) 조합으로 된 여러 개의 필드가 존재 | ||
* '''대표적 DBMS''': | * '''대표적 DBMS''': Cassandra, HBase | ||
== Document Store == | |||
* 저장되는 Value의 데이터 타입이 Document 타입 사용 | * 저장되는 Value의 데이터 타입이 Document 타입 사용 | ||
* XML, JSON과 같이 구조화된 데이터 타입 | * XML, JSON과 같이 구조화된 데이터 타입 | ||
* 복잡한 검색 조건을 통한 데이터 추출 가능 | * 복잡한 검색 조건을 통한 데이터 추출 가능 | ||
* '''대표적 DBMS''': CouchDB, | * '''대표적 DBMS''': CouchDB, MongoDB, Hypertable | ||
== Graph Store == | |||
* 그래프로 데이터를 표현 | * 그래프로 데이터를 표현 | ||
* 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반 | * 개체(Node, Vertex)와 그에 대한 연결(Edge) 기반 | ||
* 시맨틱웹과 온톨로지라는 분야에서 활용 | * 시맨틱웹과 온톨로지라는 분야에서 활용 | ||
* '''대표적 DBMS''': Neo4J, AllegroGraph | * '''대표적 DBMS''': Neo4J, AllegroGraph | ||