DynamoDB中时间戳的数据类型
在DynamoDB中,时间戳的数据类型是一个问题,其原因是因为对于排序键,字符串和数字都可以被使用。
根据历史参考,通过一个独立的线程确认了字符串支持范围查询。
对于哪种数据类型更好,应该考虑更多的使用场景。如果数据将被另一个AWS服务(如Elastic Search或Cloud Watch)使用,将其存储为可以直接被这些服务消费的形式将非常有用,即ISO 8601字符串。
如果数据将被其他绘图或分析库使用,将其存储为数字格式可能更有意义,这样可以直接使用而无需进一步转换。
总之,最佳实践取决于下游的情况。通常情况下,最好尽可能减少数据类型的更改。
感谢您的回答,我的数据库是一个无服务器的AWS应用程序的一部分,可以通过Api Gateway和AWS Lambdas通过Android应用程序访问。
没有问题 🙂 所以当应用程序接收到数据库信息时,它是如何处理的呢?按日期绘制图表?还是显示为文本?应用程序一次是否从表中提取多个条目?还是只有一个?
日期更多是与缓存相关的,我只从DynamoDB中获取最新记录(从上次获取的时间开始)。我按日期排序显示记录,没有花哨的图表。
我会检查应用程序在接收数据后是否执行任何"排序"函数。如果是这样,数字将是首选的数据类型。如果没有,我建议使用ISO 8601字符串,因为它们允许您存储毫秒级的细节,同时仍然可读,并且可以选择使用时区数据(现在可能不需要,但以后可能会需要)。
文章结束。