0

由于遗留系统问题,我正在研究将 CQRS 读取模型存储在 SQL Server 表中(请参阅此问题的方法 2 和 3 )。

虽然我想使用 MongoDB 等文档数据库来实现读取模型,但由于目前无法重新设计外部系统,我现在坚持将所有内容都保存在 rdbms 中。

由于我正在研究以适当的非规范化方式存储记录,因此在处理典型的分层数据时实际存储它们的最佳方式是什么,例如典型的 Customer / Order / LineItems /etc,必须全部显示在相同的观点?[编辑:我在想的是,我将查询模型所需的数据放在单独的字段中,但将完整对象放在“对象数据字段”中]

由于我的遗留系统(大部分是我无法控制的),我正在考虑将触发器添加到遗留系统表或进行 sproc 更改以使我的读取模型保持最新,但我应该如何实际存储数据本身?

我考虑将它们作为 JSON 存储在一个字段中,或者将它们存储为 XML,因为两者都可以轻松地从 .net 应用程序进行序列化/反序列化,并且可以通过数据库中其他活动的触发器合理地轻松更新。(当您习惯 Xpath/XQuery 时,它并没有那么糟糕,从这里的另一个答案,我找到了一个用于 T-SQL 的 JSON 解析器

有更好的方法吗?如果不是,我应该使用 XML 还是 JSON?

4

1 回答 1

1

我会使用 XML,因为它在 SQL Server 中具有内置支持。一般来说,我会避免使用用 T-SQL 编写的任何其他内容,因为维护这可能是一场噩梦。

于 2012-07-06T10:25:10.907 回答