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

Database 哪种NoSQL数据库最适合只追加审计日志用例?,database,nosql,append,Database,Nosql,Append,我的用例是资源的审计日志记录。为了讨论,考虑一个非常简单的模式:资源名称、访问时间戳和访问用户名。有了所有的NoSQL选项,我想知道哪种解决方案最适合我的用例 资源名称保存在图形数据库(Neo4j)中,虽然我们可以向连接到资源顶点的审核顶点添加顶点和边,但审核信息可能很大,我担心会污染相对简单的图形 我目前倾向于使用文档数据库,如MongoDB或Couchbase,其中每个资源都有自己的文档,并且审计日志是文档中的一个简单数组,可以附加到文档中。我担心I/O会成为一个问题,因为审核日志越来越长,

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

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

我目前倾向于使用文档数据库,如MongoDB或Couchbase,其中每个资源都有自己的文档,并且审计日志是文档中的一个简单数组,可以附加到文档中。我担心I/O会成为一个问题,因为审核日志越来越长,整个文档必须在app server和数据库之间交换。我看到的一个解决方案是使每个审核条目成为自己的文档,并将其ID附加到父资源文档数组中

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

对于我的用例来说,Redis似乎更为理想,但数据持久性似乎没有其他解决方案那么严格

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

对日志附加用例的任何见解都将不胜感激

这些问题似乎很相似:

谢谢,
Jared

面向日志,高度可扩展,允许以多种不同方式订阅消息。

每秒有多少请求?您需要将数据保存多长时间?老实说,postgres或mysql就可以了,只需归档旧数据即可。分析你的数据也会更容易。这是个好问题,但遗憾的是没有像样的回答,你最终选择了哪种解决方案?