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, DynamoDB, Memcache
* '''대표적 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''': Cassandra, HBase
* '''대표적 DBMS''': [[카산드라]], HBase
== Document Store ==
=== Document Store ===
* 저장되는 Value의 데이터 타입이 Document 타입 사용
* 저장되는 Value의 데이터 타입이 Document 타입 사용
* XML, JSON과 같이 구조화된 데이터 타입
* XML, JSON과 같이 구조화된 데이터 타입
* 복잡한 검색 조건을 통한 데이터 추출 가능
* 복잡한 검색 조건을 통한 데이터 추출 가능
* '''대표적 DBMS''': CouchDB, MongoDB, Hypertable
* '''대표적 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]

BASE
  • 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

같이 보기[edit | edit source]