수업 1태스크와 히스토리를 위한 파티션 키와 정렬 키 패턴 선택 (복합 키, 접두사)태스크와 히스토리 아이템에 효과적인 파티션 및 정렬 키 패턴을 선택하는 방법을 배웁니다. 복합 키, 키 접두사, 쿼리 유연성, 확장성, 프로덕션 시스템의 쓰기 분산에 영향을 미치는 설계 트레이드오프를 탐구합니다.
태스크와 히스토리 아이템을 위한 복합 키 설계관련 태스크 레코드를 그룹화하기 위한 키 접두사 사용균등한 쓰기 및 읽기 분산을 위한 키 설계시간순 태스크 히스토리 쿼리를 위한 패턴수업 2태스크 데이터와 히스토리 로그를 위한 백업, 복원, 시점 복원 고려사항백업과 복원 옵션을 통해 태스크와 히스토리 데이터를 보호하는 방법을 배웁니다. 주문형 백업, 시점 복원, 복원 워크플로우, 안전하고 테스트 가능한 복원을 지원하는 스키마와 프로세스 설계 방법을 이해합니다.
시점 복원 활성화 및 관리주문형 백업 생성 및 복원태스크 테이블을 위한 복원 워크플로우 설계복원 테스트 및 데이터 손실 최소화수업 3데이터 직렬화와 속성 타입: 문자열, 숫자, 맵, 리스트, 불리언, 복잡한 속성의 트레이드오프태스크 데이터용 DynamoDB 속성 타입(문자열, 숫자, 맵, 리스트, 불리언)을 탐구합니다. 복잡한 필드의 직렬화 전략, 중첩 구조의 트레이드오프, 인덱싱 및 쿼리 비용에 미치는 선택 영향을 배웁니다.
핵심 태스크 속성에 스칼라 타입 사용유연한 메타데이터 필드를 위한 맵과 리스트타임스탬프와 숫자 카운터 저장중첩 및 복잡한 속성의 트레이드오프수업 4아이템 속성 설계: 타입이 포함된 태스크 아이템 스키마 (taskId, title, description, status, updatedAt, metadata)식별자, 제목, 설명, 상태, 타임스탬프, 메타데이터를 포함한 태스크 아이템의 명확한 스키마를 정의합니다. 타입 선택, 필수/선택 필드, 마이그레이션 없이 진화 지원 패턴을 배웁니다.
핵심 필드: taskId, title, description상태와 updatedAt 일관성 모델링유연한 메타데이터 구조 설계무거운 마이그레이션 없이 스키마 진화수업 5액세스 패턴 매핑: 단일 태스크 쿼리, 시간순 태스크 히스토리, 최근 태스크 목록, 페이지네이션 전략태스크와 히스토리에 대한 실제 액세스 패턴을 DynamoDB 쿼리에 매핑합니다. 단일 태스크 쿼리, 정렬된 히스토리 가져오기, 최근 태스크 목록, 키 조건, 필터, 신중한 정렬 키 설계를 사용한 페이지네이션 구현을 배웁니다.
단일 태스크와 최신 상태 쿼리타임스탬프순 태스크 히스토리 가져오기최근 또는 활성 태스크 효율적 목록 표시LastEvaluatedKey와 제한을 사용한 페이지네이션수업 6기본 키와 보조 인덱스 전략: 대체 쿼리를 위한 GSI와 LSI (상태별, 사용자별)상태나 사용자별 대체 쿼리를 지원하는 기본 키와 보조 인덱스를 설계합니다. GSI와 LSI 사용 시기, 인덱스 키 선택, 투영 속성, 비용 및 처리량에 미치는 인덱스 영향을 배웁니다.
메인 태스크 액세스를 위한 기본 키 선택상태 기반 쿼리를 위한 GSI 설계사용자 또는 소유자별 태스크 쿼리를 위한 인덱스투영 선택과 인덱스 비용 영향수업 7조건부 업데이트와 낙관적 동시성 모델링: ConditionalExpression과 attribute_exists/attribute_not_exists 사용DynamoDB 조건을 사용한 안전한 동시 태스크 업데이트를 모델링합니다. 버전 속성을 사용한 낙관적 동시성, ConditionalExpression, attribute_exists 검사를 통해 업데이트 손실 방지와 비즈니스 규칙 강제를 배웁니다.
낙관적 동시성을 위한 버전 속성업데이트에서 ConditionalExpression 사용attribute_exists와 attribute_not_exists 사용조건부 검사 실패 안전 처리수업 8아이템 속성 설계: 타입이 포함된 히스토리 아이템 스키마 (taskId, eventId, status, previousStatus, changedBy, timestamp, reason)식별자, 상태 전환, 감사 필드, 이유를 포함한 견고한 태스크 히스토리 아이템 스키마를 설계합니다. 속성 타입 선택, 일관성 강제, 태스크 생명주기 이벤트의 효율적 쿼리 및 분석 지원 방법을 배웁니다.
핵심 식별자: taskId와 eventId 선택상태와 previousStatus 전환 모델링changedBy, timestamp, reason 캡처히스토리 필드의 속성 타입 선택수업 9DynamoDB 테이블 선택과 단일 테이블 vs 다중 테이블 설계 근거태스크 추적에 단일 DynamoDB 테이블과 다중 테이블을 언제 사용하는지 이해합니다. 격리, 비용, 운영 복잡성 비교, 마이크로서비스, 소유권, 액세스 패턴에 맞춘 테이블 설계 방법을 배웁니다.
태스크 추적 요구사항에 적합한 단일 테이블더 나은 선택인 다중 테이블소유권과 서비스 경계 모델링비용, 제한, 운영 트레이드오프수업 10DynamoDB 모범 사례: 용량 모드, 쓰기 패턴, 조건부 쓰기, 원자적 카운터, 트랜잭션, 오래된 히스토리 항목 TTL태스크 추적 워크로드에 DynamoDB 모범 사례를 적용합니다. 용량 모드 비교, 효율적 쓰기 패턴 설계, 조건부 쓰기, 원자적 카운터, 트랜잭션, TTL을 사용한 오래된 히스토리 관리 및 저장소 성장 제어를 배웁니다.
주문형 vs 프로비저닝 용량 선택핫 태스크 아이템을 위한 쓰기 패턴 설계조건부 쓰기와 원자적 카운터 사용오래된 히스토리 데이터 트랜잭션 및 TTL