我目前正在開發一個Google AppEngine(GAE)應用程序,並且我正在爲GAE DataStore最佳實踐苦苦掙扎。我想以最有效的方式使用DataStore。我使用Objectify框架,但如果有更好的選擇,我可以靈活地使用其他東西。高效使用GAE DataStore
我的應用程序使用了三個對象/表: - 物品(ID,描述) - 列表(ID,listId,listDescription - SecurityProfile(ID,listId,用戶名,存取類型)
我一個關係世界,我的項目和SecurityProfiles表將有一個外鍵,將它們鏈接到一個列表(ListId),然後我會在我的查詢中使用聯接。
我需要做的典型查詢: - 獲取特定查詢用戶(需要「用戶名」上的索引以按用戶名進行過濾,並需要從List表中獲取說明) - 獲取特定用戶列表中的所有項目(獲取項目鏈接到上述查詢中檢索的列表)
我很努力想出一種方法來以有效的方式鏈接不同的對象(最小化DataStore查詢和索引)。
我在其他文章中看到,應該避免連接,並且我應該儘可能地對模型進行去歸一化。
這麼樣的創建一個對象只: - 數據(ID,描述,listId,listDescription,用戶名,存取類型)
我可以看到如何從一個讀取點的工作,但如果我更新listDescription,一個accessType或添加一個新的用戶名,我可能不得不更新大量的記錄。這真的是要走的路嗎?
[GAE:如何有效地將面向對象的設計映射到Appengine數據存儲中](http:// stackoverflow。com/questions/9278805/gae-how-to-map-object-oriented-designs-into-appengine-datastore-efficient) –