使用AWS作为应用程序日志数据库

Spa*_*ile 4 logging error-logging amazon-web-services

我目前正在开发一个生成大量日志数据的大型Web应用程序.因为我们没有将所有事件记录到数据库的基础结构,所以我们将它们写入文件.不幸的是,这使得在日志中搜索特定事件非常困难,并且无法生成频率报告.

在试图找出如何实现更好的数据库日志记录时,我找到了亚马逊的服务.特别是SimpleDBDynamoDB.SimpleDB的一个用例是记录,但后来它说明了这一点

Amazon SimpleDB旨在存储相对少量的数据......

这似乎是矛盾的.这是我的问题:

  1. 这些数据库服务是否适合记录应用程序事件?
  2. 是否适合从日志数据生成报告?
  3. 我会使用时间戳作为主键吗?
  4. 这种服务有什么缺点或我应该考虑的其他事情吗?

更新2018-06-13:我已经使用SimpleDB在大型应用程序上记录应用程序数据.关键是将日志划分为与其生成时间段相对应的域(例如每天),以确保它们不会超出其限制.然后设置CRON作业以定期删除旧域.该解决方案运行良好,易于搜索.

Tim*_*ele 5

我的答案是基于我在生产环境中使用SimpleDB的经验.

  1. 我每天将数千个应用程序事件记录到SimpleDB.
  2. 我们有研究人员定期从SimpleDB中提取日志数据,他们从未抱怨过.我不确定在SimpleDB本身上运行报表查询,但是我不明白为什么这会出现问题,当我运行查询时,它们对我来说总是很快.
  3. SimpleDB索引所有列,没有"主键".
  4. 我个人不喜欢使用为与SimpleDB交互而构建的第三方工具.另外,根据您将使用的数据和处理量来考虑价格.