Уникальность ключа DynamoDB по первичному и глобальному вторичному индексу
Я работаю над созданием таблицы DynamoDB для хранения комментариев, связанных с одним объектом.
Комментарии публикуются для объекта в определенное время, я использую время, указанное в качестве диапазона, поэтому комментарии сортируются в порядке убывания времени. У меня есть глобальный вторичный индекс userId пользователя, который разместил комментарий, это должно позволить мне получать все комментарии, опубликованные данным пользователем.
У меня вопрос, будет ли этот ключ уникальным? Я обеспокоен тем, что, поскольку технически возможно, чтобы два пользователя могли публиковать комментарии к одному и тому же объекту в одно и то же время, хэш комментария и ключ диапазона будут идентичны.
Я надеюсь, что, поскольку один и тот же пользователь не может публиковать два комментария к одному и тому же объекту одновременно, глобальный вторичный индекс сделает ключ уникальным.
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) |
---------------------------------------------------------------------------------------