[問題] 關於分散式取值

作者: s1497k047 (財財)   2016-06-26 18:01:09
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倍,
無奈現行分配查尋機制無法更動,又考量到一次全部查詢會有效率上的問題
懇請各位專家解惑

Links booklink

Contact Us: admin [ a t ] ucptt.com