Dre*_*ars 5 python google-app-engine google-cloud-datastore
如果我有一对浮点数,它是否更有效(计算或存储)将它们存储为GeoPtProperty
比将元组腌制并将其存储为BlobProperty
?
如果GeoPt
要更聪明地将多个值保存在单个属性中,是否可以将其用于任意数据?我可以("Johnny", 5)
以同样有效的方式将元组存储在单个实体属性中吗?
以下是一些经验性的答案:
GeoPtProperty
使用31B的存储空间。
使用BlobProperty
取决于您存储的具体内容:
struct.pack('>2f', lat, lon)
=> 21B。简而言之,它看起来并没有GeoPt
做任何特别聪明的事情。如果您要存储大量这些,那么您可以用来struct
包装您的漂浮物。打包和解包它们struct
可能与序列化/反序列化相关的 CPU 成本有明显不同GeoPt
。
如果您计划为每个实体存储大量浮点数并且空间非常重要,那么您可以考虑利用CompressedBlobProperty
aetycoon 。
免责声明:这是所需的最小空间。根据房产名称的长度,每个房产的实际空间会稍大一些。模型本身也增加了开销(对于它的名称和密钥)。
归档时间: |
|
查看次数: |
953 次 |
最近记录: |