Exclusividade de chave do DynamoDB no índice secundário primário e global
Estou trabalhando na criação de uma tabela do DynamoDB para armazenar comentários associados a um único objeto.
Os comentários são publicados em um objeto em um horário específico. Estou usando o horário publicado como o intervalo para que os comentários sejam classificados em ordem decrescente de tempo. Eu tenho um índice secundário global do userId do usuário que postou o comentário, isso deve permitir que eu receba todos os comentários postados por um determinado usuário.
Minha pergunta é: essa chave será única? Estou preocupado que, como é tecnicamente possível para dois usuários postar um comentário no mesmo objectId ao mesmo tempo, o hash do comentário e a chave de intervalo sejam idênticos.
Minha esperança é que, uma vez que seja impossível para o mesmo usuário postar dois comentários no mesmo objeto ao mesmo tempo, o índice secundário global torne a chave única.
Comment table:
Hash Key Range Key Global Secondary Index Hash
---------------------------------------------------------------------------------------
| objectId | datePosted | userId |
| (not unique) | (not unique if multiple users | (unique across objectId and |
| | post for the same object @ same time) | datePosted) |
---------------------------------------------------------------------------------------