Design Patterns for DynamoDB
- DynamoDB는 파티션 키와 정렬 키를 사용하여 데이터를 효율적으로 저장하고 쿼리하며, 이 둘이 기본 키를 구성합니다. 🔑
- 파티션 키는 데이터가 속한 파티션을 결정하고, 정렬 키는 특정 파티 내에서 빠른 검색 및 범위 쿼리를 가능하게 합니다. 🚀
- 복합 키 패턴은 여러 속성을 결합하여 특정 사용자 ID와 시간 범위 내 게시물과 같은 복잡한 쿼리를 최적화합니다. 🧩
- 로컬 보조 인덱스(LSI)는 기본 테이블과 동일한 파티션 키를 사용하지만 다른 정렬 키를 통해 '가장 인기 있는 게시물'과 같은 특정 액세스 패턴을 지원하며 강력한 일관성을 유지합니다. 📊
- 글로벌 보조 인덱스(GSI)는 기본 테이블과 다른 파티션 키를 가지며, 테이블의 전체 복사본으로 '게시물에 대한 최신 댓글'과 같은 다양한 액세스 패턴을 처리하며 최종 일관성을 가집니다. 🌍
- DynamoDB 설계의 핵심은 단일 테이블로 복잡한 액세스 패턴을 해결하고, NoSQL의 키-값 패러다임을 따르며, 데이터 중복 및 비정규화를 허용하고 조인을 피하는 것입니다. 💡