Server Programming/DevOps

AWS - DynamoDB (Query VS Scan)

Dev.BeryL 2022. 2. 12. 22:44
728x90

데이터를 불러오는 두가지 방법 Query, Scan

 

Query

  • Primary Key를 사용하여 데이터 검색
  • Query 사용시 모든 데이터(컬럼) 반환
  • ProjectionExpression 파라미터

Scan

  • 모든 데이터를 불러옴 (primary key 사용 X)
  • 따로 필터를 추가 하여 원하는 데이터를 볼 수 는있다. (쿼리와 가장 큰차이)
  • 쿼리는 이미 파티션이 적용되는 반면에 스캔은 그렇지 않다.
  • ProjectionExpression 파라미터

Query VS Scan

  • Query가 Scan보다 훨씬 효율적인
  • 따라서, Query 사용 추천
  • 데이터의 크기가 일정하지 않아 테이블의 크기가 계속 커진다면 Scan의 퍼포먼스는 악화된다.
  • 다만, Scan을 사용하면서 보완할 수 있는 스킬이 있다.
    • 순차적 방법
    • 병행 스킨(Parallel Scan)
  • 테이블의 크기가 상대적으로 크지않고 PK의 정의가 필요하지 않을 때는 Scan을 사용해도 상관없다. (Look up table)
반응형