읽기 2

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

카산드라(cassandra), 데이터를 읽고 쓰는 과정에서는 클라이언트에서 카산드라의 데이터를 읽는 절차를 가볍게 설명하였습니다. 이번 글에서는 데이터를 읽는 과정을 좀 더 자세히 설명하겠습니다. 가장 단순한 경로는 요청한 데이터를 디스크(SSTable)에서 읽는 것입니다. 그러나 해당 데이터를 디스크에서 바로 읽는 것은 매우 비용이 큽니다. 즉, 시간이 오래 걸립니다. 그래서 카산드라는 최대한 메모리에서 읽으려고 시도합니다. 위의 그림에서는 이름이 "홍길동"인 데이터를 찾는 과정을 도식화한 것입니다. 이해를 돕기 위해 데이터를 요청한 노드에 데이터가 존재한다고 가정합니다. 데이터 조회 요청 시 ① "홍길동"의 번호 "1"을 조회 조건으로 입력하여 데이터를 요청합니다. 해당 요청을 받는 노드를 코디네이터..

NoSQL/Cassandra DB 2020.11.16

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

카산드라는 데이터를 여러 노드에 분산하여 저장합니다. 즉, 노드마다 할당된 데이터가 다릅니다. 클라이언트는 카산드라에 접근하기 위해 특정 노드에 접속합니다. 아래 그림의 ①번에 해당합니다. 이처럼 클라이언트가 접속한 노드를 코디네이터라 합니다. 데이터 읽기 코디네이터는 클라이언트가 요청한 데이터가 클러스터의 어느 노드에 있는지 확인 후 해당 노드에 데이터를 요청합니다. 아래 그림의 ②번에 해당합니다. 해당 노드는 요청받은 데이터를 코디네이터로 전달합니다. 아래 그림의 ③번에 해당합니다. 끝으로 코디네이터는 전달받은 데이터를 클라이언트로 전달합니다. 아래 그림의 ④번에 해당합니다. 데이터 쓰기 코디네이터는 클라이언트가 저장하려는 데이터가 클러스터의 어느 노드에 저장되어야 하는지 확인 후 해당 노드에 데이터..

NoSQL/Cassandra DB 2020.09.08