存储和分析日志数据库选择

时间:2011-12-26 03:02:46

标签: mysql mongodb logging database

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

我想知道的是选择哪种数据库可以快速执行许多关键任务:

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

任何其他帮助也将非常感激。代码。

2 个答案:

答案 0 :(得分:2)

根据我的观察,对于您描述的任务,MongoDB的性能比RDBS好 - 大量的日志存储。特别优秀的表演者是封顶收藏品。我看到RDBS的主要性能滞后是插入时间。 RDBS的巨大缺点是架构,如果需要升级是一个主要的痛苦。由于这些原因,我们已经开始转向MongoDB - 请查看logFaces。如果您正在为开源社区构建自己的工具 - 尝试确保它可以与任何数据库一起使用,而不仅仅是一个特定的品牌。但后来它变成了一个不那么微不足道的任务:)

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

答案 1 :(得分:1)

仅将事件存储为简单模型,因此您可能需要查看 NoSQL 数据库。我认为在这种情况下,真正大量数据的键值存储/大表将比基于文档的数据库更好。

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