事件源和 SQL Server 多个关系表

2024-05-04

我们使用 SQL Server 2016 的事件源。我们有完整的客户产品应用程序,每个应用程序都标记为CustomerId并在事件商店中获取单个指南行项目。这是写入事件存储指南的主要标识符。产品应用程序附带许多不同的关系事物(没有引导,但有自然键),每个客户都有多个地址、帐户、多个采购订单。写入事件存储将按照我们选择的任何方式映射到关系数据库表。在数据库中,我们尝试通过代理键而不是自然键来关联连接。

代理键可以是 Guid,还是我们可以利用整数(也许是 Identity)来加快连接速度?

请记住,写入事件存储中唯一的主要标识符是来自客户 ID 应用程序的 Guid(带有我们想要建模的一堆表列属性的大 json blob),但是在读取模型中可以随时更改的子关系表没有Write 事件存储中的子 Guid。


是的,您可以在特定的情况下使用您需要的任何东西read model实施,但你需要考虑到read model应该是可重建的随时。所以,当一个read model重新构建后,它可能会使用其他代理 ID,或者您只需以每次获得相同 ID 的方式实现它(我指的是Autoincrement特征)。

附:你为什么不尝试对你的数据进行非规范化呢?在event sourcing通常避免使用 join 而不是让它们更快read model.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

事件源和 SQL Server 多个关系表 的相关文章

随机推荐

  • 最大流量算法的修改

    我试图解决一个关于最大流量问题 http en wikipedia org wiki Maximum flow problem 我有一个源和两个接收器 我需要找到该网络中的最大流量 这部分是一般的最大流量 然而 在这个特殊版本的最大流量问题
  • 用于存储应用程序用户机密的 Azure Key Vault 机密

    在我的应用程序中 我必须存储用户的非常敏感的数据 例如其他第三部分服务的各种密码 用户填写一个表格 向我们提供第三部分服务的登录名和密码 该应用程序的目标是使用从 100 多个输入生成的 powershell 脚本来设置其他复杂系统 需要将
  • 带有复合主键的 Room @Relation

    我的问题是这个问题的延伸 也是我的 gt 房间复合主键链接到外键 https stackoverflow com questions 50248668 room composite primary key link to foreign k
  • 将 QTcpSocket 绑定到特定端口

    我正在通过一个连接QTcpSocket to a QTcpServer 我可以在服务器端指定侦听端口 但客户端会选择随机端口进行连接 我尝试过使用该方法QAbstractSocket bind但这没有什么区别 这是我的代码 void Con
  • 我如何使用 angularJS Restful 服务使用来自外部文件的 json 数据

    我正在开发一个应用程序 我正在从一个中检索 json 数据 使用 http get 方法的外部文件工作正常 现在我正在尝试使用角度 安心的服务 它在过滤器中工作正常 但是当我在控制器中使用它时 它是 显示未定义 Service js Fil
  • PDF解析提取CheckBox字段值

    我有一个 PDF 文档 想要从 PDF 和 Chackbox 和单选按钮类型字段值中提取内容 PDF 文件的版本为 1 4 Acrobat 5 x 可以从网络浏览器生成 CheckBox appear such types in PDF 我
  • 在 x86 程序集中将整数打印到控制台

    当我在 16 位汇编中添加两个值时 将结果打印到控制台的最佳方法是什么 目前我有这个代码 CODE START mov ax 1 put 1 into ax add ax 2 add 2 to ax current value mov ah
  • 在调试器中枚举 EF6 中的 IEnumerable 会出现“无法评估子项”错误

    我有一个新的 ASP NET MVC 5 项目 并尝试通过 IdentityDbContext 查询代码优先数据库 如果我查询特定的 DbSet 并插入断点 尝试读取 IEnumerable 的内容将导致 VS 2013 告诉我无法评估子级
  • 如何在 C 中将文本文件作为命令行参数

    基本上 我试图接受命令行文本文件 以便当我以 program instructions txt 运行程序时 它会存储指令中列出的值 但是 我在测试当前拥有的内容时遇到了麻烦 因为它给了我错误 分段错误核心已转储 int main int a
  • python virtualenv和flask安装。没有名为flask的模块

    运行基本程序时我不断收到此错误 ImportError No module named flask 这是基本的程序 from flask import Flask app Flask name app route def hello wor
  • Android 中的 FLAG_ACTIVITY_CLEAR_TOP

    有人可以用一种非常简单的方式向我解释一下什么是FLAG ACTIVITY CLEAR TOP意思是 我知道有很多关于它的问题 但没有一个答案令我满意 有人还可以举一个这个标志有用的例子吗 谢谢 请检查以下链接以获取相同的详细信息 http
  • 无法在 Android Studio 中向 Activity_main.xml 添加任何项目

    在 Android Studio 中 我无法在设计视图中将调色板中的任何项目添加到 Activity main xml 中 它只是不允许我拖放它们 知道为什么会发生这种情况吗 这是打印屏幕 根据android studio中用于androi
  • 在运行时替换 Property Setter 方法

    我有许多共享一个公共基类的对象 我希望拦截所有设置属性值的调用 并记录这些值是否已在每个实例的基础上设置 我可以用反射替换运行时属性的 Set 方法吗 一种方法是使属性成为虚拟的 并在运行时通过反射发射创建一个子类来覆盖属性 添加您的代码
  • python-daemon 不记录标准输出重定向

    我在代码中使用 python daemon 其中包含 print 语句 我想将它们发送到一个文件 所以我运行了以下命令 python server py gt gt log out 然而什么也进不去log out 谁能告诉我我需要做什么 T
  • 在php中声明一个对象数组

    如何将 php 中的对象列表声明为私有实例变量 在 Java 中 声明看起来像这样private ArrayList ls构造函数会有这个ls new ArrayList Thanks PHP 动态分配内存 而且它并不关心您在数组中存储什么
  • 在 CSS 规则中重复类名是否会增加其优先级?

    假设我有一个 div li class menu item li 有人可以告诉我是否可以使用li menu item menu item menu item 使这个CSS规则具有更高的优先级 Update 下面是说明这一点的代码 ul li
  • 在 Windows 上使用堆栈安装 SDL2 for Haskell

    我正在尝试将 SDL2 与堆栈一起使用 我跟着这些说明 https www reddit com r haskellgamedev comments 4jpthu windows sdl2 is now almost painless vi
  • 使用 JavaScript 进行 CAPTCHA 验证

    我正在尝试使用 JavaScript 验证验证码 但我找不到任何有关验证码客户端 API 的资源 你有任何文件吗 If you could通过 JavaScript 验证验证码 这意味着在您传递给客户端的代码中可以轻松找到有效代码的方法 这
  • jQuery 对表列重新排序

    我找到了适用于行的各种解决方案 以及适用于普通表列的各种解决方案 但我需要一个允许我拖放 colspan gt 1 的列标题的解决方案 例如 table thead tr th A1 th th A2 th th A4 th th A5 t
  • 事件源和 SQL Server 多个关系表

    我们使用 SQL Server 2016 的事件源 我们有完整的客户产品应用程序 每个应用程序都标记为CustomerId并在事件商店中获取单个指南行项目 这是写入事件存储指南的主要标识符 产品应用程序附带许多不同的关系事物 没有引导 但有