相关疑难解决方法(0)

使用RDBMS作为事件源存储

如果我使用RDBMS(例如SQL Server)来存储事件源数据,架构可能是什么样的?

我从抽象的意义上看到了一些变化,但没有具体的.

例如,假设有一个"产品"实体,对该产品的更改可以采用以下形式:价格,成本和描述.我很困惑我是否:

  1. 有一个"ProductEvent"表,其中包含产品的所有字段,其中每个更改表示该表中的新记录,以及"适当的人员,内容,地点,原因,时间和方式".当成本,价格或描述发生变化时,会添加一个全新行来表示产品.
  2. 将产品成本,价格和描述存储在使用外键关系连接到Product表的单独表中.当发生对这些属性的更改时,请根据需要使用WWWWWH写入新行.
  3. 在"ProductEvent"表中存储WWWWWH以及表示事件的序列化对象,这意味着必须在我的应用程序代码中加载,反序列化并重新播放事件本身,以便为给定产品重新构建应用程序状态.

特别是我担心上面的选项2.极端情况下,产品表几乎是每个表一个表,在这里加载给定产品的应用程序状态需要从每个产品事件表加载该产品的所有事件.这桌爆炸对我来说有点不对劲.

我确信"这取决于",虽然没有单一的"正确答案",但我试图了解可接受的内容,以及完全不可接受的内容.我也知道NoSQL可以在这里提供帮助,其中事件可以存储在聚合根目录中,这意味着只有一个请求数据库来获取事件来重建对象,但是我们没有使用NoSQL数据库.那一刻,所以我在寻找替代品.

cqrs event-sourcing

107
推荐指数
2
解决办法
3万
查看次数

标签 统计

cqrs ×1

event-sourcing ×1