NoSQL/Cassandra DB

카산드라(cassandra), 데이터를 읽고 쓰는 과정

어휘 창고 지기 2020. 9. 8. 23:39
반응형

카산드라는 데이터를 여러 노드에 분산하여 저장합니다. 즉, 노드마다 할당된 데이터가 다릅니다. 클라이언트는 카산드라에 접근하기 위해 특정 노드에 접속합니다. 아래 그림의 ①번에 해당합니다. 이처럼 클라이언트가 접속한 노드를 코디네이터라 합니다.

 

데이터 읽기

코디네이터는 클라이언트가 요청한 데이터가 클러스터의 어느 노드에 있는지 확인 후 해당 노드에 데이터를 요청합니다. 아래 그림의 ②번에 해당합니다. 해당 노드는 요청받은 데이터를 코디네이터로 전달합니다. 아래 그림의 ③번에 해당합니다. 끝으로 코디네이터는 전달받은 데이터를 클라이언트로 전달합니다. 아래 그림의 ④번에 해당합니다.

그림 1. 카산드라에서 데이터를 읽어오는 과정

 

 

데이터 쓰기

코디네이터는 클라이언트가 저장하려는 데이터가 클러스터의 어느 노드에 저장되어야 하는지 확인 후 해당 노드에 데이터를 보냅니다. 아래 그림의 ②번에 해당합니다. 해당 노드는 전달받은 데이터를 저장합니다. 그리고 동일한 데이터를 Replication Factor의 수만큼 주변의 노드에 복제합니다. 아래 그림의 ③번에 해당합니다.

그림 2. 카산드라에서 데이터를 저장하는 과정

반응형