DDD /在图形数据库中存储域事件

米克378

我拥有一个使用Neo4j作为图形数据库的应用程序。
为了实现命令模式并优化我的请求(页面请求),我将读写分开(遵循CQRS建议),整个过程共享一个相同的数据库:neo4j数据库。(不是两个不同的)

现在,我打算存储一些域事件,例如UserRegisteredEventetc,以便由Actors(Akka)中托管的某些事件处理程序出队。

将域事件以简单的Neo4j节点存储在共享数据库中是否有意义?
还是我真的需要一个分层数据库,例如MySQL?

我精确地说,我的解决方案不需要事件源。

如果您可以某种方式关联存储的事件,或者想向这些事件添加更多的信息,这些事件可以用关系或属性来表示,那么图形数据库(在您的情况下为neo4j)是可行的方法,因为查询会更快比(或不是这样)标准化的rdbms。

同样,将来您可以轻松地添加更多属性,而无需考虑SQL和已添加实体的缺少属性。

因此,从我的角度来看,将事件节点添加到共享的neo4j数据库中是一种更好的方法,即使对于简单的节点也是如此,因为查询是在子图中进行的,并且不会影响您的业务领域。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章