2012-06-25 24 views
4

我想了解Google App Engine(GAE)數據存儲是如何設計的以及如何使用它。我有點難以從getting started page的描述中看到結構。對GAE數據存儲的視覺理解

有人可以解釋數據存儲使用數字爲我們視覺導向的人嗎?或者在考慮視覺學習的同時再次指出一個好的教程?

我特別尋找解釋如何使用GAE的圖表/數字的答案。

+0

什麼,特別是,你想可視化? –

+0

@DanielRoseman:基本上不同的術語是如何相關的:實體,鑰匙,父母/子女關係,祖先。它被描述爲文本中的層次結構,並且我希望對其進行可視化表示。此外如何實體組和祖先查詢相關的。 –

+0

offtopic:undskyld at jeg blander migsådanher,men jeg ved ikke lige hvordan jeg ellers kan skrive til dig :) Jegså[dit spm heromme](http://parenting.stackexchange.com/questions/5450/what-is -high-unit-as-used-in-hcg-levels)在du ikkeføler挖掘jagetvæk! [聊天](http://chat.stackexchange.com/rooms/388/parenting)hvis du vil。 –

回答

2

非常簡化我已經瞭解GAE可以看作hashmaps的散列表。

這就是說,你可以認爲它是這樣的:

GAE datastore visualised

+0

謝謝,這正是我正在尋找的答案的類型。 :) –

1

我想有沒有正確的答案在這裏,只是不同的心態模型。根據您的編程背景,您可能會發現我的啓發,干擾或兩者兼而有之。我將數據存儲描繪爲一個單一的大型分佈式鍵值集合,它包含任何名稱空間中的任何類型的實體數據以及所有用戶的所有GAE應用程序。單個存儲桶稱爲實體組。它有一個根密鑰(引擎蓋下)由你的appID,一個名字空間,一種類型,一個實體ID或名字組成。在一個實體組中駐留有一個或多個具有擴展根密鑰的密鑰的實體。屬於根密鑰本身的實體可能存在也可能不存在。單個實體組內的操作是原子的(事務性的)。一個實體是一個簡單的類似地圖的數據結構。 2個內置索引(升序和降序)再次是2個巨大的排序索引條目集合。每個索引條目都是appID,名稱空間,類型,屬性名稱,屬性類型,屬性值,實體鍵的數據結構 - 按該順序。 每個實體的每個屬性的每個(自動)索引值都會創建2個這樣的索引條目。還有另外一個只有實體鍵的索引。然而,自定義索引轉到又一個排序的集合,其中包含appID,名稱空間,索引類型,組合索引值,實體鍵的條目。這是使用元數據的整個數據存儲的唯一部分。它存儲一個索引定義,告訴商店如何從實體形成組合索引值。這是我腦海中燃燒的圖像,我知道如何讓數據存儲開心。