這不是一個應用程序引擎問題,儘管我們的應用程序在App-Engine上使用NDB對數據存儲進行Python運行。所以問題是關於在分佈式系統中處理大型數據集的工作。計算非常大且不斷變化的數據集的最佳實踐
我們有一個不斷增長的數據集,我們需要計算對(數量,金額等)的統計數據。我們有一套系統,能夠以不同的方式成功執行此操作,以便在事物發生變化時以事務方式進行維護......但有些情況下,我們希望刪除統計數據並從頭開始重新計算它們,或者運行驗證例程檢查計數/款項,我們一直保持着差異
問題是,一般,什麼是建築統計對非常大的數據集的一些最佳做法,是不斷在分佈式系統中的變化?
比方說,我們啓動了一個大型MapReduce作業,對一百萬個實體上的特定字段進行求和...並且在該作業運行時出現了幾個新實體,其中幾個被刪除,並且其他幾個求和屬性也發生了變化。爲確保這些增加/刪除/更改將其納入整體總和,最出名/已接受/成功的一些方法是什麼?
是的,我們也這麼做......但是我們必須得到一個堅實的基線才能開始,如果數據集非常大,這可能會有問題。一旦我們建立了基線,我們使用鉤子來跟蹤差異 –
您能否詳述一下,我不確定我在追隨? – Y2H
它聽起來像你在另一組模型中的實體上保存統計信息,並且當更改發生時更新這些統計信息(例如:每次添加/刪除文件時,都會在某處增加/減少計數器)。這很好,除非你有5百萬個文件,並且你需要精確地統計它們,所以你可以設置你的統計。我跟着你嗎? –