Как это возможно, что DynamoDB может создать глобальный вторичный индекс, состоящий из ключа раздела (и ключа сортировки), который разделяют не все элементы в таблице? Я не могу поместить элемент в таблицу, которая не имеет надлежащей структуры первичного ключа, поэтому для меня не имеет смысла создавать GSI с использованием атрибута в качестве ключа раздела, который не все элементы ву таблицы есть.
Допустим, у меня есть таблица с 10 предметами. 5 пунктов пользователей. 2 товара - это продукты, которые я продаю. 3 оставшихся предмета являются заказами, которые были созданы.
Скажем также, что попытка приблизиться к этому стилю NoSQL была искренней и наполовину понятной, оставив нас с этими предметами и их соответствующими атрибутами -
user items: id, email, phone, address, first_name, last_name
product items: id, description, title, price
order items: id, user_id, product_id, quantity, creation_date
Ключом раздела этой таблицы является id
.
Тогда, когда япопробуйте создать GSI, используя creation_date
в качестве ключа раздела, это позволяет мне ... может кто-нибудь объяснить, почему это работает для меня?