【发布时间】:2010-05-05 14:59:16
【问题描述】:
什么是合适的数据库?我对您在非关系 NoSQL 系统方面的体验特别感兴趣。 它们对这种用法有什么好处吗?您使用过并且会推荐哪个系统,或者我应该使用普通的关系数据库(DB2)吗?
我需要从一堆来源收集审计跟踪/日志记录类型信息到 集中式服务器,我可以在其中高效地生成报告并检查系统中发生的情况。
通常,审核/日志记录事件总是包含一些必填字段,例如
- 全球唯一 ID(生成此事件的程序如何生成)
- 时间戳
- 事件类型(即用户登录、发生错误等)
- 关于源(server1、server2)的一些信息
此外,事件可能包含 0-N 个键值对,其中值可能高达几千字节的文本。
- 必须在 Linux 服务器上运行
- 它应该适用于大量数据(例如 100GB)
- 它应该支持某种高效的全文搜索
- 应该允许并发读写
- 应该灵活地添加新的事件类型和添加/删除键值对到新的事件。灵活=不需要更改数据库架构,生成事件的应用程序可以根据需要添加新的事件类型/新字段。
- 对数据库进行查询应该是有效的。用于报告和探索发生的事情。例如:
- 在某个时间段内发生了多少 type=X 的事件。
- 获取字段 A 的值为 Y 的所有事件。
- 获取类型为 X 且字段 A 的值为 1 且字段 B 不是 2 且事件发生在过去 24 小时内的所有事件
【问题讨论】:
标签: logging nosql audit-trail