Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 您将使用什么数据库进行日志记录(即als日志文件替换)_Database_Logging_Nosql - Fatal编程技术网

Database 您将使用什么数据库进行日志记录(即als日志文件替换)

Database 您将使用什么数据库进行日志记录(即als日志文件替换),database,logging,nosql,Database,Logging,Nosql,在使用grep之类的工具分析了一些千兆字节的日志文件之后,我想知道如何通过使用数据库将这些文件记录到日志中来简化这一过程。什么数据库适合这个用途?当然,一个vanillia SQL数据库可以工作,但它提供了很多事务性保证等,这在这里是不需要的,如果使用千兆字节的数据和非常快的插入速率,那么它可能会变得很慢。因此,NoSQL数据库可能是正确的答案(比较一些建议)。对数据库的一些要求是: 能够处理千兆字节甚至千兆字节的数据 快速插入 每个条目上应该可以有多个索引(例如时间、会话id、URL等) 如

在使用grep之类的工具分析了一些千兆字节的日志文件之后,我想知道如何通过使用数据库将这些文件记录到日志中来简化这一过程。什么数据库适合这个用途?当然,一个vanillia SQL数据库可以工作,但它提供了很多事务性保证等,这在这里是不需要的,如果使用千兆字节的数据和非常快的插入速率,那么它可能会变得很慢。因此,NoSQL数据库可能是正确的答案(比较一些建议)。对数据库的一些要求是:

  • 能够处理千兆字节甚至千兆字节的数据
  • 快速插入
  • 每个条目上应该可以有多个索引(例如时间、会话id、URL等)
  • 如果可能的话,它会以压缩的形式存储数据,因为日志文件通常非常重复

更新:关于此:和,已经有一些SO问题。但是,我很好奇哪些数据库满足哪些要求。

根据您的需要可能是一个不错的选择。它不仅仅是一个数据库,你还可以得到各种各样的报告。另外,它被设计成日志文件的替代品,因此他们已经解决了缩放问题。

有许多不同的选项,您可以研究。您可以使用它进行分析,并使用和加载日志文件。MongoDB也可能是一个不错的选择,看看这篇关于

的文章在尝试了很多nosql解决方案之后,我的最佳选择是:

  • riak+riak搜索可实现极大的可扩展性
  • mysql/postgresql中的非规范化数据
  • mongoDB如果你不介意等的话
  • 如果你知道你在找什么
Riak+Riak搜索可以轻松扩展(真的!),并允许您对数据进行自由形式的查询。您还可以轻松地混合数据模式,甚至可以使用innostore作为后端压缩数据

如果你真的想使用索引而不是慢到爬行的速度,MongoDB很讨厌在数GB的数据上扩展。考虑到单节点性能,它非常快,并提供索引创建。一旦您的工作数据集不再适合内存,它就会成为一个问题

mysql/postgresql仍然相当快,由于通常的b+树索引,它允许自由形式的查询。看看postgres,看看是否有些字段没有出现在每条记录中。它们还提供压缩表,并且由于模式是固定的,所以不会反复保存行名称(这是许多nosql解决方案通常发生的情况)

CouchDB很好,如果您已经知道要查看的查询,那么它们基于map/reduce的增量视图就是一个很好的系统