DynamoDB自动递增ID&;服务器时间(iOS SDK)
DynammoDB中是否有选项将自动递增的ID存储为表中的主键?我还需要将服务器时间存储在表中,作为“创建时间”字段(例如,用户创建时间)。但我找不到任何方法从DynamoDB或任何其他AWS服务获取服务器时间 你们能帮我一下吗DynamoDB自动递增ID&;服务器时间(iOS SDK),ios,objective-c,amazon-web-services,amazon-dynamodb,Ios,Objective C,Amazon Web Services,Amazon Dynamodb,DynammoDB中是否有选项将自动递增的ID存储为表中的主键?我还需要将服务器时间存储在表中,作为“创建时间”字段(例如,用户创建时间)。但我找不到任何方法从DynamoDB或任何其他AWS服务获取服务器时间 你们能帮我一下吗 在DyanmoDB表中使用自动递增的ID 将服务器时间存储在类似“created at”字段的表中 谢谢。事实上,DynamoDB的功能非常少,这正是它的主要优势。简单 没有办法自动生成ID或UUID 无法自动生成日期 对于“日期”问题,应该很容易在客户端生成它。我
谢谢。事实上,DynamoDB的功能非常少,这正是它的主要优势。简单
- 没有办法自动生成ID或UUID
- 无法自动生成日期
在这些情况下,您需要构建自己的系统。在这篇和DynamoDB Mapper文档中,我解释了如何实现这一点。我希望它有助于< >而不是使用自动增量ID,考虑使用GUID。您可以获得更高的理论吞吐量和更好的故障处理能力,唯一的损失就是自然时间顺序,它可以更好地按日期处理
更高的吞吐量,因为您不需要要求Dynamo生成下一个可用的ID(这需要一些资源在某处获得锁,获取一些数字,并确保没有其他资源获得这些数字)。当您失去与Dynamo的连接时(Dynamo宕机,或者您处于突发状态,并且您的应用程序所做的工作超过了当前提供的吞吐量),就可以更好地处理故障。一个只写的应用程序可以继续“工作”并生成带有ID的完整数据,将其排队写入dynamo,并且永远不用担心ID冲突。我已经为此创建了一个小型web服务。请参阅这篇博客文章,它解释了我如何使用DynamoDB来模拟自动增量功能:
基本上,您可以在处注册一个原子计数器,并在每次需要新值时通过RESTful API递增它。您确定没有办法生成递增ID吗?