[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을 지원하지 않는다.
- 검색 기능도 매우 단순하다.
카산드라의 데이터 저장방식
출처 : https://meetup.toast.com/posts/58
Consistent hashing 방식으로 데이터를 노드에 분산 저장한다.
각 노드 A,B,C,D,E,F 카산드라의 설정파일을 통해 해쉬 범위값을 지정 받는다.
Partion key를 해쉬한 값을 기준으로 저장한다.
Partion key는 카산드라 데이터 레이어에서 말하는 Row key 와 같다.
실제로 데이터가 저장되면 이런식으로 저장된다.
추가적으로 Consistent hashing과 마찬가지로 데이터의 부하 분산을 위해 vNode를 사용한다.
'[정리] 데이터베이스 > [NoSQL] Cassandra' 카테고리의 다른 글
[2019.03.14] 카산드라 CQL (0) | 2019.03.14 |
---|