這篇文章主要介紹“數(shù)據(jù)庫(kù)分庫(kù)分表的知識(shí)點(diǎn)有哪些”,在日常操作中,相信很多人在數(shù)據(jù)庫(kù)分庫(kù)分表的知識(shí)點(diǎn)有哪些問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”數(shù)據(jù)庫(kù)分庫(kù)分表的知識(shí)點(diǎn)有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
十載的平橋網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷(xiāo)的優(yōu)勢(shì)是能夠根據(jù)用戶(hù)設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整平橋建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“平橋網(wǎng)站設(shè)計(jì)”,“平橋網(wǎng)站推廣”以來(lái),每個(gè)客戶(hù)項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
一、數(shù)據(jù)庫(kù)瓶頸
不管是IO瓶頸,還是CPU瓶頸,最終都會(huì)導(dǎo)致數(shù)據(jù)庫(kù)的活躍連接數(shù)增加,進(jìn)而逼近甚至達(dá)到數(shù)據(jù)庫(kù)可承載活躍連接數(shù)的閾值。在業(yè)務(wù)Service來(lái)看就是,可用數(shù)據(jù)庫(kù)連接少甚至無(wú)連接可用。接下來(lái)就可以想象了吧(并發(fā)量、吞吐量、崩潰)。
第一種:磁盤(pán)讀IO瓶頸,熱點(diǎn)數(shù)據(jù)太多,數(shù)據(jù)庫(kù)緩存放不下,每次查詢(xún)時(shí)會(huì)產(chǎn)生大量的IO,降低查詢(xún)速度 -> 分庫(kù)和垂直分表。
第二種:網(wǎng)絡(luò)IO瓶頸,請(qǐng)求的數(shù)據(jù)太多,網(wǎng)絡(luò)帶寬不夠 -> 分庫(kù)。
第一種:SQL問(wèn)題,如SQL中包含join,group by,order by,非索引字段條件查詢(xún)等,增加CPU運(yùn)算的操作 -> SQL優(yōu)化,建立合適的索引,在業(yè)務(wù)Service層進(jìn)行業(yè)務(wù)計(jì)算。
第二種:?jiǎn)伪頂?shù)據(jù)量太大,查詢(xún)時(shí)掃描的行太多,SQL效率低,CPU率先出現(xiàn)瓶頸 -> 水平分表。
1、概念:以字段為依據(jù),按照一定策略(hash、range等),將一個(gè)庫(kù)中的數(shù)據(jù)拆分到多個(gè)庫(kù)中。
2、結(jié)果:
· 每個(gè)庫(kù)的結(jié)構(gòu)都一樣;
· 每個(gè)庫(kù)的數(shù)據(jù)都不一樣,沒(méi)有交集;
· 所有庫(kù)的并集是全量數(shù)據(jù);
3、場(chǎng)景:系統(tǒng)絕對(duì)并發(fā)量上來(lái)了,分表難以根本上解決問(wèn)題,并且還沒(méi)有明顯的業(yè)務(wù)歸屬來(lái)垂直分庫(kù)。
4、分析:庫(kù)多了,io和cpu的壓力自然可以成倍緩解。
2、水平分表
1、概念:以表為依據(jù),按照業(yè)務(wù)歸屬不同,將不同的表拆分到不同的庫(kù)中。
2、結(jié)果:
· 每個(gè)庫(kù)的結(jié)構(gòu)都不一樣;
· 每個(gè)庫(kù)的數(shù)據(jù)也不一樣,沒(méi)有交集;
· 所有庫(kù)的并集是全量數(shù)據(jù);
3、場(chǎng)景:系統(tǒng)絕對(duì)并發(fā)量上來(lái)了,并且可以抽象出單獨(dú)的業(yè)務(wù)模塊。
4、分析:到這一步,基本上就可以服務(wù)化了。例如,隨著業(yè)務(wù)的發(fā)展一些公用的配置表、字典表等越來(lái)越多,這時(shí)可以將這些表拆到單獨(dú)的庫(kù)中,甚至可以服務(wù)化。再有,隨著業(yè)務(wù)的發(fā)展孵化出了一套業(yè)務(wù)模式,這時(shí)可以將相關(guān)的表拆到單獨(dú)的庫(kù)中,甚至可以服務(wù)化。
4、垂直分表
· 基因法
· 冗余法
· 冗余法
1.
2、非partition key跨庫(kù)跨表分頁(yè)查詢(xún)問(wèn)題(水平分庫(kù)分表,拆分策略為常用的hash法)
注:用NOSQL法解決(ES等)。
3、擴(kuò)容問(wèn)題(水平分庫(kù)分表,拆分策略為常用的hash法)
1、水平擴(kuò)容庫(kù)(升級(jí)從庫(kù)法
第一步:(同步雙寫(xiě))應(yīng)用配置雙寫(xiě),部署;
第二步:(同步雙寫(xiě))將老庫(kù)中的老數(shù)據(jù)復(fù)制到新庫(kù)中;
第三步:(同步雙寫(xiě))以老庫(kù)為準(zhǔn)校對(duì)新庫(kù)中的老數(shù)據(jù);
第四步:(同步雙寫(xiě))應(yīng)用去掉雙寫(xiě),部署;
注:雙寫(xiě)是通用方案。
到此,關(guān)于“數(shù)據(jù)庫(kù)分庫(kù)分表的知識(shí)點(diǎn)有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
當(dāng)前題目:數(shù)據(jù)庫(kù)分庫(kù)分表的知識(shí)點(diǎn)有哪些
文章起源:http://aaarwkj.com/article12/pjdhdc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、全網(wǎng)營(yíng)銷(xiāo)推廣、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、Google、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)