NoSQL

오픈소스 비즈니스 컨설팅
이동: 둘러보기, 검색

NoSQL(Not-only SQL)을 정리 합니다.

RDBMS vs NoSQL

RDBMS 속성

Atomicity (원자성)
  • 트랜잭션 실행의 단일 상태(성공/실패)를 보장
  • 하나의 트랜잭션은 성공 또는 실패의 단일한 상태만 갖습니다. 즉 일부 실패, 일부 성공의 상태를 갖을 수 없습니다.
Consistency (일관성)
  • 성공적으로 완료된 트랜잭션의 데이터가 저장
Isolation (고립성)
  • 트랜잭션의 단독 실행을 보장 (트랜잭션간 간섭 방지)
Durability (지속성)
  • 성공적으로 실행된 트랜잭션의 데이터는 영원히 반영
  • RDBMS의 한계
  • 확장성의 한계
  • 고정된 스키마
  • 비용의 한계성

NoSQL 속성

  • 약 150종의 NoSQL 솔루션이 존재함
  • 장점 : 수평 확장성 (Scale-out), 유연한 Schema, 고성능, 저비용
  • 단점 : 높은 수준의 데이터 정합성을 지원하는 업무에 적합하지 않음
  • CAP 이론 : 2002년 버클리대학의 Eric Brewer 교수에 의해 발표된 분산 컴퓨팅 이론
Consistency (일관성)
  • 동시에 같은 데이터를 조회
Availability (가용성)
  • 항상 Read와 Write 가능 (단일 노드 관점)
Partition Tolerance (파티션 허용치)
  • 물리적 네트워크를 넘어서 동작 (노드간의 관계 관점)
  • CAP는 2가지만 만족할 수 있다.
  • CA 중심 : RDBMS
  • AP 중심 : NoSQL (Consistency 포기)
  • CP 중심 : NoSQL (Availability 포기)

NoSQL 분류 및 종류

NoSQL 분류

Key-value
  • Voldemort
  • MemcacheDB
  • Membase
  • Azure Table Storage
  • Chordless
  • HamsterDB
  • Scalien
  • Dynamo
  • Berkeley DB (Ordered Key-value)
  • Oracle NoSQL Database 11g R2
Column Family
  • Google BigTable
  • Amazon SimpleDB
  • Cloudata
  • Cloudera
  • HPCC
  • Stratosphere
  • Amazon Web Services
  • DataStax
Document
  • RethinkDB
  • RavenDB
  • MarkLogic Server
  • Clusterpoint Server
  • ThruDB
  • Terrastore
  • JasDB
  • 10gen
  • Cloudant
  • Couchbase
  • MarkLogic
Graph
  • Infinite Graph
  • Allegro Graph
  • OpenLink
  • HyperGraphDB
  • FlockDB
  • Trinity
  • InfoGrid
  • Sones
  • Bigdata
  • DEX
  • Virtusos
  • GraphBase
  • BrightstarDB
  • Meronymy
  • NewSQL : VoltDB, Clustrix, Google Spanner (분산 관계형 DBMS on BigTable)

NoSQL 종류

게임사의 환경

용도 상세
서비스용
  • CouchBase : ElasticSearch 연동 모듈이 있음
분석용

참고 문헌

  • NewSQL