저는 Amazon Web Services를 많이 사용하는 웹 응용 프로그램에서 작업하고 있습니다. DynamoDB를 응용 프로그램의 특정 부분에 사용하고 싶지만 적절한 유스 케이스인지 확실하지 않습니다.Amazon DynamoDB/NoSQL의 적절한 사용 사례입니까?
사이트의 등록 된 사용자가 "작업"을 수행하면 해당 작업에 대한 항목이 기록되고 저장됩니다. 작업에는 관련된 세부 정보가 있지만 가장 관련성있는 것은 각 작업에 고유 한 식별자와 관련 사용자 이름이 있다는 것입니다. 사용자 이름도 고유하지만 당연히 동일한 사용자에 대해 각각 다른 작업 식별자가있는 여러 작업 항목이있을 수 있습니다.
내가이 데이터를 수행 할 필요가 유일한 쿼리는 다음과 같습니다 사용자 이름 X 나에게 모든 작업 항목 (및 관련 정보)를 제공합니다.DynamoDB 테이블을 만들었지 만 맞는지 확실하지 않습니다. 내 이해는 선택한 해시 키가 테이블에 쿼리/인덱싱에 사용되는 키 여야하지만 항목/행마다 고유해야합니다. 사용자 이름은 내가 질의하고자하는 내용이지만 사용자 이름은 항목/행마다 고유하지 않습니다.
작업 식별자를 기본 해시 키로, 사용자 이름을 보조 인덱스로 설정하면 그 작업이 가능합니까? 보조 색인에 대해 중복 값을 사용할 수 있습니까? 그러나 그것은 내가 테이블의 쿼리/인덱싱을 위해 기본 해시 키를 절대 사용하지 않을 것이라는 것을 의미합니다.
누락되었거나 NoSQL에 적합하지 않습니다.
편집 :
허용 된 대답은 제가뿐만 아니라 this question으로 찾고 있었는지 알 수있었습니다.
나는이 질문이 다른 사람에게 얼마나 유용한 지 잘 모르겠다. 그래서 누군가가 닫기를 원한다면, 그것은 나에게 좋다. – RTF