kok202
[2019.03.14] 카산드라 Intro

2019. 3. 14. 11:45[정리] 데이터베이스/[NoSQL] Cassandra

카산드라 관련 좋은 정리 링크






 제품

 데이터 레이어

 RDBMS

 MySQL

 OracleDB

 PostgreSQL

 데이터 베이스

 테이블 

 행 

 열 

 NoSQL

 Cassandra

 키 스페이스

 테이블

 행 

 열

RDBMS에서 사용하는 데이터 레이어와 거의 유사하다.

실제로 Cassandra를 통제하는 언어는 CQL이라고 부르는데 이름도 그렇고 사용방식이 거의 같다.

그렇다고 RDBMS 를 완벽히 대체할 수 있는 솔루션은 아니므로 맹신하면 안된다.






장점

+ 확장성과 가용성에 최적화된 분산형 Data storage 다.

Consistent hashing 으로 구현되어 있다.

+ 노드의 추가 삭제가 자유롭다. = 확장성이 좋다.


단점

- Join, Transaction을 지원하지 않는다.

- 검색 기능도 매우 단순하다.






카산드라의 데이터 저장방식

apache_2.png

출처 : https://meetup.toast.com/posts/58

Consistent hashing 방식으로 데이터를 노드에 분산 저장한다.

각 노드 A,B,C,D,E,F 카산드라의 설정파일을 통해 해쉬 범위값을 지정 받는다.

Partion key를 해쉬한 값을 기준으로 저장한다.

Partion key는 카산드라 데이터 레이어에서 말하는 Row key 와 같다.


apache_4.png


실제로 데이터가 저장되면 이런식으로 저장된다.

추가적으로 Consistent hashing과 마찬가지로 데이터의 부하 분산을 위해 vNode를 사용한다.






'[정리] 데이터베이스 > [NoSQL] Cassandra' 카테고리의 다른 글

[2019.03.14] 카산드라 CQL  (0) 2019.03.14