항목의 프라이머리 키를 사용하여 항목 읽기 - Amazon DynamoDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

항목의 프라이머리 키를 사용하여 항목 읽기

데이터베이스에 대한 공통적인 액세스 패턴 중 하나는 한 테이블에서 단일 항목을 읽어오는 것입니다. 원하는 항목의 기본 키를 지정해야 합니다.

SQL에서 항목의 프라이머리 키를 사용하여 항목 읽기

SQL에서는 SELECT 문을 사용하여 테이블에서 데이터를 가져옵니다. 결과에 하나 이상의 열(또는 * 연산자를 사용하는 경우 모든 열)이 포함되도록 요청할 수 있습니다. WHERE 절은 반환할 행을 결정합니다.

다음은 Music 테이블에서 단일 행을 가져오는 SELECT 문입니다. WHERE 절은 기본 키 값을 지정합니다.

SELECT * FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

이 쿼리를 수정하여 열의 하위 집합만 검색할 수 있습니다.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

참고로 이 테이블의 기본 키는 아티스트와 로 구성되어 있습니다. SongTitle

DynamoDB에서 항목의 프라이머리 키를 사용하여 항목 읽기

Amazon DynamoDB에서는 DynamoDB API나 PartiQL(SQL 호환 쿼리 언어)을 사용하여 테이블에서 항목을 읽을 수 있습니다.

DynamoDB API

DynamoDB API에서는 PutItem 작업을 사용하여 테이블에 항목을 추가합니다.

DynamoDB는 항목을 해당 프라이머리 키를 기준으로 가져오기 위한 GetItem 작업을 제공합니다. GetItem은 항목의 물리적 위치에 대한 직접 액세스를 제공하므로 매우 효율적입니다. (자세한 설명은 파티션 및 데이터 배포 섹션을 참조하십시오.)

기본적으로 GetItem은 모든 속성과 함께 전체 항목을 반환합니다.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" } }

속성의 일부만 반환하는 ProjectionExpression 파라미터를 추가할 수 있습니다.

{ TableName: "Music", Key: { "Artist": "No One You Know", "SongTitle": "Call Me Today" }, "ProjectionExpression": "AlbumTitle, Year, Price" }

참고로 이 테이블의 기본 키는 아티스트와 로 구성되어 있습니다. SongTitle

DynamoDB GetItem 작업은 매우 효율적입니다. 프라이머리 키 값을 사용하여 해당 항목의 정확한 스토리지 위치를 확인하고 그 위치에서 직접 항목을 가져옵니다. SQL SELECT 문도 기본 키 값을 기준으로 항목을 가져오는 경우에는 마찬가지로 효율적입니다.

SQL SELECT 문은 다양한 쿼리 및 테이블 스캔을 지원합니다. DynamoDB는 테이블 쿼리테이블 스캔에 설명된 대로 QueryScan 작업을 통해 이와 비슷한 기능을 제공합니다.

SQL SELECT 문은 테이블 조인을 수행하여 한 번에 여러 테이블에서 데이터를 가져올 수 있습니다. 조인은 데이터베이스 테이블들이 정규화되어 있고 테이블 간 관계가 명확한 경우에 가장 효과적입니다. 그러나 하나의 SELECT 문에서 지나치게 많은 테이블을 조인하는 경우, 애플리케이션 성능이 영향을 받을 수 있습니다. 이런 문제는 데이터베이스 복제, 구체화된 보기 또는 쿼리 다시 쓰기를 사용하여 해결할 수 있습니다.

DynamoDB는 비관계형 데이터베이스로, 테이블 조인을 지원하지 않습니다. 기존 애플리케이션을 관계형 데이터베이스에서 DynamoDB로 마이그레이션하는 경우, 조인의 필요성을 제거하기 위해 데이터 모델을 비정규화해야 합니다.

참고

GetItem을 사용하는 코드 예제는 DynamoDB 및 AWS SDK 시작하기 섹션을 참조하세요.

PartiQL for DynamoDB

PartiQL에서는 PartiQL Select 문을 사용하여 ExecuteStatement 작업을 통해 테이블에서 항목을 읽습니다.

SELECT AlbumTitle, Year, Price FROM Music WHERE Artist='No One You Know' AND SongTitle = 'Call Me Today'

참고로 이 테이블의 기본 키는 Artist 및 으로 구성되어 SongTitle 있습니다.

참고

Select PartiQL 문은 DynamoDB 테이블을 쿼리하거나 스캔하는 데에도 사용할 수 있습니다.

SelectExecuteStatement를 사용하는 코드 예제는 DynamoDB의 PartiQL select 문 섹션을 참조하세요.