根据多个来源如this presentation by Johan Euphrosine,AppEngine将属性名称与数据和索引一起存储。正因为如此我使用缩短的种类和属性名的版本,在数据存储,节省空间的磁盘:在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%的压缩,但是这是一种理论上的做法,难以推进,而不平台进行的内部知识R M。我的问题是:这是常见的做法吗?有没有人测量过在NoSQL中储存的缩短的属性名称,特别是AppEngine?
从我记得您可以在应用程序中使用的“名称”和您在数据存储区中使用的名称(以Python的形式)。简而言之,如果你存储数百万条记录,然后你的节省将是“数记录X字符串的长度”的每一个。所以,如果你预计有很多很多的记录.... –
我觉得长属性名的数据存储中的影响是类似于JSON的问题 - 有短属性名称将帮助你俩当存储你的实体在DS和当它发送到您的客户端应用程序。 – Tom