[NoSQL] 종류 정리

2014. 5. 19. 12:11NoSQL

원문 : http://kimws.wordpress.com/2012/08/07/%EC%A3%BC%EC%9A%94-nosql%EB%93%A4%EC%97%90-%EB%8C%80%ED%95%9C-%EC%B4%88%EA%B0%84%EB%8B%A8-%EC%A0%95%EB%A6%AC/



데이터 모델

데이터 스토어

구현 언어

설명

Column/Column
Family Data Store

HBase

자바

하둡 기반에서 동작하고 다양한 하둡 의 도구들과 상호 운영성이 좋고, 수십 테러바이트가 넘는 빅데이터에 적합. 아파치 라이선스

Cassandra

자바

구글 BigTable의 데이터 모델과 Dynamo의 분산 기술을 결합해서 구현. 빅데이터에 적합. 아파치 라이선스

Hypertable

C++

HBase와 마찬가지로 구글의 Bigtable아키텍처를 기반으로 구현. C++로 구현돼 성능이 매우 뛰어나고 HQL이라는 언어를 제공해 편의성을 높임. 기업을 위한 상용 기술지원 서비스 제공

SimpleDB

Erlang

아마존에서 제공하는 클라우드 기반의 상용 데이터 스토어

Document
Store

MongoDB

C++

설치개발이 매우 쉽고 매우 빠른 성능을 제공. 많은 곳에서 적용. JSON과 같이 웹서비스 영역에서 많이 활용되는 데이터를 바로 저장접근할
수 있는 다양한 언어의 API를 제공하기 때문에
 개발자들이 쉽게 접근해
사용할 수 있는 큰 강점이
있음. PaaS와 같은 많은 플랫폼 클라우드 영역에서 기본적으로 지원하고
상용 기술지원 서비스 가능

Couchbase

C/C++

Erlang

2011년에 Document 기반의 CoouchDB와 메모리 캐싱
시스템(Key/Value 방식)인Membase 합병하면서 기업 내 다양한 요구 사항에 대응하기 위해
구현된 시스템. 기술적 측면에서MongoDB와 많이 비교되기도 함. 기업에서 설치관리가 편리한 웹 기반의 GUI을 제공하나 2개의 노드에 대해만 무료이고 그 이상은 기업 버전을 구매해야 

Key/Value
Store

Redis

C

대표적인 인메모리 기반의 Key/Value 스토어. Memcache 대비 value에 심플한 값뿐 아니라 문자열, 해시, 리스트, 세트 등보다 복잡한 형태의 데이터 정의와 처리가 가능. 단일 데이터형과 작은 사이즈의 경우에는 memcache가 성능이나 구현에 이점이 있으나, 처리할 데이터의 구조가 복잡해질 경우 Redis가 보다 유리하고 높은 성능을 보장

Riak

Erlang,
C

아마존의 Dynamo의 논문을 기반으로 구현된 K/V 스토어. Basho Tech에서 개발해 커뮤니티 버전과 기업형 버전을 함께 제공

Voldemort

 

아마존의 Dynamo 논문을 기반으로 LinkedIn에서 개발하고 공개. 인메모리 캐싱을 스토리지 시스템과 결합해
memcache와 같은 별도의 캐싱티어를 둘 필요가 없음. 아파치 라이선스

DynamoDB

Unknown

최근 아마존이 클라우드 기반으로DynamoDB를 베타 버전으로 공개. 아마존 클라우드를 사용하고 있는
웹 서비스 업체들이 매우 관심 있게 보고 있고 활용을 계획하고 있음

Graph
Database

Neo4J

C++,
자바

속성을 가진 노드와 관계 정보(즉, 그래프 또는 네트워크)를 저장처리하고 ACID 트랜잭션을 지원하는 데이터베이스. 그래프 데이터베이스는 시멘틱웹에서 곧잘 얘기하는 RDF 정보를 저장처리하는 데 최적이라 할 수 있음. 이를 위한 SparQL이라는 질의 도구를 제공. 커뮤니티 버전(GPL)과 기업형 버전(AGPL)이 있음. 한
대의 기계에서 수십억 노드와 관계 정보를 저장처리할 수 있으나 스케일아웃(scale out) 형태의 확장성을
갖추고 있지 않다. Neo4j에 대한Sharding
 대한 얘기도 있으나 아직
미구현 상태임

AllegroGraph

Lisp

Allegro Common Lisp으로 유명한 Franz에서 개발한 그래프 데이터베이스. 좀 더 정확히 말하면 AllegroGraph RDFStore

Franz의 시멘틱 솔루션 중
하나. 보다 일반적인 목적으로 데이터베이스를 확장하고 MongoDB와의
연동 등 여러 가지 기술적
시도를 하고 있고, IBM의 Xeon E7 플랫폼을 가진 싱글머신에 1조 개 이상의 RDF 데이터를 처리할 수 있도록 구현