日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
CA,給了數(shù)據(jù)庫(kù),給了機(jī)器,為啥也擴(kuò)不了容?

隨著業(yè)務(wù)越來(lái)越復(fù)雜,數(shù)據(jù)量越來(lái)越大,并發(fā)量越來(lái)越大,數(shù)據(jù)庫(kù)的性能越來(lái)越低。好不容易找運(yùn)維申請(qǐng)了兩臺(tái)機(jī)器,讓DBA部署了幾個(gè)實(shí)例,想把一些業(yè)務(wù)庫(kù)拆分出來(lái),卻發(fā)現(xiàn)拆不出來(lái),擴(kuò)不了容,尷尬!

10多年的行唐網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(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è)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

因?yàn)閿?shù)據(jù)庫(kù)強(qiáng)關(guān)聯(lián)在一起,無(wú)法通過(guò)增加數(shù)據(jù)庫(kù)實(shí)例擴(kuò)容,就是一個(gè)耦合的典型案例。

場(chǎng)景還原

有一個(gè)公共用戶數(shù)據(jù)庫(kù)DB_USER,里面table_user存放了通用的用戶數(shù)據(jù):

 
 
 
 
  1. table_user (uid, name, passwd, …) 

在數(shù)據(jù)量比較小,并發(fā)量比較小,業(yè)務(wù)還沒(méi)有這么復(fù)雜的時(shí)候,為了提高資源利用率(程序員才沒(méi)有考慮什么資源利用率,更多的是圖方便),業(yè)務(wù)A把用戶個(gè)性化的數(shù)據(jù)也放在這個(gè)庫(kù)里:

 
 
 
 
  1. table_A(uid, A業(yè)務(wù)的個(gè)性化屬性) 

業(yè)務(wù)A有一個(gè)需求,即要展現(xiàn)用戶公共屬性,又要展現(xiàn)業(yè)務(wù)A個(gè)性化屬性,程序員經(jīng)常這么實(shí)現(xiàn)的:

 
 
 
 
  1. select * from table_user, table_A 
  2.       where table_user.uid = table_A.uid 
  3.       and table_user.uid = $uid 

初期關(guān)聯(lián)查詢沒(méi)有任何問(wèn)題,單條記錄訪問(wèn),***索引,一次查詢所有數(shù)據(jù),簡(jiǎn)單高效。

如何產(chǎn)生各業(yè)務(wù)數(shù)據(jù)耦合?

通過(guò)join實(shí)現(xiàn)業(yè)務(wù),導(dǎo)致通用表table_user和業(yè)務(wù)表table_A必須存在于一個(gè)數(shù)據(jù)庫(kù)實(shí)例里。

如果業(yè)務(wù)B也這么做,業(yè)務(wù)C也這么做,會(huì)導(dǎo)致公用業(yè)務(wù),業(yè)務(wù)A,業(yè)務(wù)B,業(yè)務(wù)C都必須存在于一個(gè)數(shù)據(jù)庫(kù)實(shí)例里。

會(huì)產(chǎn)生什么潛在問(wèn)題呢?

假如A業(yè)務(wù)線上線了一個(gè)新功能,不小心進(jìn)行了全表掃描,導(dǎo)致數(shù)據(jù)庫(kù)CPU100%,數(shù)據(jù)庫(kù)實(shí)例性能下降,由于實(shí)例共用,通用業(yè)務(wù),業(yè)務(wù)B和業(yè)務(wù)C都會(huì)受影響。

即某個(gè)業(yè)務(wù)線的數(shù)據(jù)庫(kù)性能急劇下降導(dǎo)致所有業(yè)務(wù)都受影響,這種耦合,歷史總是驚人的相似:

  • 業(yè)務(wù)B的大boss在群里首先發(fā)飆:“技術(shù)都干啥了,怎么系統(tǒng)掛了”
  • 業(yè)務(wù)B的rd一臉無(wú)辜:“業(yè)務(wù)A上線了,所以我們掛了”
  • 額,然而,這個(gè)理由,好像在大boss那解釋不通…
  • 業(yè)務(wù)B的大boss:“趕緊加幾臺(tái)機(jī)器,拆分開(kāi)”
  • 業(yè)務(wù)B的rd一臉無(wú)奈:“加機(jī)器加實(shí)例也擴(kuò)容不了”
  • 業(yè)務(wù)B的大boss對(duì)業(yè)務(wù)2的rd吼道“還想甩鍋,拖出去祭天”
  • ...

唉,加了幾臺(tái)機(jī)器,加了幾個(gè)實(shí)例,然而并沒(méi)有什么卵用,都耦合在一個(gè)實(shí)例里,完全擴(kuò)不了容。

那,如何解除公共數(shù)據(jù)庫(kù)與業(yè)務(wù)數(shù)據(jù)庫(kù)的耦合?

***步:公共數(shù)據(jù)訪問(wèn)下沉服務(wù)化

還是上面的例子,當(dāng)公共的user數(shù)據(jù)訪問(wèn)服務(wù)化之后,依據(jù)服務(wù)化的原則:

  • 業(yè)務(wù)層只能通過(guò)服務(wù)RPC接口訪問(wèn)數(shù)據(jù)
  • 底層user庫(kù)屬于user服務(wù)私有
  • 任何上游不允許跨過(guò)服務(wù)訪問(wèn)底層的user庫(kù)

第二步:垂直拆分,個(gè)性化數(shù)據(jù)訪問(wèn)上浮

原來(lái)業(yè)務(wù)方:

  • 通過(guò)join一次性獲取通用的數(shù)據(jù)和個(gè)性化的業(yè)務(wù)數(shù)據(jù)數(shù)據(jù)
  • 服務(wù)化+垂直拆分后,變成兩次訪問(wèn):
  • 一次取得業(yè)務(wù)數(shù)據(jù)(業(yè)務(wù)可以直接調(diào)用自己的數(shù)據(jù)庫(kù),也可以自己做業(yè)務(wù)服務(wù)調(diào)用RPC接口)
  • 一次取得共性數(shù)據(jù)(調(diào)用通用的RPC接口)

兩種方式相比:

  • 之前的方式其實(shí)業(yè)務(wù)代碼可能會(huì)更簡(jiǎn)單一些,因?yàn)樗菍⑦@個(gè)業(yè)務(wù)邏輯放在了SQL語(yǔ)句中,但是導(dǎo)致數(shù)據(jù)庫(kù)耦合在了一起
  • 后面這種方式就是業(yè)務(wù)的代碼會(huì)更復(fù)雜,會(huì)變成多次訪問(wèn),將原來(lái)在SQL中進(jìn)行的邏輯計(jì)算變成業(yè)務(wù)代碼中的邏輯計(jì)算,但是數(shù)據(jù)庫(kù)解耦了

業(yè)務(wù)復(fù)雜,數(shù)據(jù)量大,并發(fā)老大,對(duì)擴(kuò)展性要求更高的架構(gòu),一定是后者。

此時(shí)各業(yè)務(wù)有自己的庫(kù),公共有公共的庫(kù):

  • 早期:可以放在一個(gè)數(shù)據(jù)庫(kù)實(shí)例里
  • 后期:可以很容易地通過(guò)新增數(shù)據(jù)庫(kù)實(shí)例,把user庫(kù)或者業(yè)務(wù)A/B/C的庫(kù)拆分出來(lái),實(shí)現(xiàn)增加機(jī)器增加實(shí)例就實(shí)現(xiàn)擴(kuò)容

個(gè)性業(yè)務(wù)數(shù)據(jù)訪問(wèn)垂直拆分,共性數(shù)據(jù)訪問(wèn)服務(wù)化下沉,只是一個(gè)很小的優(yōu)化點(diǎn),但對(duì)于數(shù)據(jù)庫(kù)解耦卻是非常的有效。

【本文為專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)聯(lián)系原作者】


新聞名稱:CA,給了數(shù)據(jù)庫(kù),給了機(jī)器,為啥也擴(kuò)不了容?
網(wǎng)站網(wǎng)址:http://m.5511xx.com/article/coeidge.html