当前位置:  开发笔记 > 后端 > 正文

存储许多日志文件

如何解决《存储许多日志文件》经验,为你挑选了1个好方法。

我有一个系统,它通过http(> 10k生产者,每天10个日志,每个约100行文本)从不同的地方接收日志文件.

我想存储它们以便能够计算misc.每晚统计它们,出口它们(按到达日期或第一行内容排序)......

我的问题是:存储它们的最佳方法是什么?

平面文本文件(具有适当的锁定),每个上传文件一个文件,每天一个目录/生产者

平面文本文件,所有生产者每天一个(大)文件(这里的问题将是索引和锁定)

带有文本的数据库表(由于内部原因,MySQL是首选)(pb与DB清除为删除可能会很长!)

数据库表,每行文本一条记录

具有分片的数据库(每天一个表),允许简单的数据清除.(这是分区.但是我有权访问的mysql版本(即内部支持)不支持它)

基于文档的DBàlacouchdb或mongodb(问题可能与索引/成熟度/摄取速度有关)

有什么建议?



1> kristina..:

(免责声明:我在MongoDB上工作.)

我认为MongoDB是最好的日志记录解决方案.它非常快,因为它可能比发送数据更快地插入数据.您可以对数据(例如,日期或日志级别的范围)以及索引和字段或字段组合进行有趣的查询.它也很好,因为你可以随机地向日志添加更多字段("oops,我们想要一些堆栈跟踪字段")并且它不会引起问题(就像使用平面文本文件一样).

就稳定性而言,很多人已经在生产中使用MongoDB(参见http://www.mongodb.org/display/DOCS/Production+Deployments).在我们转到1.0之前,我们还想要添加一些其他功能.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有