我正在創建一個小問題應用程序,需要一些幫助來設計我的模型關係。這個問題可能會相當複雜,但我會盡量簡潔。數據存儲設計查詢
瑣碎問題將全部成爲特定類別的一部分。類別可能是另一類別中的類別。如果創建/刪除了一個瑣事問題,我需要確保我還更新了一個計數器。通過這種方式,我可以看到每個類別中有多少個問題,並將其顯示給用戶。如果某個類別具有「子」類別,則需要顯示所有子類別的累計計數器。準確的符合是相當重要的,但不是任務關鍵。我不介意使用分片計數器。我的問題是,我應該如何設計,以便它將採用GAE非規範化並保持優化?
我在想有一個Category類,每個ListProperty都會代表祖先樹。它將按順序包含樹中每個父實體的鍵。但是,我是否應該在構造實體時指定父項,還是在這種情況下不需要?我想我可能不得不在交易中運行櫃檯更新,這就是爲什麼我正在考慮親子關係。
或者也許有更優化的設計我的關係的方式,仍然可以讓我保持每個類別中所有問題的相當準確的計數器。預先感謝您的幫助。
稍微偏離主題,但我注意到,你將使用的應用程序引擎的數據存儲。你有一些應用程序引擎和創建持久模型的經驗嗎?如果不是,我會指出App Engine的行爲與許多其他Persisten模型有些不同。我發現使用App Engine時遇到了一些約束,而不像Hibernate(在Java世界中)那樣更通用。例如查詢屬性路徑,例如你無法查詢triviaCard.someCategory.question。如果使用GAE – 2010-01-09 19:24:03
,我只是想要將這些約束條件應用到您的設計中。我不確定這是否適用於您的評論,但我沒有使用Java API。 – BMac 2010-01-09 19:34:44