gpt4 book ai didi

architecture - DDD/在图数据库中存储领域事件

转载 作者:行者123 更新时间:2023-12-02 04:35:24 27 4
gpt4 key购买 nike

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

现在我计划存储一些域事件,例如 UserRegisteredEvent 等,以便由 Actors (Akka) 中托管的一些事件处理程序出队。

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

我明确表示我的解决方案不需要事件溯源。

最佳答案

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

此外,将来您可以轻松添加更多属性,而无需处理 SQL 和已添加实体的缺失属性。

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

关于architecture - DDD/在图数据库中存储领域事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22091556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com