Cassandra의 데이터 모델링에서 Composite Key란 무엇인가요?
_____A1: Composite Key는 여러 컬럼(column)을 결합해 하나의 키를 구성하는 방식으로, 주로 Primary Key를 지정할 때 사용됩니다. Cassandra에서는 Partition Key와 Clustering Columns를 함께 사용해 데이터를 효율적으로 분산 저장하고 정렬할 수 있도록 합니다.
Q2: Composite Key는 어떤 구성요소로 이루어져 있나요?
A2: Composite Key는 크게 두 부분으로 나뉩니다.
- Partition Key: 데이터를 노드에 분산 저장할 때 사용되는 키.
- Clustering Columns: 파티션 내에서 데이터를 정렬하는 데 사용되는 키.
Q3: Composite Key를 사용하는 이유는 무엇인가요?
A3:
- 데이터 분산: Partition Key를 통해 클러스터 내 여러 노드에 데이터를 균등하게 분산할 수 있습니다.
- 데이터 정렬: Clustering Columns는 한 파티션 내에서 데이터를 원하는 순서로 정렬합니다.
- 쿼리 최적화: 특정 파티션 내에서 범위 쿼리나 정렬된 결과를 효율적으로 조회할 수 있습니다.
Q4: Composite Key와 단일 Primary Key의 차이는 무엇인가요?
A4: 단일 Primary Key는 하나의 컬럼만으로 구성되며, 데이터 분산과 정렬 모두 해당 컬럼 기준으로 이뤄집니다. 반면 Composite Key는 여러 컬럼을 조합해 더 유연한 분산과 다중 레벨 정렬 및 쿼리가 가능합니다.
Q5: Composite Key 예시를 보여주세요.
A5:
```sql
CREATE TABLE orders (
order_date timestamp,
order_id uuid,
total decimal,
PRIMARY KEY ((customer_id), order_date, order_id)
);
```
여기서 `customer_id`는 Partition Key, `order_date`와 `order_id`는 Clustering Columns 역할을 합니다.
Q6: Composite Key 설계 시 주의사항은 무엇인가요?
A6:
- Partition Key는 데이터를 균등하게 분산할 수 있도록 선택해야 합니다.
- Clustering Columns는 주로 쿼리에서 정렬이나 범위 조회에 사용됩니다.
- 너무 많은 컬럼을 키로 지정하면 쓰기 성능이 저하될 수 있습니다.
- 쿼리 패턴에 적합하게 키를 설계하는 것이 중요합니다.
Q7: Composite Key가 쿼리에 미치는 영향은?
A7: 쿼리는 반드시 Partition Key로 시작해야 하며, Clustering Columns를 활용해 범위 조건이나 정렬이 가능합니다. 이를 통해 빠른 읽기 성능을 보장할 수 있습니다.
---
요약하면, Cassandra의 Composite Key는 Partition Key와 Clustering Columns를 결합하여 데이터 분산과 쿼리 정렬을 최적화하는 다중 컬럼 키 구성 방식입니다. 적절한 Composite Key 설계는 Cassandra 성능과 확장성에 매우 중요합니다.
작성자:
서태지 [비회원]
| 작성일자: 1년 전
2024-12-08 09:51:28
조회수: 190 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 190 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.