0Pricing
Serverless Backend with AWS Lambda & API Gateway · 강의

보조 인덱스로 쿼리하기: GSI 및 LSI

전역 및 로컬 보조 인덱스로 기본 키가 아닌 속성을 기준으로 DynamoDB를 조회하는 방법과 두 인덱스 중 선택하는 방법을 학습합니다.

보조 인덱스로 쿼리하기: GSI 및 LSI은(는) CoddyKit의 무료 Serverless Backend with AWS Lambda & API Gateway 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Serverless Backend with AWS Lambda & API Gateway 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Serverless Backend with AWS Lambda & API Gateway 강의에는 총 4개의 강의가 포함되어 있습니다.

이 강의의 일부는 아직 번역되지 않았으며 영어로 표시됩니다.

The Primary Key Limitation

DynamoDB queries efficiently only by the primary key (partition key, optionally plus sort key). To query by other attributes you need a secondary index.

  • Scanning the whole table is slow and costly
  • Indexes give you efficient alternate access paths

What Is a Secondary Index?

A secondary index is an alternate view of your table data, organized by a different key. DynamoDB keeps it in sync automatically as you write to the base table.

Global Secondary Index (GSI)

A GSI can use any attributes as its partition and sort key, different from the table key. It has its own throughput and can be created anytime.

  • Query by a completely different attribute
  • Spans all partitions of the table
  • Eventually consistent reads only

Local Secondary Index (LSI)

An LSI shares the table partition key but uses a different sort key. It must be created at table creation time and supports strongly consistent reads.

GSI vs LSI at a Glance

Choosing between them:

  • GSI: different partition key, created anytime, eventually consistent
  • LSI: same partition key, created with the table, strongly consistent

Defining a GSI

You specify the index name and its key schema. Reads and writes against the index are billed separately from the base table.

aws dynamodb update-table --table-name Orders \
  --attribute-definitions AttributeName=status,AttributeType=S \
  --global-secondary-index-updates "[{...}]"

Querying an Index

To query a GSI you pass its name and the index key condition. The query returns items matching that alternate key.

aws dynamodb query --table-name Orders \
  --index-name status-index \
  --key-condition-expression "status = :s" \
  --expression-attribute-values '{":s":{"S":"PAID"}}'

Projection: Which Attributes Are Copied

An index projection controls which attributes are copied into it: keys only, a selected set, or all. Projecting fewer attributes saves storage but may force a base-table fetch.

  • KEYS_ONLY: smallest, just keys
  • INCLUDE: keys plus chosen attributes
  • ALL: full copy, biggest

Index Throughput and Cost

GSIs consume their own read and write capacity. Every base-table write that affects an indexed attribute also writes to the GSI, so over-indexing increases cost.

Sparse Indexes

If an item lacks the index key attribute, it is not written to the index. This creates a sparse index, an efficient way to query only items that have a certain attribute set.

Designing Access Patterns First

In DynamoDB you design indexes around your access patterns, not the other way around. List the queries your app needs, then create the minimal set of indexes that serve them.

Quick Check

Test your index knowledge.

Recap

You learned how secondary indexes enable querying DynamoDB by non-primary-key attributes. You compared GSIs (flexible keys, created anytime, eventually consistent) with LSIs (shared partition key, created with the table, strongly consistent), and covered projections, throughput, sparse indexes, and access-pattern-first design.

자주 묻는 질문

“보조 인덱스로 쿼리하기: GSI 및 LSI” 강의는 무료인가요?

네 — “보조 인덱스로 쿼리하기: GSI 및 LSI” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Serverless Backend with AWS Lambda & API Gateway 강의 전체를 잠금 해제할 수 있습니다. Serverless Backend with AWS Lambda & API Gateway 강의에는 총 4개의 강의가 포함되어 있습니다.

“보조 인덱스로 쿼리하기: GSI 및 LSI”에서 뭘 배우나요?

전역 및 로컬 보조 인덱스로 기본 키가 아닌 속성을 기준으로 DynamoDB를 조회하는 방법과 두 인덱스 중 선택하는 방법을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 Serverless Backend with AWS Lambda & API Gateway을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Serverless Backend with AWS Lambda & API Gateway을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Serverless Backend with AWS Lambda & API Gateway은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“보조 인덱스로 쿼리하기: GSI 및 LSI” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Serverless Backend with AWS Lambda & API Gateway 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Serverless Backend with AWS Lambda & API Gateway 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. DynamoDB 소개
  2. DynamoDB 테이블 설계
  3. Lambda와 DynamoDB 통합
  4. 보조 인덱스로 쿼리하기: GSI 및 LSI
← Serverless Backend with AWS Lambda & API Gateway(으)로 돌아가기