gpt4 book ai didi

cqrs - 为什么将 GUID 用作 EventStore 数据库中 EventSources 和 Events 表中 Id 字段的类型?

转载 作者:行者123 更新时间:2023-12-04 05:02:47 28 4
gpt4 key购买 nike

为什么使用 uniqueidentifier(相当于 .NET 中的 GUID)作为 EventSources 和 Events 表中 Id 字段的类型?

使用用作标识的整数类型(如 SQL Server 中的 bigint),以便数据库可以在执行插入时分配 Id 不是更快吗?

当涉及到事件溯源和 CQRS 时,我是一个完整的新手,所以如果有人问过并回答过这个问题,并且我的搜索不够正确,无法找到答案,我深表歉意。

最佳答案

注意:答案 2 和 4 假设您遵循领域驱动设计的一些基本原则。

  • ID 应该是唯一的 跨越不同的聚合类型,甚至跨越不同的有界上下文
  • 每个聚合必须始终处于有效状态 .拥有唯一 ID 是其中的一部分。这意味着在存储初始事件并且数据库生成并返回相应的 ID 之前,您无法对聚合进行任何操作。
  • 发送初始命令的客户端通常需要某种引用来关联创建的聚合。 客户端如何知道分配了哪个 ID ?请记住,命令是无效的,它们不会返回 ack/nack 之外的任何内容,甚至不会返回 ID。
  • 域问题(实体的识别)将严重依赖技术实现细节 (这实际上应该是#1)
  • 关于cqrs - 为什么将 GUID 用作 EventStore 数据库中 EventSources 和 Events 表中 Id 字段的类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914043/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com