[請益] 分散式取值問題

作者: s1497k047 (財財)   2016-06-27 12:04:18
Hi 各位大大
現有架構為 a b c 三個資料庫
倘若我要取10筆搜尋結果 ,則會分成三台機器,
a機器查一次吐回1-10筆 給main
b機器查一次吐回1-10筆 給main
c機器查一次吐回1-10筆 給main
再由一台 main 做條件的排序,過濾等等
再取1-10筆,顯示搜尋結果
假設我要取回來的結果依照某個屬性來做groupby
則會a,b,c資料庫 搜尋時做一次groupby
吐回給main時 再做一次groupby ,防止a b c互相有重複的資料。
問題來了
假設有一筆資料 groupby之後 是再a資料庫的第11筆,但是再b資料庫是第一名
依照現行做法 會導致groupby記數錯誤每一筆資料的group_total 非正確結果
有沒有一種演算法能夠推估出依照 a b c某筆資料的排名,來設定出應該要取幾筆最安全
,ex: 都取抓的目的資料筆數的3倍/5倍,
無奈現行分配查尋機制無法更動,又考量到一次全部查詢會有效率上的問題
懇請各位專家解惑
作者: artopll (命運)   2016-06-27 18:24:00
不太懂 groupby 是用什麼當條件? 從a,b,c groupby之後到main 不能再用相同條件在groupby?另外你a,b,c groupby之後 在設計一個去掉重複結果, 在進入main 算做你要的資訊
作者: alandidi (阿倫弟弟)   2016-06-28 00:42:00
撈資料進行behide code邏輯判斷吧

Links booklink

Contact Us: admin [ a t ] ucptt.com