我将一些 JSON 架构存储在使用键定义的 DynamoDB 表中:
- 类型 - 哈希键
- 版本 - UUID
JSON 架构将存储在 schema
属性中。
我想知道的是,与随机生成的 uuid 相比,使用 MD5 或架构 blob 的其他哈希作为 uuid version
是否合适?
这有点主观,因为它取决于版本属性的语义,但如果您通常认为相同的架构是相同的版本,即使是无序的,那么是的。如果没有,那么没有。
我的意思是,考虑以下场景:
- "
- 架构 A"被添加到表中,它通过哈希派生的版本是"1"
- 项目已修改,现在具有"架构 A1",派生的版本为 "2"
- 该项目再次被修改,并且它与"架构 A"相同,因此它的版本再次变为"1"
这对你有用吗?在某些情况下,这是可以的,在其他情况下则不然。
注意:"架构 A"和"架构 A1"、"1"和"2"只是简化,不会失去通用性。
编辑
正如评论中指出的那样,要考虑的另一点是,空格和排序更改是否应被视为不同的模式或相同模式。