【问题标题】:Storing and Analyzing Logs Database Selection存储和分析日志数据库选择
【发布时间】:2011-12-26 03:02:46
【问题描述】:

我正在构建一个内部工具,它将是开源的,用于获取日志并将它们放入数据库 - 简单地说。从那里,该工具还将分析日志并帮助系统管理员和开发人员实时提醒正在发生的问题。这是很多 CPU 来处理这个的,超出了这个问题的范围。

我想知道的是选择什么数据库可以允许并快速执行一些关键任务:

  • 存储大量按事件类型分类的事件
  • 执行大量读取以开发图表以分析正在记录的事件
  • 实时读取以向系统发送和触发自动警报。

任何其他帮助也将不胜感激。代码开启。

【问题讨论】:

  • Mongodb 应该是解决这个问题的好方法,看看this 关于登录 mongodb。

标签: mysql mongodb logging database


【解决方案1】:

据我观察,对于您描述的任务——大量日志存储,MongoDB 的性能比 RDBS 好得多。特别好的表现是有上限的集合。我见过的 RDBS 的主要性能滞后是插入时间。 RDBS 的巨大缺点是架构,如果需要,升级是一个主要的痛苦。由于这些原因,我们开始转向 MongoDB - 查看logFaces。如果您正在为开源社区构建自己的工具 - 尝试确保它适用于任何数据库,而不仅仅是特定品牌。但随后它就变成了一项不那么微不足道的任务:)

(供披露-我是logFaces的原作者,所以意见可能有偏见)

【讨论】:

    【解决方案2】:

    只存储事件听起来像是一个简单的模型,所以您可能想看看 NoSQL 数据库。我认为在这种情况下,用于真正大量数据的键值存储/大表将比基于文档的数据库更好。

    另一方面,大量读取和分析听起来像是您可能想要构建一个数据仓库系统。这是很好的旧 SQL 方法,没有为优化读取进行一些规范化。虽然设计和实施可能需要一些时间。

    【讨论】:

    • 这实际上导致了您是否可以将这两个概念结合起来的问题。我还没有找到答案。我真的很想知道,因为我也在构建一个类似的系统,可以用与问题中相同(模糊)的词来描述。
    • 我正在研究 MongoDB 的 NoSQL 解决方案。
    猜你喜欢
    • 1970-01-01
    • 2011-08-01
    • 2017-10-02
    • 2012-04-07
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 2021-09-18
    • 2014-12-03
    相关资源
    最近更新 更多