NoSQL 몽고DB, 카산드라DB, Hbase, Redis 관련 정보

출처 : http://hbiedu.tistory.com/20

 

사진, 동영상, 웹로그 등 비 정형화된 데이터베이스를 통계 수집 – 처리 – 통계 분석하는 기술을 빅데이터 기술이라고 합니다. 기업에 입장에서는 고객의 동선을 파악, 마케팅에 활용을 하며, 국가에 있어서는 범죄예방등의 목적으로 활용이 되기 때문에 요즘 떠오르는 기술이라고 볼 수 있습니다.

빅데이터 저장기술의 핵심인 NoSQL,, NoSQL을 사용하는 데이터베이스로는,, 몽고DB, 카산드라DB, Hbase, Redis 등이 있습니다. 각각의 차이점은 뭐가 있을까요..?

 

 

 

 

Cassandra
카산드라는 구글의 BigTable 컬럼 기반의 데이타 모델과 FaceBook에서 만든 Dynamo의 분산 모델을 기반으로 하여 제작되어 Facebook에 의해 2008년에 아파치 오픈소스로 공개된 분산 데이타 베이스 입니다. 기존의 관계형 데이타 베이스와 다르게 SQL을 사용하지 않는 NoSQL의 제품중의 하나이며, 대용량의 데이타 트렌젝션에 대해서 고성능 처리가 가능한 시스템입니다.(High-Scale). 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있으며 얼마전에 트위터도 MySQL에서 Cassandra로 데이타베이스를 전환하였다고 합니다. 자바로 작성되었음에도 불구하고, 데이타베이스라는 명칭에 걸맞게 여러 프로그래밍 언어를 지원합니다. (Ruby,Perl,Python,Scala,Java,PHP,C#)
데이타간의 복잡한 관계 정의(Foreign Key)등이 필요없고, 대용량과 고성능 트렌젝션을 요구하는 SNS (Social Networking Service)에 많이 사용되고 있으며. 성능이나 확장성과 안정성이 뛰어납니다.

 

 

 

 

HBASE
HBase는 Cassandra와 마찬가지로 Bigtable의 영향을받은, 대량 데이터를 효율적으로 다루기 위한 목적으로 개발된 NoSQL 데이터베이스입니다. 대용량 데이터를 다루는 NoSQL 데이터베이스중 Cassandra와 함께 가장 많이 사용되고 있습니다만, Cassandra와는 구별되는 뚜렷한특징을 가지고 있습니다. Cassandra는 성능을 우선시 할 경우 데이터 일관성이 보장되지 않을 수있는데. 대량 데이터를우수한 성능으로 데이터 일관성을 보장하면서 다뤄야 할 때는바로 HBase입니다.
HBase는 중앙에 전체 분산 시스템을 통제하는 마스터를 두고 복제된 전체 데이터의 일관성을 관리 하기때문에 분산된 복제 데이터 사이의일관성을 보장하며 제약이 있지만 트랜잭셔성 처리도 지원이 가능합니다.대량 데이터 분석 및 처리를 위해 사용되는 Hadoop의 산하 프로젝트로 시작된 데이터베이스로 HDFS 및 MapReduce등과 함께 사용하기에최적화 되어 있습니다. MapReduce를 지원하는 다른 데이터베이스도 있지만 별도로 개발되었기 때문에 HBase처럼 HDFS를 사용하며 MapReduce의 기능을 적합하게 사용하는 예는 없습니다.대량 데이터를 분삭하여 의미 있는 값을 만드는 데 있어 널리 사용되고 있는 MapReduce와 함께 효율적으로 이용할 수 있다는 것이 큰
장점 입니다.

 

 

 

 

Mongo DB
MongoDB는 10gen 사에서 개발된 높은 성능과 확장성을 가지고 있는 데이터베이스 입니다.
몽고DB는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템입니다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 문서들을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 하지않습니다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 합니다. GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어입니다.

 

 

 

 

Redis
Redis는 “REmote DIctionary System”의 약자로 메모리 기반의 Key/Value Store 입니다.
Cassandra나 HBase와 같이 NoSQL DBMS로 분류되기도 하고, memcached와 같은 In memory 솔루션으로 분리되기도 합니다.성능은 memcached에 버금가면서 다양한 데이타 구조체를 지원함으로써 Message Queue, Shared, memory, Remote Dictionary 용도로도 사용될 수 있으며, 이런 이유로 인스탄트그램, 네이버 재팬의 LINE 메신져 서비스, StackOverflow,Blizzard,digg 등 여러 소셜 서비스에 널리 사용되고 있습니다.

< Redis 특징 >
ㅁ처리 속도가 빠르다
ㅁ데이터가 메모리+Disk에 저장된다
ㅁ만료일을 지정하여 만료가 되면 자동으로 데이터가 사라진다.
ㅁ저장소 메모리 재사용 하지 않는다
ㅁ문자열, Set, Sorted Set, Hash, List등의 다양한 Data Type을 지원

 

 

떠오르는 IT 신기술인 빅데이터기술,, IT분야에 있어서 보다 높은 스팩을 원하신다면,, 도전해 보시기 바랍니다.^^

 

 

Comments

comments

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.