0

나는 작업중인 프로젝트에 대한 초대 시스템을 작성하려고합니다. 나는 "우리에게 당신의 이메일 주소를 알려주고 준비가되면 베타 초대를 할 것"이라고 계획하고 있습니다. 지금까지 초대를받지 못한 사용자 중 첫 번째 x 명의 사용자를 쿼리 할 수 ​​있도록 DynamoDB 테이블을 설계하는 방법을 파악하려고합니다.DynamoDB에 초대 요청을 저장하려면 어떻게합니까?

나는 다음과 같은 열이 같은 것 만드는 방법에 대해 생각하고 표 :

  • 이메일
  • 날짜를
  • 성취 (부울)

내가 일부이 작업을 수행 할 수 DynamoDB의 해시 키, 범위 키 및 보조 인덱스의 조합? 아니면 SQL 데이터베이스에 더 적합한이 제품입니까? 여기

SELECT email 
FROM invite_request 
WHERE fulfilled = 0 
ORDER BY date 
LIMIT 50; 

답변

0

당신의 최선의 선택은 Fullfilled 또는 Unfullfilled 같은 해시 키를 사용하는 것입니다 : SQL 쿼리는 다음과 같이 될 것이다. 그렇게하면 스캔보다 훨씬 덜 비싼 쿼리 방법을 사용할 수 있습니다.

: Hash_key => 부울 : 그래서 귀하의 기록은 다음과 같은 형태가 될 것이다 Range_key => 날짜 시간, 속성은 특정 날짜 범위 내의 모든 이루어지지 않은 이메일을 조회 할 수 있습니다이 구조를 사용하여 => [이메일 => 값]

결과를 제한하십시오. 희망이 도움이됩니다. 나중에 더 많은 정보에 액세스하려면 SimpleDB를 더 나은 옵션으로 조사하고 싶지만 단일 기능으로 만 이것을 사용하는 경우 Dynamo는 좋은 방법입니다.

관련 문제