【发布时间】:2016-12-29 08:03:57
【问题描述】:
我在 dynamodb 中有一个名为 message_tbl 的表,用于消息传递系统。
为了获取与特定 conversation_id 相关的所有消息项,我设计了这样的表格:
属性是:
主哈希键 => conversation_id
主排序键 => date_time
其他属性 => sender_id, message
conversation_id date_time sender_id message
123456 2016-12-27 06:00:39 pm 10 hai how are you..?
123456 2016-12-27 06:01:00 pm 11 I am fine
123456 2016-12-27 06:01:12 pm 10 ok
123456 2016-12-27 06:01:12 pm 14 Hai man. How are you.?
sender_id 发送的最后两个条目 => 10 & 14 在同一时间有机会发生,对吗?
如果发生这种情况,将用相同的主键替换属性值,并且会发生数据丢失。
我应该使用一个唯一的随机 6 位字符串作为 二级本地索引,我可以从中逃脱吗..?
如果我将二级索引设置为排序键(唯一随机字符串),则将具有相同conversation_id和date_time的项目放入数据库时可以接受。? 如果我做错了,请让我设计桌子。
注意:我使用的是 PHP Codeigniter MVC 框架。
【问题讨论】:
标签: insert amazon-dynamodb primary-key secondary-indexes