不使用普通SQL数据库记录数据?

Xeo*_*oss 5 database logging memcached key-value nosql

我目前正在将我网站上的每个"失败"(登录/注册/等)记录到数据库中,这样我就可以监控给用户带来困难的时间 - 或者哪些用户/用户正在做可疑的事情.

但是,我发现我只需要大约一周左右的数据,因为我每天检查一次,最多需要查看过去一周的活动.

我想也许我应该尝试保存我的数据库从所有这些日志记录中获取的一些负载,并将数据放在memcached或couchdb之类的内容中.但是,我不确定如何将数据查询到结果集中.

您如何使用键值存储或文档数据库来监视日志并跟踪活动之间的关系?是否值得将另一个数据存储添加到服务器或只是让数据库不处理它?我提到了memcached和couchdb,因为如果需要,两者都可以使用非常轻的RAM(与mongodb和redis不同).

让我举个例子.IP 0.0.0.0在3小时内登录37次失败(每次记录),它也无法在2小时内重置有效电子邮件的密码84次.感谢我的日志,我现在可以研究(并阻止)这个机器人.另一方面,我看到在注册的5827个用户中,有2188个注册尝试失败.这告诉我,我的注册表格有问题导致许多人至少一次失败.

同样,赏金是用于使用键值或文档存储来记录数据的工作示例.

reg*_*fry 13

只需写入日志文件并离线分析即可.记录是一个已解决的问题,将一行文本写入磁盘上的文件就像您可能获得的那样便宜,IO和CPU一样.对数旋转也是一个解决的问题,重新发明那个轮子真的没有意义.

一旦日志数据在磁盘上,您就可以将其复制到另一台机器上,使用您想要的任何工具包进行解析和分析,如果您想使用文档存储,那么就是引入它的地方.使用该工作无需为前置生产机器增加负担.