根据Johan Euphrosine 的演示文稿等多个来源,AppEngine 将属性名称与数据和索引一起存储。因此,我在 Datastore 中使用缩短版本的种类和属性名称来节省磁盘空间:
@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?