【发布时间】:2015-03-19 11:29:37
【问题描述】:
我正在构建一个以数据为中心的系统。我有大型分层数据集,但没有业务规则。系统的输出来自对数据和一些报告所做的一些计算。我需要有完整的审计跟踪(出于监管原因),并且能够从过去的任何时间对数据集运行计算。
出于这些原因,我认为使用 CQRS 的事件源系统是可行的方法。我见过的所有例子都围绕着创建聚合来做 ES。我遇到的问题是因为每条数据都是一个大的相关集合,我会有少量的大量聚合。另一种选择似乎是将设置拆分为多个部分,并将每个部分称为聚合。但是,为了进行任何计算,我必须加载数十万个聚合。
我的问题是,有没有人有过以数据为中心的 CQRS + ES 系统的经验?
有没有更好的方法在不使用 ES 的情况下存储数据集的历史?
感谢您的帮助。
【问题讨论】:
-
如果不知道数据集有多大,很难回答。计算是如何发生的,等等。
-
这是一个资产管理系统。每个资产有 100k+ 件设备。每个资产也有许多与之相关的项目。对于资产中的每件设备,每个项目都有 1k+ 个项目的层次结构。计算是针对一个项目进行的,需要设备(100k+ 项)加上项目中每个项目的所有数据。
标签: domain-driven-design cqrs event-sourcing