【问题标题】:Using AWS for application logging database将 AWS 用于应用程序日志记录数据库
【发布时间】:2012-09-24 13:54:44
【问题描述】:

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

在试图弄清楚如何实现更好的数据库日志记录时,我发现了 Amazon 的服务。特别是SimpleDBDynamoDB。 SimpleDB 的用例之一是logging,但后来它声明

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

这似乎是矛盾的。以下是我的问题:

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

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

【问题讨论】:

    标签: logging amazon-web-services error-logging


    【解决方案1】:

    我的回答基于我在生产环境中使用 SimpleDB 的经验。

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

    【讨论】:

    • 谢谢,感谢您的反馈。我将把这个问题留几天,看看是否有任何其他信息即将发布,但你的答案正是我想要的。
    【解决方案2】:

    SimpleDB 旨在存储相对少量数据。如果您有“大量的日志数据”并且想要“搜索日志以查找特定事件”和“生成频率报告”,那么您肯定想要使用 DynamoDB。

    DynamoDB 具有“散列键”(例如索引)和“范围键”,可让您以各种方式对数据进行排序。例如:“显示从上周到现在的所有 INFO 日志。”

    此外,如果您查看official DynamoDB forum,开发人员和支持人员非常乐意跟进并确保您的问题得到解答。

    【讨论】:

      猜你喜欢
      • 2016-07-19
      • 1970-01-01
      • 1970-01-01
      • 2021-03-22
      • 2014-10-01
      • 2013-08-01
      • 2011-07-11
      • 2016-02-26
      • 2021-03-09
      相关资源
      最近更新 更多