4장. Cassandra 쿼리 언어
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
이 장에서는 Cassandra의 데이터 모델과 그 데이터 모델이 CQL(쿼리 언어)에 의해 구현되는 방식을 이해하게 됩니다. CQL이 어떻게 Cassandra의 설계 목표를 지원하는지 보여주고 몇 가지 일반적인 동작 특성을 살펴봅니다 .
관계형 세계에서 온 개발자와 관리자에게는 처음에는 Cassandra 데이터 모델을 이해하기 어려울 수 있습니다. 키 스페이스와 같은 일부 용어는 완전히 새로운 용어이고, 컬럼과 같은 일부 용어는 양쪽 모두에 존재하지만 그 의미가 약간 다릅니다. CQL의 구문은 여러 면에서 SQL과 유사하지만 몇 가지 중요한 차이점이 있습니다. Cassandra가 이러한 기술을 기반으로 하지만 자체 데이터 모델이 크게 다르기 때문에 Dynamo나 Bigtable과 같은 NoSQL 기술에 익숙한 사람들에게는 혼란스러울 수도 있습니다.
따라서 이 장에서는 관계형 데이터베이스 용어부터 시작하여 Cassandra의 세계관을 소개합니다. 그 과정에서 CQL에 더 익숙해지고 이 데이터 모델을 구현하는 방법을 배우게 될 것입니다.
관계형 데이터 모델
관계형 데이터베이스에서 데이터베이스 자체는 단일 애플리케이션에 해당할 수 있는 가장 바깥쪽 컨테이너입니다. 데이터베이스에는 테이블이 포함되어 있습니다. 테이블에는 이름이 있고 하나 이상의 열을 포함하며, 열에도 이름이 있습니다. 테이블에 데이터를 추가할 때 정의된 모든 열에 대해 값을 지정하고, 특정 열에 대한 값이 없는 경우 null 을 사용합니다. 이 새 항목은 테이블에 행을 추가하며, 나중에 행의 고유 식별자(기본 키)를 알고 있거나 해당 행이 충족할 수 있는 몇 가지 기준을 표현하는 SQL 문을 사용하여 행을 읽을 수 있습니다. 테이블의 값을 업데이트하려는 경우 SQL 문의 "where" 절에 사용하는 필터에 따라 모든 행을 업데이트하거나 일부만 업데이트할 수 있습니다.
이 리뷰가 끝나면 Cassandra의 데이터 모델을 유사점과 차이점 측면에서 살펴볼 수 있습니다.
Cassandra의 데이터 모델
이 섹션에서는 Cassandra의 데이터 모델을 이해하기 위해 상향식 접근 방식을 취하겠습니다.
가장 간단한 데이터 저장소로 생각할 수 있는 것은 배열이나 목록일 수 있습니다. 그림 4-1과 같이 보일 것입니다.
그림 4-1. 값 목록
이 목록을 유지하면 나중에 쿼리할 수 있지만 각 값이 무엇을 나타내는지 알기 위해 각 값을 검사하거나 항상 목록의 같은 위치에 각 값을 저장한 다음 배열의 어떤 셀에 어떤 값이 있는지 외부에서 문서를 유지 관리해야 합니다. 즉, 선택적 속성(예: 팩스 번호 또는 아파트 번호)에 대한 값이 없는 경우 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access