상세 컨텐츠

본문 제목

DynamoDB의 중요한 Core 개념

AWS/AWS DynamoDB

by bigpie 2022. 8. 6. 05:26

본문

  1. Tables, Items, Attributes, Indexes
    • 테이블이란 Item의 집합체이다. 
AccountId DateOfCreation Origin Details
1 2021-12-10 USA {...JSON...}
2 2021-12-05 Canada {...JSON...}
3 2021-12-03 Germany {...JSON...}
  • Item은 Attributes 또는 key/value pair의 집합체이다. SQL과 에서 Row로 일단 개념을 잡으면 쉽겠다. 
  1. Primary Key는 Partition Key와 Sort Key로 이루어 진다.
    • 위에서 AccountId는 Partition Key DateOfCreation은 Sortkey로 구성하고 이 두가지가 합쳐져 Primary Key가 되는 것이다. Primary Key는 중복되지 않는 유일한 SQL에서 ID같은 개념이 된다.
    • 위에 AccountId와 DateOfCreation이 합쳐져 Primary Key가 됨으로 SQL과 달리 -----> AccountId가 중복이 가능하다는 것이다. 
    • SORT KEY는 참 재미있는데 Range라고 생각하면 된다. 즉 query를 보낼때 Account ID가 1인 10월 부터 12월까지 생성한 Data를 쿼리할 때 데이터 테이블 전체를 다 뒤져서 가지고 오는 개념이 아니라 이러한 partition key와 sort key를 이용해서 해당되는 부분만 쏙 빼서 가지고 오는 것이다. 그렇기에 DynamoDB로 빠른  Query를 이룰수 있는것이다. 
  2. Global Index: 이후에 좀 더 상세히 설명하겠지만 미리 찾을 아이템의 주소를 설정해 놓는것이라 이해하면 좀 더 이해가 쉽겠다. 예를 들어 아래 예시처럼 ProviderInvoiceId-Index를 설정해 놓으면 맨 오른쪽에 Item Count에서 알수 있듯이 이미 AWS가 찾아 놓는것이다. 그렇기에 query를 할때마다 전체 테이블을 미리 뒤질 필요가 없어 빠른 query를 만들수 있는것이다. 

  1. 중요: 다시 한번 강조하지만 오랫동안 SQL에 습관이 강하게 들었던 사람이라면 시스템을 Architecture을 설계할때 충분히 연습해보고 설계를 하는것이 중요할 듯 하다. 

'AWS > AWS DynamoDB' 카테고리의 다른 글

AWS DynamoDB 개념  (0) 2022.08.06

관련글 더보기