2014-07-24 78 views
0

我想用app引擎爲小型足球聯賽制作一個小型後端應用程序,我考慮使用數據存儲和對象化代替傳統的SQL數據庫。與對象化的足球聯盟表

我想顯示matchdays和聯盟表。我也希望能夠顯示角蛋白比賽的聯賽排名。

例如: 讓我們假設當前的比賽日是本賽季的第六個比賽日。我希望能夠顯示第四個比賽日的聯賽排名(其1.比賽日+2比賽日+3。比賽日+4比賽日)的積分總和

我將如何模擬這樣的事情在使用數據存儲和客觀化的應用程序引擎上? 聯賽桌上的查詢會如何?

或者這是一個很好的例子,我應該使用傳統的SQL數據庫,因爲用SQL你可以在你的sql語句中執行SUM()?

回答

0

你通常有兩種選擇:

  • 實時計算(可能緩存)
  • 預先計算和存儲

很難說這是因爲它在你的情況更好取決於數據和查詢量。使用GAE往往會使開發人員偏向於預先計算,特別是當過去的數據沒有變化時。例如,每晚彙總過去的數據。現在你的查詢速度很快。

+0

「即時計算」似乎在傳統的sql數據庫中要容易得多。預先計算和存儲也是我的第一種方法,但我認爲會有另一個最佳實踐建議。通過預先計算:例如,我想添加球員統計數據給聯盟頂級得分手和球隊最高得分手,我必須重新計算並存儲聯盟最佳射手得分,併爲每支球隊和可能需要在比賽日實時重新計算。所以我想SQL +內存緩存對我的聯盟項目會更好......你覺得呢? – sockeqwe

+0

這不是關於SQL與數據存儲。這是關於預先計算與即時計算的關係。 sql和數據存儲都爲您提供了兩個選項。這取決於你決定和實施。考慮到你的應用程序很小,不要浪費太多時間。挑一個,然後去做。你可以在將來重構。 –

+0

SQL使很多事情變得簡單,包括像GROUP BY這樣的不能擴展到大數據量的東西。在你的情況下,由於數據量很小,可能無所謂,但GAE數據存儲有點單一,阻止任何可能的活動,不會擴展到Google的大小。有折衷。如果您的數據量很小,結構數據嚴密,那麼RDBMS沒有任何問題。 – stickfigure