什么是适合跟踪的数据库?我对您使用非关系NoSQL系统的经验特别感兴趣。
它们对这种用法,您使用过的系统以及推荐的系统有什么好处,还是我应该使用普通的关系数据库(DB2)?
我需要从大量资源中收集审计跟踪/记录类型信息
集中式服务器,可以高效地生成报告并检查系统中正在发生的事情。
通常,审核/记录事件将始终由一些必填字段组成,例如
全局唯一ID(某些方式由生成此事件的程序生成)
时间戳记
事件类型(即用户登录,发生错误等)
有关源(服务器1,服务器2)的一些信息
此外,该事件可能包含0-N个键值对,其中值可能长达几千个字节。
它必须在Linux服务器上运行
它应该可以处理大量数据(例如100GB)
它应该支持某种有效的全文本搜索
它应该允许并发读写
添加新事件类型并向新事件添加/删除键值对应该是灵活的。灵活=无需更改数据库架构,生成事件的应用程序可以根据需要添加新的事件类型/新字段。
对数据库进行查询应该是高效的。用于报告和探索发生了什么。例如:
在某个时间段内发生了多少个类型为X的事件。
获取所有事件,其中字段A的值为Y。
获取所有类型为X的事件,并且字段A的值为1,字段B的值为2,并且事件发生在最近24小时内
最佳答案