gpt4 book ai didi

google-app-engine - 在 AppEngine 中使用较短的属性名称是否被认为是一种好的做法?

转载 作者:太空宇宙 更新时间:2023-11-03 15:28:09 25 4
gpt4 key购买 nike

根据多个来源,如 this presentation by Johan Euphrosine , AppEngine 将属性名称与数据和索引一起存储。因此,我在数据存储区中使用缩短版本的种类和属性名称来节省磁盘空间:

@Entity("p")
public class PersistentClass {

@Property("n")
private String name;

}

该实体的索引条目将在以下行中:

PersistentClass:1
PersistentClass:name:foo:PersistentClass:1

与(应用缩短的属性名称)相比:

p:1
p:n:foo:p:1

这是 73% 的压缩率,但这是一个理论练习,如果不了解平台的内部知识就很难推进。我的问题是:这是常见的做法吗?有没有人测量过在 NoSQL,尤其是 AppEngine 中存储缩短的属性名称的节省?

最佳答案

回答这个问题最简单的方法可能是通过简单的测试。我刚刚将示例应用程序放入 Gist ( https://gist.github.com/jeremydw/7201456 ) 中,我在其中测试了 2000 个具有长属性名称的模型实体的创建,以及 2000 个具有单字符属性名称的模型实体的创建。

使用数据存储统计模块 (https://developers.google.com/appengine/docs/python/datastore/stats) 确认较长的属性名称确实占用了更多的磁盘空间。 (在此特定实验中为 278KB。)测量创建或检索实体的时间也是一个有趣的测试,因为这也会影响您的应用程序的速度。

这是单个测试的结果:

name: l_PersistentClass2, bytes: 1507635
name: super_very_long_property_name_PersistentClass1, bytes: 1787607
difference: 279972 bytes

关于google-app-engine - 在 AppEngine 中使用较短的属性名称是否被认为是一种好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19640213/

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