日志查看实用程序库选择

den*_*ren 4 postgresql logging hadoop mongodb nosql

我将很快实现日志查看实用程序.但我坚持使用数据库选择.我的要求如下:

  • 每天存储5 GB数据
  • 5 TB数据的总大小
  • 在不到10秒的时间内搜索此日志数据

我知道如果我对表格进行分段,PostgreSQL将会起作用.但是我能否在上面写出这个性能.据我所知,NoSQL是日志存储的更好选择,因为日志结构不是很好.我看到了一个像下面的例子,看起来很有希望使用hadoop-hbase-lucene:http://blog.mgm-tp.com/2010/03/hadoop-log-management-part1/

但在决定之前我想询问是否有人之前做过这样的选择并且可以给我一个想法.哪个DBMS最适合这项任务?

mys*_*mys 5

我的日志非常结构化:)

我会说你不需要数据库,你需要搜索引擎:

  • Solr基于Lucene,它将您需要的所有内容打包在一起
  • ElasticSearch另一个基于Lucene的搜索引擎
  • Sphinx很棒的是你可以为每个搜索索引使用多个源 - 用其他事件丰富你的原始日志
  • Scribe Facebook搜索和收集日志的方式

@JustBob的更新:大多数提到的解决方案可以使用平面文件,而不会影响性能.所有这些都需要反向索引,这是构建或维护最难的部分.您可以批处理模式或联机更新索引.索引可以存储在RDBMS,NoSQL或自定义"平面文件"存储格式中(自定义 - 由搜索引擎应用程序维护)