




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)與實(shí)踐一、用戶中心用戶中心是一個(gè)常見(jiàn)業(yè)務(wù),主要提供用戶注冊(cè)、登錄、信息查詢與修改的服務(wù),其核心元數(shù)據(jù)為:User(uid, uname, passwd, sex, age,nickname, )其中:uid為用戶ID,主鍵uname, passwd, sex, age, nickname, 等為用戶的屬性數(shù)據(jù)庫(kù)設(shè)計(jì)上,一般來(lái)說(shuō)在業(yè)務(wù)初期,單庫(kù)單表就能夠搞定這個(gè)需求。二、圖示說(shuō)明為了方便大家理解,后文圖片說(shuō)明較多,其中:“灰色”方框,表示service,服務(wù)“紫色”圓框,標(biāo)識(shí)master,主庫(kù)“粉色”圓框,表示slave,從庫(kù)三、單庫(kù)架構(gòu)最常見(jiàn)的架構(gòu)設(shè)計(jì)如上:user-servi
2、ce:用戶中心服務(wù),對(duì)調(diào)用者提供友好的RPC接口user-db:一個(gè)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)四、分組架構(gòu)什么是分組?答:分組架構(gòu)是最常見(jiàn)的一主多從,主從同步,讀寫分離數(shù)據(jù)庫(kù)架構(gòu):user-service:依舊是用戶中心服務(wù)user-db-M(master):主庫(kù),提供數(shù)據(jù)庫(kù)寫服務(wù)user-db-S(slave):從庫(kù),提供數(shù)據(jù)庫(kù)讀服務(wù)主和從構(gòu)成的數(shù)據(jù)庫(kù)集群稱為“組”。分組有什么特點(diǎn)?答:同一個(gè)組里的數(shù)據(jù)庫(kù)集群:主從之間通過(guò)binlog進(jìn)行數(shù)據(jù)同步多個(gè)實(shí)例數(shù)據(jù)庫(kù)結(jié)構(gòu)完全相同多個(gè)實(shí)例存儲(chǔ)的數(shù)據(jù)也完全相同,本質(zhì)上是將數(shù)據(jù)進(jìn)行復(fù)制分組架構(gòu)究竟解決什么問(wèn)題?答:大部分互聯(lián)網(wǎng)業(yè)務(wù)讀多寫少,數(shù)據(jù)庫(kù)的讀往往最先成為性能
3、瓶頸,如果希望:線性提升數(shù)據(jù)庫(kù)讀性能通過(guò)消除讀寫鎖沖突提升數(shù)據(jù)庫(kù)寫性能通過(guò)冗余從庫(kù)實(shí)現(xiàn)數(shù)據(jù)的“讀高可用”此時(shí)可以使用分組架構(gòu),需要注意的是,分組架構(gòu)中,數(shù)據(jù)庫(kù)的主庫(kù)依然是寫單點(diǎn)。一句話總結(jié),分組解決的是“數(shù)據(jù)庫(kù)讀寫高并發(fā)量高”問(wèn)題,所實(shí)施的架構(gòu)設(shè)計(jì)。五、分片架構(gòu)什么是分片?答:分片架構(gòu)是大伙常說(shuō)的水平切分(sharding)數(shù)據(jù)庫(kù)架構(gòu):user-service:依舊是用戶中心服務(wù)user-db1:水平切分成2份中的第一份user-db2:水平切分成2份中的第二份分片后,多個(gè)數(shù)據(jù)庫(kù)實(shí)例也會(huì)構(gòu)成一個(gè)數(shù)據(jù)庫(kù)集群。水平切分,到底是分庫(kù)還是分表?答:強(qiáng)烈建議分庫(kù),而不是分表,因?yàn)椋悍直硪廊还靡粋€(gè)數(shù)據(jù)庫(kù)
4、文件,仍然有磁盤IO的競(jìng)爭(zhēng)分庫(kù)能夠很容易的將數(shù)據(jù)遷移到不同數(shù)據(jù)庫(kù)實(shí)例,甚至數(shù)據(jù)庫(kù)機(jī)器上,擴(kuò)展性更好水平切分,用什么算法?答:常見(jiàn)的水平切分算法有“范圍法”和“哈希法”:范圍法如上圖:以用戶中心的業(yè)務(wù)主鍵uid為劃分依據(jù),將數(shù)據(jù)水平切分到兩個(gè)數(shù)據(jù)庫(kù)實(shí)例上去:user-db1:存儲(chǔ)0到1千萬(wàn)的uid數(shù)據(jù)user-db2:存儲(chǔ)0到2千萬(wàn)的uid數(shù)據(jù)哈希法如上圖:也是以用戶中心的業(yè)務(wù)主鍵uid為劃分依據(jù),將數(shù)據(jù)水平切分到兩個(gè)數(shù)據(jù)庫(kù)實(shí)例上去:user-db1:存儲(chǔ)uid取模得1的uid數(shù)據(jù)user-db2:存儲(chǔ)uid取模得0的uid數(shù)據(jù)這兩種方法在互聯(lián)網(wǎng)都有使用,其中哈希法使用較為廣泛。分片有什么特點(diǎn)?
5、答:同一個(gè)分片里的數(shù)據(jù)庫(kù)集群:多個(gè)實(shí)例之間本身不直接產(chǎn)生聯(lián)系,不像主從間有binlog同步多個(gè)實(shí)例數(shù)據(jù)庫(kù)結(jié)構(gòu),也完全相同多個(gè)實(shí)例存儲(chǔ)的數(shù)據(jù)之間沒(méi)有交集,所有實(shí)例間數(shù)據(jù)并集構(gòu)成全局?jǐn)?shù)據(jù)分片架構(gòu)究竟解決什么問(wèn)題?答:大部分互聯(lián)網(wǎng)業(yè)務(wù)數(shù)據(jù)量很大,單庫(kù)容量容易成為瓶頸,此時(shí)通過(guò)分片可以:線性提升數(shù)據(jù)庫(kù)寫性能,需要注意的是,分組架構(gòu)是不能線性提升數(shù)據(jù)庫(kù)寫性能的降低單庫(kù)數(shù)據(jù)容量一句話總結(jié),分片解決的是“數(shù)據(jù)庫(kù)數(shù)據(jù)量大”問(wèn)題,所實(shí)施的架構(gòu)設(shè)計(jì)。六、分組+分片架構(gòu)如果業(yè)務(wù)讀寫并發(fā)量很高,數(shù)據(jù)量也很大,通常需要實(shí)施分組+分片的數(shù)據(jù)庫(kù)架構(gòu):通過(guò)分片來(lái)降低單庫(kù)的數(shù)據(jù)量,線性提升數(shù)據(jù)庫(kù)的寫性能通過(guò)分組來(lái)線性提升數(shù)據(jù)庫(kù)
6、的讀性能,保證讀庫(kù)的高可用七、垂直切分除了水平切分,垂直切分也是一類常見(jiàn)的數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì),垂直切分一般和業(yè)務(wù)結(jié)合比較緊密。還是以用戶中心為例,可以這么進(jìn)行垂直切分:User(uid, uname, passwd, sex, age, )User_EX(uid, intro, sign, )垂直切分開的表,主鍵都是uid登錄名,密碼,性別,年齡等屬性放在一個(gè)垂直表(庫(kù))里自我介紹,個(gè)人簽名等屬性放在另一個(gè)垂直表(庫(kù))里如何進(jìn)行垂直切分?答:根據(jù)業(yè)務(wù)對(duì)數(shù)據(jù)進(jìn)行垂直切分時(shí),一般要考慮屬性的“長(zhǎng)度”和“訪問(wèn)頻度”兩個(gè)因素:長(zhǎng)度較短,訪問(wèn)頻率較高的放在一起長(zhǎng)度較長(zhǎng),訪問(wèn)頻度較低的放在一起這是因?yàn)?,?shù)據(jù)庫(kù)會(huì)以行(row)為單位,將數(shù)load到內(nèi)存(buffer)里,在內(nèi)存容量有限的情況下,長(zhǎng)度短且訪問(wèn)頻度高的屬性,內(nèi)存能夠load更多的數(shù)據(jù),命中率會(huì)更高,磁盤IO會(huì)減少,數(shù)據(jù)庫(kù)的性能會(huì)提升。垂直切分有什么特點(diǎn)?答:垂直切分和水平切有相似的地方,又不太相同:多個(gè)實(shí)例之間也不直接產(chǎn)生聯(lián)系,即沒(méi)有binlog同步多個(gè)實(shí)例數(shù)據(jù)庫(kù)結(jié)構(gòu),都不一樣多個(gè)實(shí)例存儲(chǔ)的數(shù)據(jù)之間至少有一列交集,一般來(lái)說(shuō)是業(yè)務(wù)主鍵,所有實(shí)例間數(shù)據(jù)并集構(gòu)成全局?jǐn)?shù)據(jù)垂直切分解決什么問(wèn)題?答:垂直切分即可以降低單庫(kù)的數(shù)據(jù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)氯化鉀(CAS7447407)行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)氣動(dòng)設(shè)備行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)民辦幼兒園行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)有機(jī)生物施肥行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)智能吸入器行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)景觀設(shè)計(jì)軟件行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)時(shí)髦行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)無(wú)紡布手術(shù)面罩行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 2025-2030年中國(guó)無(wú)機(jī)涂料行業(yè)發(fā)展趨勢(shì)與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)旋轉(zhuǎn)牙科實(shí)驗(yàn)室封閉劑行業(yè)市場(chǎng)現(xiàn)狀供需分析及投資評(píng)估規(guī)劃分析研究報(bào)告
- 依申請(qǐng)公開培訓(xùn)
- 2024年度合資成立新能源研發(fā)分公司合作協(xié)議范本3篇
- 第17課《第二次世界大戰(zhàn)》中職高一下學(xué)期高教版(2023)世界歷史全一冊(cè)
- 無(wú)人機(jī)就業(yè)規(guī)劃
- 【MOOC】意在象中-中國(guó)古典詩(shī)詞鑒賞-北京師范大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 項(xiàng)目聯(lián)合體協(xié)議(標(biāo)前)
- 智能工廠數(shù)字化交付 第2部分:設(shè)計(jì)交付 征求意見(jiàn)稿
- 護(hù)理查房(抑郁發(fā)作)
- 2023年新高考天津數(shù)學(xué)高考真題(解析版)
- 小學(xué)英語(yǔ)滬教版單詞表(測(cè)試版)
- 博物館物業(yè)服務(wù)投標(biāo)方案(技術(shù)方案)
評(píng)論
0/150
提交評(píng)論