쿼리와 정렬(Querying & Sorting)

읽기는 비용이 발생하는 지점입니다. Query는 키로 하나의 항목 컬렉션을 대상으로 하고, Scan은 테이블 전체를 읽습니다. 필터와 함께 Scan에 손을 뻗는 것 — SQL식 본능 — 은 보관하는 몇 개가 아니라 읽은 모든 항목에 대해 비용을 지불하게 만듭니다. 이것이 전형적인 함정입니다.

이 섹션은 효율적으로 읽는 것에 관한 내용입니다. 키가 일을 하도록 만들고, 올바르게 페이지네이션하며, 메모리 내 정렬 대신 정렬 키로 결과를 정렬하는 것입니다.

10개 중 0개 읽음퀴즈
DynamoDB의 Query 대 Scan
DynamoDB에서 Query와 Scan을 언제 써야 하는지, Scan이 거의 원하는 것이 아닌 이유, 그리고 Query가 액세스 패턴을 처리하도록 키를 모델링하는 법.
입문4분 분량
DynamoDB의 페이지네이션
LastEvaluatedKey와 ExclusiveStartKey로 DynamoDB 결과를 올바르게 페이지네이션하는 법, Limit이 페이지 크기가 아닌 이유, 클라이언트에 무상태 커서를 노출하는 법.
입문4분 분량
DynamoDB 필터링 전략
DynamoDB 필터링 전략 비교 — 파티션 키, 정렬 키, 희소 인덱스, FilterExpression — 그리고 어느 것이 실제로 읽기 비용을 줄이는지 알아봅니다.
중급7분 분량
DynamoDB Scan이 느리고 비싼 이유
DynamoDB Scan이 느리고 비싼 이유, 실제로 무엇에 과금하는지, 그리고 반사적인 Scan을 비용의 한 줌만 드는 키 기반 Query로 바꾸는 법.
입문6분 분량
DynamoDB 병렬 스캔
DynamoDB 병렬 스캔이 Segment와 TotalSegments로 전체 테이블 읽기를 여러 워커에 나누는 방법, 도움이 되는 경우, 그리고 피해야 할 처리량 지뢰.
고급6분 분량
DynamoDB 정렬 키 전략
DynamoDB 정렬 키 전략 — 범위 쿼리, 정렬, 한 아이템 컬렉션에서의 여러 액세스 패턴을 위한 정렬 가능한 정렬 키 설계를, 감사 로그 예제로 살펴봅니다.
중급8분 분량
DynamoDB를 내림차순으로 쿼리하는 법
ScanIndexForward=false로 DynamoDB를 내림차순으로 쿼리하는 법 — 최신순 결과, 정렬이 정렬 키에서 일어나는 이유, 그리고 뒤로 효율적으로 페이지를 넘기는 법.
입문5분 분량
변하는(가변) 속성으로 DynamoDB 정렬하기
변하는 속성으로 DynamoDB 정렬하기 — 키 속성을 제자리에서 업데이트할 수 없는 이유, 삭제-후-재생성 패턴, 그리고 변동 값을 베이스 테이블 키에서 떼어 내기 위해 GSI를 쓰는 법.
중급5분 분량
DynamoDB의 0 채우기 정렬 키
DynamoDB 0 채우기 정렬 키 — 문자열 정렬 키에서 "10"이 "2"보다 먼저 정렬되는 이유와, 고정 너비로 0을 채운 숫자가 문자열 순서를 숫자 순서와 일치하게 만드는 방법.
중급5분 분량
이해도 점검퀴즈 풀기
이 섹션에서 배운 내용을 점검해 보세요.

Query vs Scan부터 시작하세요 — 나머지가 의존하는 결정입니다.

라이브 테이블에 대해 이 쿼리들을 실행하려면 DynoTable 사용해보기.