실습 개요
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 프로그래밍 언어의 기본적인 사용법과 텍스트 편집기를 사용하여 스크립트를 편집하는 데 익숙해야 합니다.
아이콘 설명
본 실습에서는 가이드의 특정 측면에 대한 주의를 환기하기 위해 다양한 아이콘을 사용합니다. 각 아이콘의 목적은 다음과 같습니다.
- 주의: 특별한 관심이 필요한 중요한 정보입니다(놓쳤다고 해도 장비 또는 데이터에 문제가 발생할 정도로 중요하지는 않지만 특정 단계를 반복해야 할 수 있음).
- 명령: 실행해야 하는 명령입니다.
- 예상 출력: 명령 또는 편집된 파일의 출력을 확인하는 데 사용할 수 있는 샘플 출력입니다.
- 참고: 힌트, 팁 또는 중요한 가이드입니다.
- 자세히 알아보기: 자세한 정보를 찾을 수 있는 위치를 나타냅니다.
- 지식 확인: 이해도를 확인하고 학습한 내용을 테스트할 기회입니다.
- 태스크 완료: 실습의 결론 또는 요점입니다.
- 경고: 되돌릴 수 없고, 명령 또는 프로세스의 실패에 영향을 줄 수 있는 작업입니다(설정한 후 변경할 수 없는 구성에 대한 경고 포함).