주요 NoSQL들에 대한 초간단 정리

DB 진흥원에 기고한 글과 플랫폼을 말하다에 기고한 글에 포함된 NoSQL의 종류와 특징들을 간단히 정리한 표입니다. 이미 많이들 알려져 있고 계속 업그레이드되고 있어 조금씩 차이가 나는 내용들이 있을지도 모르겠네요. 그래도 참고하실 분들이 계실지도 모른다는 생각에 정리해놓은 표만 따로 올려놓도록 하겠습니다.

최근  제 주위에 얘기하는 분위기로는 역시 접근이 좋은 MongoDB를 많이 선호하는 것 같습니다. 더불어 인메모리 키밸류로는 Redis 만한 것이 없다고들 하구요. 최근 네이버 재팬의 Line 의 아키텍쳐가 소개되면서 Redis에 대한 관심도 높아지는 것 같습니다.

초기에는 Cassandra에 대한 얘기들이 많이 있었던 것 같은데 글쎄요 요즘엔 그것도 좀 시들한 것 같습니다. 반면 HBase 는 Hadoop이 업그레이드되고 페이스북 엔지니어들의 노력때문일까요?  지속적으로 업그레이드되어 간다는 생각이 드네요

물론 다 제 주관적인 생각이니까 참고만 하시길 바랍니다. ^^

데이터 모델

데이터 스토어

구현 언어

설명

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 데이터를 처리할 수 있도록 구현

Advertisements
이 글은 IT 카테고리에 분류되었고 , , 태그가 있습니다. 고유주소 북마크.

주요 NoSQL들에 대한 초간단 정리에 1개의 응답

  1. 핑백: NoSQL에 대한 잡다한 생각들.

  2. asdf댓글:

    couchbase 에서 커뮤니티 버전은 node 제한 없이 무료로 사용할 수 있습니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중