根據多個來源如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