哪个NoSQL数据库最适合追加审计日志用例?

 坦普拉尼洛 发布于 2023-02-11 17:10

我的用例是资源的审计日志记录.有关讨论,请考虑一个非常简单的模式:资源名称,访问时间戳和访问用户名.有了所有NoSQL选项,我想知道哪种解决方案最适合我的用例?

资源名称保存在图形数据库(Neo4j)中,虽然我们可以将顶点和边缘添加到连接到资源顶点的审计顶点,但审计信息可能很大,我担心污染一个相对简单的图形.

我目前正倾向于使用MongoDB或Couchbase等文档数据库,其中每个资源都有自己的文档,审计日志是本文档中附加的简单数组.我担心I/O可能会成为一个问题,因为审计日志变长,整个文档必须在应用服务器和数据库之间交换.我认为最小化这一点的一个观点是使每个审计条目成为自己的文档,并将其ID附加到父资源文档数组.

目前不需要搜索审计日志,但是对于文档数据库,我觉得有一条很好的途径可以在以后集成Elastic Search.

看起来Redis可能对我的用例更加优化,但数据持久性并不像其他解决方案那样严格.

从概念上讲,我想我正在寻找支持"附加"API方法调用的任何NoSQL解决方案,而无需交换太多信息.具有讽刺意味的是,这基本上是一个SQL INSERT语句,但我担心传统的RDBMS不符合我的规模要求.审计表会变得非常快,我宁愿利用最新和最好的NoSQL方法进行分区/分片.

任何有关日志附加用例的见解都表示赞赏!

这些似乎是类似的SO问题:

审计日志的数据库设计

用于审计数据的NoSQL或RDBMS

谢谢,贾里德

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有