DynamoDB中的UUID数据类型

Max*_*Max 5 uuid amazon-dynamodb

根据规范,UUID是128位或16字节.十六进制表示为36个字符,包括连字符.我正在构建一个关于DynamoDB的新表,我必须决定Hash键的类型,我计划填充UUID.我应该使用哈希键创建表,该键是这些UUID的字符串或二进制吗?我的直觉告诉我字节,因为它不到一半的大小,以节省带宽,空间等.

有没有人有这样或那样的经验,并有充分的理由与其他人一起去?

Che*_*rel 7

我个人更喜欢使用尽可能多的基于String的属性/键,主要是因为在AWS DynamoDB控制台中调试这些属性/键更容易.

我还觉得为IMO UUID不是压缩和原始二进制数据添加了二进制文件.

从纯粹的性能视图来看,你可能是对的 - 但我会坚持使用可读的UUID字符串表示.

  • @Max我现在正在玩这个.乍一看,它似乎可以节省空间,因为删除了破折号.测试'UUID'7309c8e6-00f0-4e3c-89cf-a1a79ce20de6在DynamoDB中变为cwnI5gDwTjyJz6GnnOIN5g ==.这确实压缩了存储和吞吐量方面的问题.如果您正在处理高事务环境,并且人类是否可以读取UUID并不重要,那么节省可能是有益的.陈是正确的"调试"方面,因为你需要使用你的代码来确保事情正确连接(不能用眼球).金融交易系统使用类似的技巧来延迟. (2认同)