數(shù)據(jù)庫橫向分表(基因法)

架構(gòu)-水平切分架構(gòu)之基因法
https://blog.csdn.net/weixin_30470857/article/details/95320795

假設(shè)我們一條帖子的字段包含:帖子ID,發(fā)起的用戶ID
先考慮一個業(yè)務(wù)笑跛,用戶要發(fā)帖子冯凹,數(shù)量很大只估,需要分庫分表群扶,如何進行拆分
業(yè)務(wù):查詢用戶的所有帖子碗旅、查詢帖子詳情砚尽。

普通水平切分:
  根據(jù)帖子ID切分則無法一次查詢用戶的所有帖子拆撼;
  根據(jù)用戶ID切分則需要先查帖子所屬用戶容劳;

什么是分庫基因?
  通過uid分庫闸度,假設(shè)分為16個庫竭贩,采用uid%16的方式來進行數(shù)據(jù)庫路由,這里的uid%16莺禁,其本質(zhì)是uid的最后4個bit決定這行數(shù)據(jù)落在哪個庫上留量,這4個bit,就是分庫基因。

什么是基因法分庫楼熄?

  
image.png

如上圖所示忆绰,uid=666的用戶發(fā)布了一條帖子(666的二進制表示為:1010011010):
  使用uid%16分庫,決定這行數(shù)據(jù)要插入到哪個庫中
  分庫基因是uid的最后4個bit可岂,即1010
  在生成tid時错敢,先使用一種分布式ID生成算法生成前60bit(上圖中綠色部分)
  將分庫基因加入到tid的最后4個bit(上圖中粉色部分)
  拼裝成最終的64bit帖子tid(上圖中藍色部分)

這般,保證了同一個用戶發(fā)布的所有帖子的tid缕粹,都落在同一個庫上稚茅,tid的最后4個bit都相同,于是:
    通過uid%16能夠定位到庫
    通過tid%16也能定位到庫

基因法為什么能實現(xiàn)這個特性和其他應(yīng)用

利用了基因的思想平斩,從一個維度的信息里亚享,摘取了一個分庫基因,其他維度信息里也全會帶上
绘面,使得所有維度的信息都能通過此分庫基因完成分庫

此思想也可以用于這類分流系統(tǒng)中

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欺税,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子飒货,更是在濱河造成了極大的恐慌魄衅,老刑警劉巖峭竣,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件塘辅,死亡現(xiàn)場離奇詭異,居然都是意外死亡皆撩,警方通過查閱死者的電腦和手機扣墩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扛吞,“玉大人呻惕,你說我怎么就攤上這事±谋龋” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長市框。 經(jīng)常有香客問我摔握,道長,這世上最難降的妖魔是什么寺滚? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任柑营,我火速辦了婚禮,結(jié)果婚禮上村视,老公的妹妹穿的比我還像新娘官套。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布奶赔。 她就那樣靜靜地躺著惋嚎,像睡著了一般。 火紅的嫁衣襯著肌膚如雪站刑。 梳的紋絲不亂的頭發(fā)上瘸彤,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天,我揣著相機與錄音笛钝,去河邊找鬼质况。 笑死,一個胖子當(dāng)著我的面吹牛玻靡,可吹牛的內(nèi)容都是我干的结榄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼囤捻,長吁一口氣:“原來是場噩夢啊……” “哼臼朗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蝎土,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤视哑,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后誊涯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挡毅,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年暴构,在試婚紗的時候發(fā)現(xiàn)自己被綠了跪呈。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡取逾,死狀恐怖耗绿,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情砾隅,我是刑警寧澤误阻,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站晴埂,受9級特大地震影響究反,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜邑时,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一奴紧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧晶丘,春花似錦黍氮、人聲如沸唐含。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽捷枯。三九已至,卻和暖如春专执,著一層夾襖步出監(jiān)牢的瞬間淮捆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工本股, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留攀痊,地道東北人。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓拄显,卻偏偏與公主長得像苟径,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子躬审,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容