我们希望使用AWS DynamoDB来存储应用程序日志。来自我们系统中多个组件的日志将存储在这里。我们期待着大量的写操作和极少量的读取。
我们用来写入DynamoDB的客户机为分区键生成一个UUID,但是使用它会使实际搜索变得困难。
最突出的搜索案例是,
根据我到目前为止所读到的,对分区键使用UUID并不适合我们的情况。我目前正在考虑使用分区键和ISO 8601时间戳作为我们的排序键。对于这样的用例,这听起来合理/广泛使用吗?
如果不是,请提出可供使用的替代方案。
发布于 2016-12-28 06:30:55
但是,为了通过时间戳以外的任何方法检索日志,您可能必须创建单独收费的索引(GSI)。
希望您的日志足够珍贵,可以存储在DynamoDB中而不是CloudWatch中;)
发布于 2017-02-26 09:15:55
一般来说,DynamoDB似乎是存储日志的糟糕解决方案:
但是,假设您已经知道了这些缺点,并且仍然希望使用DynamoDB,下面是我的建议:
这种方法在日志保持方面也有优势。用这种方式删除超过X天的日志是非常容易和便宜的。通过保持旧桌子的容量非常低,你也将避免非常高的成本。对于更复杂的即席分析,请使用电子病历。
https://stackoverflow.com/questions/41114717
复制相似问题