事件溯源:读模型规范化还是反规范化

4
在事件溯源中,读模型投影应该是规范化(关系型)的还是非规范化(宽横向)的?公司使用两个SQL Server 2016数据库:WriteLogDatabase和ReadProjectionDatabase。(公司目前没有NoSQL MongoDB,这会有所帮助)
在金融公司中,我们导入平面文件(多行客户记录),应用业务过滤器、验证、转换逻辑和API将它们插入到多个表中:客户地址、客户贷款类型、客户电话、客户财务报表。当我们在未来的平面文件中得到一个新行时,我们必须重新将所有表联接成一行,提取所有数据,进行相应的更新,并将数据反馈回多个表中。只是想知道,在事件溯源中,把所有东西放在一个宽横向的非规范化方法中是否更好?
谢谢。
1个回答

5
在事件溯源中,事件是真相的来源,读模型是从这些事件计算出来的。您可以计算标准化和非标准化的读模型——选择权在您手中。
读模型应该被优化以进行读/查询操作。因此,如果非标准化的读模型让你免于在读取时进行联接操作-那就使用它吧。
另一方面,如果您的读模型用于某些自由形式的分析和报告工具,则标准化格式可能更方便用户使用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接