본문 바로가기
DataBase/NoSQL

Cassandra [출처] Cassandra - facebook|작성자 녹천

by Dev. Jkun 2011. 2. 11.
반응형

 

 

[카산드라 Overview]

ü 페이스북에 의해 개발되어 2008년 오픈소스로 공개되었으며현재는 Apache Software Foundation에서 관리하고 있는NoSQL 제품이다.
ü 페이스북과 트위터Digg등 유명 웹서비스에서 성공적으로 사용되고 있어 그 성능과 안정성을 인정받고 있다.
ü 자바로 구현되어 있으며 Apache licence로 운영되고 있다.
ü 대용량의 데이터 트렌젝션에 대해서 고성능 처리가 가능한 시스템이고 노드를 추가함으로써 성능을 낮추지 않고 횡적으로 용량을 확장할 수 있다.
ü 컬럼 그룹(Column Group)형태의 데이터 모델을 갖고 있으며업데이트 내역이 일단 메모리에 캐시된 후 디스크에 쓰여지고 주기적으로 데이터 파일이 재구성된다는 점에서는 구글 빅테이블 하둡 Hbase와 유사하다.
ü Eventually Consistent 개념을 도입하여 하나의 노드에 업데이트된 내용이 바로 다른 노드로 복사되지 않고 추후 각 노드의 데이터를 종합하는 방법으로 일관성을 갖추도록 하여 Update/Write 응답시간을 줄였다는 점과새로운 노드를 추가하거나 기존노드를 제거할 때 Consistent Hashing 기법을 이용해 노드 간의 데이터 재구성을 최소화 했다는 점에서는 아마존 다이나모(Amazon Dynamo)와 유사하다.
ü 카산드라는 구글의 BigTable 컬럼 기반의 데이터 모델과 아마존의 Dynamo의 분산 모델을 기반으로 하여 제작되었다.
ü 각 노드들은 Gossip 기반 알고리듬을 이용해 순수 P2P(Pure-P2P) 프로토콜로 마스터노드(Master-Node)없이 자신들의 상태를 교환하여 고장난 노드를 찾아내고 새로운 노드를 그룹에 가입시키는 방법을 사용한다이는 마스터노드가 존재하지 않으므로SPoF(Single Point of Failure)가 줄어드는 모습이 된다.
ü 타 NoSQL 제품들이 데이터 일관성(Data Consistency)에 대한 보증을 하지 못하는데 반해카산드라는 외부 환경변수를 통해 데이터 일관성 정를 사용자가 손쉽게 설정할 수 있도록 하고 있다이는 용이한 확장성을 유지하면서도 사용목적에 따라 데이터 일관성 정도를 조절할 수 있어 큰 장점으로 꼽힌다.

 

 

 

[NoSLQ 성능비교]

ü 2010년 6월 야후 리서치 팀(Yahoo! Reseach)은 MySQL과 대표적인 NoSQL 제품들의 성능을 비교한 클라우드 서비스 시스템 벤치마킹 결과를 정리한 논문을 발표했다.

        [그림 : 처리량 증가에 따른 읽기 성능 비교]              [그림 : 처리량 증가에 따른 업데이트 성능 비교]

 

ü 읽기 성능의 경우처리량이 증가할수록 MySQL 클러스터는 관계형 데이터베이스의 장점인 빠른 읽기 속도를 보이지 못하고 성능이 급격히 떨어지지만Hbase와 카산드라는 비교적 높은 처리속도를 보여준다.
ü Update/Write에 최적화되도록 설계된 Hbase와 카산드라의 특성상 매우 높은 처리량을 가능케 하는 모습을 보여주었다이는SNS나 대용량 로그처리처럼 끊임없이 새로운 데이터를 처리해야 하는 시스템에서 NoSQL의 장점이 십분 발휘될 수 있음을 말해준다.

 

 

 

[Seminar : Facebook Engineer - Avinash Lakshman ]

오디오 녹음이 너무 울려서 발음을 알아 듣기가 힘들어 세미나에서 사용된 ppt를 찾아서 첨부해 놓았습니다. 사실, 영어실력이 부족해서 안들리는 거겠지만.. ㅠ.ㅠ

 

 

 

[Jeremiah Peschka installs Cassandra]

[출처] Cassandra - facebook|작성자 녹천

반응형

댓글