테이블에서 데이터를 읽을 때의 관계형(SQL) 데이터베이스와 DynamoDB 비교 - Amazon DynamoDB

테이블에서 데이터를 읽을 때의 관계형(SQL) 데이터베이스와 DynamoDB 비교

SQL에서는 SELECT 문을 사용하여 테이블에서 하나 이상의 항목을 가져올 수 있습니다. WHERE 절을 사용하여 반환되는 데이터를 결정합니다.

한편, Amazon DynamoDB를 사용하는 경우 데이터를 읽기 위해 다음과 같은 작업이 수행됩니다.

  • ExecuteStatement는 테이블에서 단일 또는 여러 개의 항목을 가져옵니다. BatchExecuteStatement는 단일 작업으로 서로 다른 테이블에서 여러 항목을 가져옵니다. 이 두 작업 모두 SQL 호환 쿼리 언어 PartiQL을 사용합니다.

  • GetItem - 테이블에서 단일 항목을 가져옵니다. 이는 항목의 물리적 위치에 대한 직접 액세스를 제공하기 때문에 단일 항목을 읽는 가장 효율적인 방법입니다. (DynamoDB도 단일 작업으로 최대 100개의 GetItem 호출을 수행할 수 있는 BatchGetItem 작업을 제공합니다.)

  • Query - 특정 파티션 키가 있는 항목을 모두 가져옵니다. 이러한 항목 안에서 키를 정렬하고 데이터의 하위 집합만 가져오도록 조건을 적용할 수 있습니다. Query는 데이터가 저장된 파티션에 대한 빠르고 효율적인 액세스를 제공합니다. (자세한 설명은 DynamoDB의 파티션 및 데이터 배포 섹션을 참조하십시오.)

  • Scan - 지정한 테이블의 모든 항목을 가져옵니다. (이 작업은 시스템 리소스를 많이 사용할 수 있으므로 큰 테이블에는 사용해서는 안 됩니다.)

참고

관계형 데이터베이스의 경우, SELECT 문을 사용하여 여러 테이블의 데이터를 조인하고 결과를 반환할 수 있습니다. 조인은 관계형 모델의 기초입니다. 조인의 효율적 실행을 위해서는 데이터베이스와 그 애플리케이션의 성능을 지속적으로 튜닝해야 합니다. DynamoDB는 비관계형 NoSQL 데이터베이스로서 테이블 조인을 지원하지 않습니다. 그 대신 애플리케이션은 한 번에 한 테이블의 데이터를 읽습니다.

다음 단원에서는 다양한 데이터 읽기 사용 사례를 설명하고, 관계형 데이터베이스와 DynamoDB로 이런 작업을 수행하는 방법을 살펴봅니다.