淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf

淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf

ID:50162449

大?。?.29 MB

頁(yè)數(shù):38頁(yè)

時(shí)間:2020-03-08

淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf_第1頁(yè)
淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf_第2頁(yè)
淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf_第3頁(yè)
淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf_第4頁(yè)
淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf_第5頁(yè)
資源描述:

《淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。

1、淘寶數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)歷程丹臣/趙林?jǐn)?shù)據(jù)架構(gòu)師2010-11-19提綱?淘寶數(shù)據(jù)庫(kù)發(fā)展的三個(gè)階段?用戶,商品,交易現(xiàn)在的架構(gòu)?2010雙11大促的挑戰(zhàn)?MySQL源代碼研究的一些思路?淘寶自主數(shù)據(jù)庫(kù)Oceanbase原理介紹淘寶的數(shù)據(jù)很美麗淘寶數(shù)據(jù)庫(kù)發(fā)展三階段SQL語(yǔ)句變化?SQL語(yǔ)句復(fù)雜程度由繁到簡(jiǎn)的過程,折射出淘寶數(shù)據(jù)架構(gòu)的一些變化。???單多表主表復(fù)鍵關(guān)雜查聯(lián)J查詢oin詢淘寶電子商務(wù)網(wǎng)站的特點(diǎn)?高并發(fā),PV13億,光棍節(jié)促銷PV達(dá)到了17億?數(shù)據(jù)實(shí)時(shí)性要求高?數(shù)據(jù)準(zhǔn)確性要求高?大多數(shù)頁(yè)面屬于動(dòng)態(tài)網(wǎng)頁(yè)?網(wǎng)站需要大量商

2、品圖片展示?用戶通過搜索引擎,廣告,類目導(dǎo)航尋找商品?網(wǎng)站讀多寫少,比例超過10:1?賣家相關(guān)的數(shù)據(jù)量較大,比如商品數(shù),評(píng)價(jià)數(shù)?業(yè)務(wù)量快速增長(zhǎng)不同的時(shí)期,不同的策略正是因?yàn)槿缟系臉I(yè)務(wù)特點(diǎn):?早期的淘寶前端應(yīng)用系統(tǒng),嚴(yán)重依賴于數(shù)據(jù)庫(kù)系統(tǒng)?早期單機(jī)式的mysql的使用方式,在業(yè)務(wù)的高速發(fā)展下,很快達(dá)到瓶頸?Mysql遷移到Oracle,并升級(jí)到小型機(jī),高端存儲(chǔ)后,幾年的時(shí)間里,滿足了淘寶業(yè)務(wù)快速變化發(fā)展的需要。?我們的業(yè)務(wù)發(fā)展很快,但我們的技術(shù)沒有成長(zhǎng)數(shù)據(jù)庫(kù)里的數(shù)據(jù)第一,二階段的單臺(tái)數(shù)據(jù)庫(kù)里,用戶,商品,交易等數(shù)據(jù)都在一起

3、,存在許多的關(guān)聯(lián)查詢,應(yīng)用完全耦合用戶收藏商品評(píng)價(jià)交易連接數(shù)問題小型機(jī)的內(nèi)存有限,發(fā)現(xiàn)了Oracle數(shù)據(jù)庫(kù)有連接數(shù)瓶頸,5000個(gè)以后相當(dāng)吃力。?太多的應(yīng)用機(jī)器?有限的鏈接池?需要數(shù)據(jù)庫(kù)連接Oracle數(shù)據(jù)庫(kù)中心化,服務(wù)化?用戶,商品,交易三大中心的建設(shè)HSF的誕生?中心化后面臨另一個(gè)問題,服務(wù)調(diào)用者,與服務(wù)者之間如何進(jìn)行遠(yuǎn)程通信,淘寶HSF誕生HSFAB服服務(wù)務(wù)數(shù)據(jù)垂直化?應(yīng)用中心化之后,底層數(shù)據(jù)庫(kù)系統(tǒng)按照不同的業(yè)務(wù)數(shù)據(jù)進(jìn)行了一系列的垂直拆分.此類拆分方式具有如下的特點(diǎn):a.拆分方式簡(jiǎn)單,只需要把不同的業(yè)務(wù)數(shù)據(jù)進(jìn)行分

4、離b.避免了不同的業(yè)務(wù)數(shù)據(jù)讀寫操作時(shí)的相互影響c.該業(yè)務(wù)內(nèi)部及其所導(dǎo)致的問題依舊用戶商品交易評(píng)價(jià)問題?單庫(kù)IOPS3w?單庫(kù)連接數(shù)已經(jīng)4k個(gè)了,應(yīng)用還在不斷加機(jī)器??單庫(kù)每秒SQL執(zhí)行次數(shù)到4w次?Oracle單庫(kù)事務(wù)數(shù)2k個(gè)?搜索dump數(shù)據(jù)緩慢,DWETL緩慢數(shù)據(jù)庫(kù)架構(gòu)發(fā)展新思路異構(gòu)數(shù)據(jù)庫(kù)讀寫分離原始架構(gòu)圖(08年8月份):異構(gòu)的讀寫分離a.寫庫(kù)為集中式的oracle環(huán)境,提供數(shù)據(jù)安全性保障b.讀庫(kù)使用mysql,采用數(shù)據(jù)分片,分庫(kù)分表,每臺(tái)mysql放少量的數(shù)據(jù),單個(gè)數(shù)據(jù)分片內(nèi)部采用mysql復(fù)制機(jī)制c.讀庫(kù)的超

5、大memory容量,起到了很好的cache作用,在內(nèi)存中的數(shù)據(jù)查詢性能遠(yuǎn)遠(yuǎn)高于在硬盤上的性能d.oracle到多臺(tái)mysql按規(guī)則復(fù)制e.分區(qū)鍵的選擇至關(guān)重要,盡量讓數(shù)據(jù)訪問落在單臺(tái)數(shù)據(jù)庫(kù)上g.利用好當(dāng)前的高端硬件,保護(hù)好自己的投資構(gòu)建數(shù)據(jù)查詢的高速公路?應(yīng)用到DB的數(shù)據(jù)寫入與查詢從雙向通行變成了單向通行,通行效率更高,大大避免了相互影響。“借道行駛”的情況不再出現(xiàn)??绮贿^去的坎?為什么不直接遷到MySQL上面去呢?a.對(duì)于核心業(yè)務(wù),停機(jī)時(shí)間有限,寵大的數(shù)據(jù)無(wú)法短時(shí)間內(nèi)遷移b.無(wú)法在短時(shí)間內(nèi)完成項(xiàng)目發(fā)布過程中的測(cè)試c.

6、沒有搞過mysql分布式系統(tǒng),對(duì)完全使用MySQL還沒有信心大數(shù)據(jù)量核心業(yè)務(wù)數(shù)據(jù)遷移思路采用兩步走戰(zhàn)略,不僅走得穩(wěn),而且走得好:?先采用異構(gòu)的數(shù)據(jù)庫(kù)讀寫分離,將數(shù)據(jù)復(fù)制到目標(biāo)mysql各結(jié)點(diǎn),不斷切換應(yīng)用相關(guān)的讀服務(wù)到mysql結(jié)點(diǎn)上,驗(yàn)證可靠性,機(jī)器壓力,服務(wù)響應(yīng)時(shí)間?將寫壓力從oracle結(jié)點(diǎn)遷移到mysql各結(jié)點(diǎn),oracle停止寫對(duì)于一些不太核心,業(yè)務(wù)不太復(fù)雜,相關(guān)影響點(diǎn)不多的數(shù)據(jù),可以直接進(jìn)行遷移。水庫(kù)模型?你的系統(tǒng)可以撐多少?系統(tǒng)余量還有多少?數(shù)據(jù)庫(kù)系統(tǒng)余量?jī)奢啘y(cè)試過程,確保上線穩(wěn)定:?底層數(shù)據(jù)庫(kù)環(huán)境性能,

7、穩(wěn)定性的基礎(chǔ)測(cè)試,常用的工具可以采用sysbench,orion,supersmack?選擇不同的硬件,軟件組合,模擬應(yīng)用的壓力測(cè)試,要超越當(dāng)前業(yè)務(wù)壓力的幾倍進(jìn)行,這個(gè)壓力的幅度可以根據(jù)自己的業(yè)務(wù)增長(zhǎng)設(shè)計(jì)一個(gè)合理的值。我們?nèi)绾巫龅接脭?shù)據(jù)來(lái)說話?靠測(cè)試拿數(shù)據(jù),不靠經(jīng)驗(yàn)用數(shù)據(jù)來(lái)說話不同的讀服務(wù),不同的讀載體淘寶商品的幾個(gè)主要的查詢:a.主鍵查詢通過分布式數(shù)據(jù)庫(kù),以及分布式緩存系統(tǒng)解決b.賣家商品管理類查詢,這一類的查詢數(shù)據(jù)量大,并且還有l(wèi)ike查詢的需求,通過實(shí)時(shí)搜索解決商品主鍵賣家查詢查詢分布式緩存實(shí)時(shí)搜索分布式數(shù)據(jù)庫(kù)注

8、:考慮不同的讀載體的技術(shù)實(shí)現(xiàn),性能,成本數(shù)據(jù)修改頻率?用戶登陸事件數(shù)據(jù)(日志量90%)與用戶主數(shù)據(jù)(日志量10%)分離,不僅要分表,而且要放到不同的數(shù)據(jù)庫(kù)集群中,并且作好不同數(shù)據(jù)等級(jí)的容災(zāi)處理。用用?用戶主信息數(shù)據(jù)庫(kù)用戶戶集群戶主信信信息息息擴(kuò)展?用戶信息擴(kuò)展數(shù)據(jù)庫(kù)集群過度中心化?用戶中心調(diào)用次數(shù),高峰時(shí)期達(dá)到了每天60億次,用戶

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。