当前位置:  开发笔记 > 编程语言 > 正文

NoSQL解决方案最适合存储Apache error_log和access_log?Cassandra或MongoDB?

如何解决《NoSQL解决方案最适合存储Apacheerror_log和access_log?Cassandra或MongoDB?》经验,为你挑选了2个好方法。

我们为PHP开发了PaaS解决方案.作为其中的一部分,我们为开发人员提供了通过我们的API查看Apache error_log和access_log文件.

目前,我们将日志写入每个部署(vhost)分离的磁盘上的文件中.

由于对于更多的节点和部署,这不能很好地扩展,即使文件在分布式文件系统(GlusterFS)上,我们也希望切换到更好的状态.

特别是出于计费和统计原因,我们不希望每次都解析日志文件.

由于MongoDBs的copped集合对于日志记录来说看起来很棒,我们想要使用它.但事实证明它们似乎不适用于自动分片,因为我们期望更多的写入然后读取,这会破坏我们的观点.

另一种选择是Cassandra我喜欢它的每个节点都是平等的方法,但它们没有像封顶集合那样的东西.

事实证明,这两种解决方案都没有提供一个独特的功能,可以帮助我做出决定,或者我没有看到它.

所以我想知道的是,之前有人使用过这两个系统中的一个进行记录吗?你有什么经历,能给我一些提示吗?还是有其他解决方案更符合我们的需求吗?



1> the_void..:

Cloudkick如果您正在考虑使用,可以查看这篇文章Cassandra:4个月的Cassandra,一个爱情故事.

它们Cassandra用于存储系统的不同指标,这与存储日志文件有些类似.

编辑:

如果你还没有决定使用什么,这里有一个很好的解决方案MongoDB用作后端:

Graylog2是一个开源的syslog实现,它将您的日志存储在MongoDB中.它由一个用Java编写的服务器组成,该服务器通过TCP或UDP接受您的系统日志消息并将其存储在数据库中.第二部分是Ruby on Rails Web界面,允许您查看日志消息.



2> Gates VP..:

事实证明,这两种解决方案都没有提供一个独特的功能,可以帮助我做出决定,或者我没有看到它.

老实说,我们现在正在通过一些严肃的日志数据进行测试.(现在,我的意思是,我们中的一些人昨晚进行了这些测试.)

对我来说,这是两个显着特征:易用性经过验证的缩放.

便于使用

MongoDB很简单.几个小时后,我从空白计算机转到一个活动的Mongo实例,使用MySQL导入的数据和一些已完成的map-reduced.

在同一时期,Cassandra团队坐下来重新编译Java文件,试图让Hadoop配置为运行现有的Cassandra实现,以便他们甚至可以运行map-reduced.

经验证的缩放

MongoDB分片仍处于测试阶段.它将在未来几周推出.那非常紧张.

Cassandra分片在一些非常大的实例中得到证实.

所以我认为答案真的是针对你的个人品味.老实说,我认为Cassandra可能是一种更稳定且经过验证的产品,但我从经验中也知道学习和设置曲线要陡峭得多.所以可能值得尝试两者兼而有之.

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