审计/日志数据库有哪些好的 NoSQL 和非关系数据库解决方案 [英] What are good NoSQL and non-relational database solutions for audit/logging database

查看:20
本文介绍了审计/日志数据库有哪些好的 NoSQL 和非关系数据库解决方案的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是合适的数据库?我对您使用非关系 NoSQL 系统的经验特别感兴趣.它们对这种用法有什么好处吗?您使用过并推荐使用哪个系统,或者我应该使用普通的关系数据库(DB2)吗?

What would be suitable database for following? I am especially interested about your experiences with non-relational NoSQL systems. Are they any good for this kind of usage, which system you have used and would recommend, or should I go with normal relational database (DB2)?

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

I need to gather audit trail/logging type information from bunch of sources to a centralized server where I could generate reports efficiently and examine what is happening in the system.

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

Typically a audit/logging event would consist always of some mandatory fields, for example

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

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

Additionally the event could contain 0-N key-value pairs, where value might be up to few kilobytes of text.

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

    推荐答案

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

    The two I've seen used successfully are MongoDB and Cassandra.

    这篇关于审计/日志数据库有哪些好的 NoSQL 和非关系数据库解决方案的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆