使用 MD5 作为版本控制标识符



我将一些 JSON 架构存储在使用键定义的 DynamoDB 表中:

  • 类型 - 哈希键
  • 版本 - UUID

JSON 架构将存储在 schema 属性中。

我想知道的是,与随机生成的 uuid 相比,使用 MD5 或架构 blob 的其他哈希作为 uuid version是否合适?

这有点主观,因为它取决于版本属性的语义,但如果您通常认为相同的架构是相同的版本,即使是无序的,那么是的。如果没有,那么没有。

我的意思是,考虑以下场景:

    "
  1. 架构 A"被添加到表中,它通过哈希派生的版本是"1"
  2. 项目已修改,现在具有"架构 A1",派生的版本为 "2"
  3. 该项目再次被修改,并且它与"架构 A"相同,因此它的版本再次变为"1"

这对你有用吗?在某些情况下,这是可以的,在其他情况下则不然。

注意:"架构 A"和"

架构 A1"、"1"和"2"只是简化,不会失去通用性。

编辑

正如评论中指出的那样,要考虑的另一点是,空格和排序更改是否应被视为不同的模式或相同模式。

最新更新