什么是审计/日志数据库的NoSQL和非关系数据库解决方案

Juh*_*älä 14 logging audit-trail nosql

什么是适合以下的数据库?我对你使用非关系型NoSQL系统的经历特别感兴趣.它们是否适用于这种用法,您使用过哪个系统并建议使用,或者我应该使用普通的关系数据库(DB2)?

我需要将来自一堆源的审计跟踪/日志记录类型信息收集到中央服务器,在那里我可以有效地生成报告并检查系统中发生的情况.

通常,审计/日志记录事件总是包含一些必填字段

  • 全局唯一ID(一些如何由生成此事件的程序生成)
  • 时间戳
  • 事件类型(即用户登录,发生错误等)
  • 有关源的一些信息(server1,server2)

此外,该事件可能包含0-N键值对,其中值可能高达几千字节的文本.

  • 它必须在Linux服务器上运行
  • 它应该适用于大量数据(例如100GB)
  • 它应该支持某种有效的全文搜索
  • 它应该允许并发读写
  • 添加新事件类型并向新事件添加/删除键值对应该是灵活的.灵活=数据库模式不需要进行任何更改,生成事件的应用程序可以根据需要添加新的事件类型/新字段.
  • 对数据库进行查询应该是高效的.用于报告和探索发生的事情.例如:
    • 在某个时间段内发生了多少个type = X的事件.
    • 获取字段A具有值Y的所有事件.
    • 获取类型为X的所有事件,字段A的值为1,字段B不为2,事件发生在最后24小时

Doo*_*obi 3

我见过成功使用的两个是MongoDBCassandra

  • MongoDB 非常适合日志记录:http://blog.mongodb.org/post/172254834/mongodb-is-fantastic-for-logging (2认同)