실습 개요
AnyCompany에서는 새로운 영화 데이터베이스 애플리케이션을 개발하고 있습니다. 사용자는 이 애플리케이션을 사용하여 제목, 연도, 배우, 평점 등으로 영화를 검색할 수 있습니다. AnyCompany에서는 이 애플리케이션에서 참조하는 모든 영화 정보를 저장할 데이터베이스 서비스로 Amazon DynamoDB를 선택했습니다.
Amazon DynamoDB는 키-값 및 문서 데이터 모델을 지원하는 비관계형 데이터베이스의 일종인 서버리스 NoSQL입니다. DynamoDB는 처음에는 작게 시작하고 이후에 애플리케이션 및 사용자 기반이 성장하면 전역적으로 신속하게 스케일링할 수 있으며, 초당 페타바이트의 데이터와 수천만 건의 읽기 및 쓰기 요청을 지원하는 성능을 제공합니다. AWS에서 DynamoDB 서비스를 관리하므로, 서버를 업데이트하거나 관리할 필요가 없습니다. 자세한 내용은 추가 리소스 섹션의 Amazon DynamoDB 기능 및 Amazon DynamoDB의 핵심 구성 요소를 참조하십시오.
신입 데이터베이스 엔지니어로 일하게 된 당신은 애플리케이션의 검색 기능을 개선하기 위해 적절한 로컬 보조 인덱스(LSI) 및/또는 글로벌 보조 인덱스(GSI)를 만드는 과업을 맡았습니다. 이 실습에서는 movies라는 샘플 데이터베이스를 사용합니다. DynamoDB 테이블은 매우 유연하며, 관계형 데이터베이스와 같은 전통적인 “스키마”를 갖고 있지 않습니다. 이 movies 테이블에는 파티션(HASH) 키 “year”(숫자)와 정렬 키(RANGE) “title”(문자열)이 있습니다. 이 실습의 데이터베이스를 채우는 속성의 전체 목록은 다음과 같은 특징을 갖고 있습니다.
- year – 숫자(파티션 또는 HASH 키)
- title – 문자열(정렬 또는 RANGE 키)
- actors – 문자열
- directors – 문자열
- genre – 문자열
- image_url – 문자열
- plot – 문자열
- rank – 숫자
- rating – 숫자
- release date – 문자열
- running_time_secs – 숫자
actors 및 directors 속성의 데이터는 python dict 형식으로 읽을 수 있도록 서식이 지정되었으므로, 2명 이상의 배우를 나타냅니다. 예를 들어 특정 항목의 actors 속성은 [{“S”: “John Doe”}, {“S”: “Jane Doe”}]와 같은 문자열입니다.
이 실습에서 다루는 주제
이 실습을 마치면 다음을 수행할 수 있습니다.
- SDK를 사용하여 로컬 보조 인덱스(LSI) 및 글로벌 보조 인덱스(GSI) 생성
- SDK를 사용하여 데이터를 스캔하고 필터링된 결과 반환
- SDK를 통해 고급 쿼리를 수행하여 데이터를 가져오고, 방법 간의 성능 차이 확인
필수 기술 지식
이 실습을 성공적으로 마치려면 AWS 관리 콘솔, NoSQL 데이터베이스 개념, Python 프로그래밍 언어의 기본적인 사용법과 텍스트 편집기를 사용하여 스크립트를 편집하는 데 익숙해야 합니다.
아이콘 설명
본 실습에서는 가이드의 특정 측면에 주의를 기울이기 위해 다양한 아이콘이 사용됩니다. 다음 목록에서는 각 아이콘의 목적을 설명합니다.
- 키보드 아이콘은 명령을 실행해야 함을 나타냅니다.
- 클립보드 아이콘은 명령 또는 편집된 파일의 출력을 제공된 예제와 비교하여 확인할 수 있음을 나타냅니다.
- 메모 아이콘은 중요한 힌트, 팁, 지침 또는 조언을 나타냅니다.
- “i” 원 아이콘은 자세한 정보를 찾을 수 있는 위치를 나타냅니다.
- 확인 표시가 있는 사람 아이콘은 배운 내용을 점검하고 테스트하는 기회가 있음을 나타냅니다.