2019-03-03-分表和分庫(kù)

https://blog.csdn.net/kingcat666/article/details/78324678

1膊夹,實(shí)現(xiàn)方式上?

mysql的分表是真正的分表壕探,一張表分成很多表后博肋,每一個(gè)小表都是完正的一張表,都對(duì)應(yīng)三個(gè)文件(MyISAM引擎:一個(gè).MYD數(shù)據(jù)文件,.MYI索引文件,.frm表結(jié)構(gòu)文件)傲霸。

2,數(shù)據(jù)處理上?

分表后數(shù)據(jù)都是存放在分表里,總表只是一個(gè)外殼昙啄,存取數(shù)據(jù)發(fā)生在一個(gè)一個(gè)的分表里面。分區(qū)則不存在分表的概念寸五,分區(qū)只不過(guò)把存放數(shù)據(jù)的文件分成了許多小塊梳凛,分區(qū)后的表還是一張表,數(shù)據(jù)處理還是由自己來(lái)完成梳杏。

3韧拒,提高性能上?

分表后,單表的并發(fā)能力提高了十性,磁盤I/O性能也提高了叛溢。分區(qū)突破了磁盤I/O瓶頸,想提高磁盤的讀寫能力劲适,來(lái)增加mysql性能楷掉。

在這一點(diǎn)上,分區(qū)和分表的測(cè)重點(diǎn)不同霞势,分表重點(diǎn)是存取數(shù)據(jù)時(shí)烹植,如何提高mysql并發(fā)能力上;而分區(qū)呢愕贡,如何突破磁盤的讀寫能力草雕,從而達(dá)到提高mysql性能的目的。?

4固以,實(shí)現(xiàn)的難易度上?

分表的方法有很多墩虹,用merge來(lái)分表,是最簡(jiǎn)單的一種方式憨琳。這種方式和分區(qū)難易度差不多诫钓,并且對(duì)程序代碼來(lái)說(shuō)可以做到透明的。如果是用其他分表方式就比分區(qū)麻煩了栽渴。分區(qū)實(shí)現(xiàn)是比較簡(jiǎn)單的尖坤,建立分區(qū)表,跟建平常的表沒什么區(qū)別闲擦,并且對(duì)代碼端來(lái)說(shuō)是透明的慢味。



分表能夠解決單表數(shù)據(jù)量過(guò)大帶來(lái)的查詢效率下降的問題,但是墅冷,卻無(wú)法給數(shù)據(jù)庫(kù)的并發(fā)處理能力帶來(lái)質(zhì)的提升纯路。面對(duì)高并發(fā)的讀寫訪問,當(dāng)數(shù)據(jù)庫(kù)master服務(wù)器無(wú)法承載寫操作壓力時(shí)寞忿,不管如何擴(kuò)展slave服務(wù)器驰唬,此時(shí)都沒有意義了。因此,我們必須換一種思路叫编,對(duì)數(shù)據(jù)庫(kù)進(jìn)行拆分辖佣,從而提高數(shù)據(jù)庫(kù)寫入能力,這就是所謂的分庫(kù)搓逾。

與分表策略相似卷谈,分庫(kù)可以采用通過(guò)一個(gè)關(guān)鍵字取模的方式,來(lái)對(duì)數(shù)據(jù)訪問進(jìn)行路由霞篡,如下圖所示




五世蔗、分庫(kù)分表存在的問題

1 事務(wù)問題。

在執(zhí)行分庫(kù)分表之后朗兵,由于數(shù)據(jù)存儲(chǔ)到了不同的庫(kù)上污淋,數(shù)據(jù)庫(kù)事務(wù)管理出現(xiàn)了困難。如果依賴數(shù)據(jù)庫(kù)本身的分布式事務(wù)管理功能去執(zhí)行事務(wù)余掖,將付出高昂的性能代價(jià)寸爆;如果由應(yīng)用程序去協(xié)助控制,形成程序邏輯上的事務(wù)浊吏,又會(huì)造成編程方面的負(fù)擔(dān)而昨。

2 跨庫(kù)跨表的join問題。

在執(zhí)行了分庫(kù)分表之后找田,難以避免會(huì)將原本邏輯關(guān)聯(lián)性很強(qiáng)的數(shù)據(jù)劃分到不同的表歌憨、不同的庫(kù)上,這時(shí)墩衙,表的關(guān)聯(lián)操作將受到限制务嫡,我們無(wú)法join位于不同分庫(kù)的表,也無(wú)法join分表粒度不同的表漆改,結(jié)果原本一次查詢能夠完成的業(yè)務(wù)心铃,可能需要多次查詢才能完成。

3 額外的數(shù)據(jù)管理負(fù)擔(dān)和數(shù)據(jù)運(yùn)算壓力挫剑。

額外的數(shù)據(jù)管理負(fù)擔(dān)去扣,最顯而易見的就是數(shù)據(jù)的定位問題和數(shù)據(jù)的增刪改查的重復(fù)執(zhí)行問題,這些都可以通過(guò)應(yīng)用程序解決樊破,但必然引起額外的邏輯運(yùn)算愉棱,例如,對(duì)于一個(gè)記錄用戶成績(jī)的用戶數(shù)據(jù)表userTable哲戚,業(yè)務(wù)要求查出成績(jī)最好的100位奔滑,在進(jìn)行分表之前,只需一個(gè)order by語(yǔ)句就可以搞定顺少,但是在進(jìn)行分表之后朋其,將需要n個(gè)order by語(yǔ)句王浴,分別查出每一個(gè)分表的前100名用戶數(shù)據(jù),然后再對(duì)這些數(shù)據(jù)進(jìn)行合并計(jì)算梅猿,才能得出結(jié)果氓辣。

解決方案

1.?使用類似JTA提供的分布式事物機(jī)制

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市袱蚓,隨后出現(xiàn)的幾起案子筛婉,更是在濱河造成了極大的恐慌,老刑警劉巖癞松,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異入蛆,居然都是意外死亡响蓉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門哨毁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)枫甲,“玉大人,你說(shuō)我怎么就攤上這事扼褪∠牖茫” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵话浇,是天一觀的道長(zhǎng)脏毯。 經(jīng)常有香客問我,道長(zhǎng)幔崖,這世上最難降的妖魔是什么食店? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮赏寇,結(jié)果婚禮上吉嫩,老公的妹妹穿的比我還像新娘。我一直安慰自己嗅定,他們只是感情好自娩,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著渠退,像睡著了一般忙迁。 火紅的嫁衣襯著肌膚如雪俊庇。 梳的紋絲不亂的頭發(fā)上偏窝,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天哈垢,我揣著相機(jī)與錄音拧晕,去河邊找鬼飘痛。 笑死墙基,一個(gè)胖子當(dāng)著我的面吹牛喂链,可吹牛的內(nèi)容都是我干的画恰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼删豺,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼共虑!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起呀页,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤妈拌,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后蓬蝶,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體尘分,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年丸氛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了培愁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡缓窜,死狀恐怖定续,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情禾锤,我是刑警寧澤私股,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站恩掷,受9級(jí)特大地震影響倡鲸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜螃成,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一旦签、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寸宏,春花似錦宁炫、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至罩阵,卻和暖如春竿秆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背稿壁。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工幽钢, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傅是。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓匪燕,卻偏偏與公主長(zhǎng)得像蕾羊,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帽驯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

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