NoSQL

From CS Wiki

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]