반응형
카산드라를 구성하는 가장 단순한 구조는 하나의 서버에 하나의 노드(Node)를 설치하는 것입니다. 이 경우 모든 데이터는 하나의 노드에 저장됩니다. 그러나 해당 노드에 장애가 발생하면 카산드라의 서비스는 중단됩니다. 그러므로 카산드라는 Availability와 Partition tolerance를 충족하기 위해 여러 개의 노드를 연결하는 구조로 구성합니다. 노드 간의 연결을 링(Ring)이라 하며 아래와 같이 표현할 수 있습니다.
카산드라의 노드를 위의 그림처럼 논리적으로 표현할 수 있지만 실제로는 아래의 그림에 더 가깝습니다. 위의 링 구조를 물리적으로 구성한 구조를 클러스터(Cluster)라 합니다. 클러스터를 단순하게 표현하면 하위의 노드가 랙(Rack)으로 묶여 데이터 센터에 포함됩니다. 그리고 노드간 연결을 통해 클러스터를 구성하게 됩니다.
클러스터를 계층으로 표현하면 다음과 같습니다.
카산드라를 여러 개의 노드로 구성하면 동일한 데이터를 두 개 이상의 노드에 복제하여 장애가 발생하더라도 데이터가 복제된 노드에서 데이터를 제공하여 Availability와 Partition tolerance를 충족합니다.
반응형
'NoSQL > Cassandra DB' 카테고리의 다른 글
카산드라(cassandra), 데이터가 저장되는 노드 찾기 - 파티셔너(Partitioners) (0) | 2020.09.15 |
---|---|
카산드라(cassandra), 데이터를 읽고 쓰는 과정 (0) | 2020.09.08 |
카산드라(cassandra), 클라이언트에서 노드(Node) 접근 - 코디네이터(Coordinator) (0) | 2020.08.31 |
카산드라(cassandra), 데이터 센터(Data Center)와 랙(Rack) (0) | 2020.08.24 |
Netflix의 선택 (0) | 2020.08.10 |