云數(shù)據(jù)庫(kù)系統(tǒng)及在互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用教學(xué)文案_第1頁(yè)
云數(shù)據(jù)庫(kù)系統(tǒng)及在互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用教學(xué)文案_第2頁(yè)
云數(shù)據(jù)庫(kù)系統(tǒng)及在互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用教學(xué)文案_第3頁(yè)
云數(shù)據(jù)庫(kù)系統(tǒng)及在互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用教學(xué)文案_第4頁(yè)
云數(shù)據(jù)庫(kù)系統(tǒng)及在互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用教學(xué)文案_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

云數(shù)據(jù)庫(kù)管理系統(tǒng)及在互聯(lián)網(wǎng)行業(yè)(hángyè)的應(yīng)用第一頁(yè),共65頁(yè)。不掌握(zhǎngwò)大數(shù)據(jù)來(lái)源很難得到真正的實(shí)際需求建設(shè)大型試驗(yàn)(shìyàn)環(huán)境比較困難不能提供足夠的人力資源高校在大數(shù)據(jù)時(shí)代研究(yánjiū)面臨的挑戰(zhàn)第二頁(yè),共65頁(yè)。產(chǎn)學(xué)研結(jié)合(jiéhé)大目標(biāo)統(tǒng)一,相互促進(jìn)松散耦合,各層關(guān)注自身核心利益人的聯(lián)系緊密(同一人在各層間完成(wánchéng)身份切換)與大型(dàxíng)企業(yè)合作 技術(shù)成果應(yīng)用 演示系統(tǒng)

場(chǎng)

層人員支持

應(yīng)

層技術(shù)支持

獨(dú)立創(chuàng)業(yè)

需求提供

資金支持獨(dú)立應(yīng)用系統(tǒng)

環(huán)境支持

研究論文第三頁(yè),共65頁(yè)。浙大與網(wǎng)易的合作(hézuò)模式學(xué)生學(xué)習(xí)研究(yánjiū)期間即與企業(yè)研究(yánjiū)團(tuán)隊(duì)緊密合作(非傳統(tǒng)橫向項(xiàng)目模式),畢業(yè)后選擇去該企業(yè)就職,乃至(nǎizhì)擔(dān)任高級(jí)職位

創(chuàng)建網(wǎng)易杭州研究院(浙大與網(wǎng)易兩塊牌子),目前工程研發(fā)人員已超過(guò)1000人,公共基礎(chǔ)技術(shù)研究人員超過(guò)500人

半數(shù)以上的技術(shù)高級(jí)經(jīng)理、總監(jiān)畢業(yè)于浙大計(jì)算機(jī)學(xué)院

網(wǎng)易可以提供資金、大數(shù)據(jù)資源、用戶(hù)實(shí)際需求提供、開(kāi)發(fā)工程師等的幫助

浙大源源不斷提供給網(wǎng)易高水平人才,深厚的前期技術(shù)積累第四頁(yè),共65頁(yè)。網(wǎng)易私有(sīyǒu)云的架構(gòu)

NDDB

云分布式數(shù)據(jù)庫(kù)RDS單機(jī)數(shù)據(jù)庫(kù)IAAS(云網(wǎng)絡(luò)(wǎngluò)、云主機(jī)、云硬盤(pán))NOS對(duì) 象存儲(chǔ)(cúnchǔ)

NCR云Redis服務(wù)云轉(zhuǎn)碼云容器引擎云隊(duì)列

NCS云搜索基礎(chǔ)服務(wù)數(shù)據(jù)管理應(yīng)用架構(gòu)NLB負(fù)載均衡服務(wù)第五頁(yè),共65頁(yè)。云數(shù)據(jù)庫(kù)對(duì)云平臺(tái)(píngtái)的需求網(wǎng)絡(luò)(wǎngluò)隔離:默認(rèn)隔離不同(bùtónɡ)租戶(hù)的數(shù)據(jù)庫(kù)靈活配置網(wǎng)絡(luò)連通性,

滿(mǎn)足特殊需求故障隔離:主備虛擬機(jī)不能位于同一個(gè)物理機(jī)、交換機(jī)主備數(shù)據(jù)不能落到同一個(gè)物理機(jī)性能保障:CPU、IO、網(wǎng)絡(luò)性能有保障高可靠:不能容忍數(shù)據(jù)丟失彈性:

存儲(chǔ)、計(jì)算規(guī)格的彈性伸縮第六頁(yè),共65頁(yè)。平臺(tái)(píngtái)對(duì)數(shù)據(jù)庫(kù)的支持NCRRDSNDDB 云網(wǎng)絡(luò)(wǎngluò)網(wǎng)絡(luò)(wǎngluò)隔離連通性控制 云硬盤(pán)存儲(chǔ)能力高可靠、可用彈性(tánxìng)擴(kuò)容存儲(chǔ)池

NLB負(fù)載均衡高可用

云主機(jī)計(jì)算能力彈性擴(kuò)容可用域高可用數(shù)據(jù)庫(kù)第七頁(yè),共65頁(yè)。網(wǎng)絡(luò)(wǎngluò)隔離私有(sīyǒu)網(wǎng)每個(gè)租戶(hù)擁有一個(gè)獨(dú)立的二層網(wǎng)絡(luò)不同用戶(hù)(yònghù)私有網(wǎng)絡(luò)完全隔離機(jī)房網(wǎng)不同租戶(hù)虛擬機(jī)之間的互通租戶(hù)虛擬機(jī)到機(jī)房中物理機(jī)的互通ACL控制連通性互聯(lián)網(wǎng)鏈接到互聯(lián)網(wǎng)

(外網(wǎng))數(shù)據(jù)庫(kù)默認(rèn)運(yùn)行于私有網(wǎng)絡(luò)內(nèi),

不同租戶(hù)完全隔離。

必要時(shí)通過(guò)機(jī)房網(wǎng)絡(luò)互連第八頁(yè),共65頁(yè)。資源物理位置失去控制風(fēng)險(xiǎn)硬盤(pán)主從硬盤(pán)的數(shù)據(jù)可能落在同一物理機(jī)或物理硬盤(pán)數(shù)據(jù)庫(kù)數(shù)據(jù)丟失主機(jī)不同云主機(jī)可能位與同一物理機(jī)數(shù)據(jù)庫(kù)不可用聯(lián)網(wǎng)不同云主機(jī)可能經(jīng)由同一網(wǎng)卡或網(wǎng)線(xiàn)聯(lián)網(wǎng)數(shù)據(jù)庫(kù)不可用交換機(jī)不用云主機(jī)可能接入到同一交換機(jī)大量高可用數(shù)據(jù)庫(kù)發(fā)生不可用故障(gùzhàng)隔離風(fēng)險(xiǎn)做冗余(rǒnɡyú)而不隔離故障,是偽高可用、偽高可靠第九頁(yè),共65頁(yè)??捎糜騛可用域b故障隔離:提供資源位置控制 可用域 控制云物理資源位置, 確保故障隔離的機(jī)制 不同(bùtónɡ)可用域確保物理機(jī)、 聯(lián)網(wǎng)和交換機(jī)隔離 應(yīng)用場(chǎng)景:主備隔離 數(shù)據(jù)庫(kù)主備從不同(bùtónɡ)可用域 分配Redis主備云硬盤(pán)兩副本(fùběn)第十頁(yè),共65頁(yè)。存儲(chǔ)(cúnchǔ)池a存儲(chǔ)(cúnchǔ)池b故障隔離:提供資源位置控制(存儲(chǔ)池) 存儲(chǔ)池 云計(jì)算平臺(tái)提供用 于控制云硬盤(pán)物理(wùlǐ) 資源位置,確保故 障隔離的機(jī)制

不同存儲(chǔ)池確保物

理機(jī)隔離

應(yīng)用場(chǎng)景:主備隔離

數(shù)據(jù)庫(kù)主備兩塊云

硬盤(pán)從不同存儲(chǔ)池

分配

云Redis主備兩塊云

硬盤(pán)從不同存儲(chǔ)池

分配第十一頁(yè),共65頁(yè)。高可靠保證:云硬盤(pán)需求:要求(yāoqiú)云硬盤(pán)可靠性大于本地RAID,不要求(yāoqiú)極高可靠性因?yàn)?yīnwèi)數(shù)據(jù)庫(kù)本身有主從備份第十二頁(yè),共65頁(yè)。計(jì)算(jìsuàn)性能 容量預(yù)留熱遷移(qiānyí)邏輯(luójí)隔離?虛擬機(jī)計(jì)算性能隨宿主機(jī)總體負(fù)載變化可能有20%左右的差異??

宿主機(jī)總體負(fù)載70%以?xún)?nèi)虛擬機(jī)CPU負(fù)載建議不要超過(guò)70%云計(jì)算平臺(tái)運(yùn)維保證宿主機(jī)總體負(fù)載不超過(guò)70%?借助KVM提供的熱遷移機(jī)制,可以在幾分鐘內(nèi)將虛擬機(jī)無(wú)感知?的遷移到另一臺(tái)宿主機(jī)監(jiān)控總體負(fù)載超高的宿主機(jī),熱遷移其它高負(fù)載的云主機(jī)?網(wǎng)易云主機(jī)設(shè)計(jì)了可用域功能可以物理隔離不同類(lèi)型業(yè)務(wù)的云?主機(jī)對(duì)外業(yè)務(wù)和內(nèi)部服務(wù)隔離、線(xiàn)上業(yè)務(wù)和測(cè)試系統(tǒng)隔離、數(shù)據(jù)庫(kù)與業(yè)務(wù)隔離第十三頁(yè),共65頁(yè)。高可用數(shù)據(jù)庫(kù)RDS(新型(xīnxíng)數(shù)據(jù)庫(kù)引擎NTSE+對(duì)新型(xīnxíng)硬件的支持InnoSQLFlashCache+VSR技術(shù)(jìshù))第十四頁(yè),共65頁(yè)。面向(miànxiànɡ)互聯(lián)網(wǎng)的關(guān)系數(shù)據(jù)庫(kù)需求OLTP,短小事務(wù)(shìwù)事務(wù)(shìwù)性要求靈活讀多寫(xiě)少,數(shù)據(jù)熱點(diǎn)明顯(míngxiǎn),往往集中于數(shù)據(jù)集的10%以?xún)?nèi)數(shù)據(jù)量大,IO為系統(tǒng)瓶頸,CPU能力通常過(guò)剩產(chǎn)品升級(jí)較快,模式變更頻繁第十五頁(yè),共65頁(yè)?,F(xiàn)有(xiànyǒu)業(yè)內(nèi)解決方案使用(shǐyòng)MYSQL+InnoDB+Memcached(Redis)主要(zhǔyào)問(wèn)題不必要的事務(wù)處理機(jī)制,造成性能處理的浪費(fèi)頁(yè)級(jí)緩存效率低空間利用率低下模式變更困難Memcached難以降低更新負(fù)載本質(zhì)上并未針對(duì)互聯(lián)網(wǎng)應(yīng)用特點(diǎn)為此,設(shè)計(jì)實(shí)現(xiàn)了一個(gè)新型數(shù)據(jù)庫(kù)存儲(chǔ)引擎NTSE,用MYSQL+NTSE來(lái)替代MYSQL+InnoDB+Memcached面向互聯(lián)網(wǎng)的關(guān)系數(shù)據(jù)庫(kù)需求第十六頁(yè),共65頁(yè)。關(guān)鍵技術(shù)的選擇(xuǎnzé) OLTP短小事務(wù) 事務(wù)性要求靈活 讀多寫(xiě)少有(shǎoyǒu)熱點(diǎn)數(shù)據(jù)量大IO瓶頸CPU過(guò)剩 模式變更頻繁兩種事務(wù)模型并可在線(xiàn)轉(zhuǎn)換內(nèi)存多版本外存單一版本的MVCC設(shè)計(jì)記錄級(jí)緩存數(shù)據(jù)壓縮動(dòng)態(tài)(dòngtài)模式,在線(xiàn)索引修改、備份與數(shù)據(jù)重整第十七頁(yè),共65頁(yè)。事務(wù)(shìwù)模型兩種事務(wù)(shìwù)模型傳統(tǒng)ACID事務(wù):保證多實(shí)體、多表操作通用(tōngyòng)事務(wù)ACID,支持分布式事務(wù),通用(tōngyòng)性好單實(shí)體ACID事務(wù):保證對(duì)單實(shí)體的單次操作微型事務(wù)的ACID,性能更優(yōu)(鎖定時(shí)間短并發(fā)度高、無(wú)需前向日志、無(wú)死鎖)事務(wù)模型在線(xiàn)切換單實(shí)體ACID事務(wù)表“升級(jí)”為傳統(tǒng)ACID事務(wù)表:創(chuàng)建內(nèi)存多版本數(shù)據(jù)結(jié)構(gòu),瞬時(shí)完成傳統(tǒng)ACID事務(wù)表“降級(jí)”為單實(shí)體ACID事務(wù)表:purge少量?jī)?nèi)存多版本數(shù)據(jù)后銷(xiāo)毀內(nèi)存多版本數(shù)據(jù)結(jié)構(gòu),秒級(jí)完成第十八頁(yè),共65頁(yè)。MVCC多版本(bǎnběn)粒度Oracle:頁(yè)面級(jí)多版本,重建(zhònɡjiàn)頁(yè)面開(kāi)銷(xiāo)大NTSE/InnoDB/PostgreSQL:記錄級(jí)多版本,實(shí)現(xiàn)(shíxiàn)簡(jiǎn)單,效率高版本記錄存儲(chǔ)Oracle/InnoDB/PostgreSQL:外存存儲(chǔ),存儲(chǔ)成本高,舊版本回收效率低,能良好支持超大超長(zhǎng)事務(wù);NTSE引擎:內(nèi)存存儲(chǔ)多版本記錄,外存單一版本記錄。存儲(chǔ)成本低,舊版本易回收,便于在線(xiàn)事務(wù)/非事務(wù)切換,但不能支持超大超長(zhǎng)事務(wù)(應(yīng)用不需要);歷史記錄存儲(chǔ)NTSE/Oracle/InnoDB:獨(dú)立存儲(chǔ),方便舊版本回收,減少對(duì)應(yīng)用的影響PostgreSQL:數(shù)據(jù)文件內(nèi)存儲(chǔ),舊版本回收特別困難;在犧牲了支持超大超長(zhǎng)事務(wù)(互聯(lián)網(wǎng)應(yīng)用一般無(wú)此要求)這一功能后,NTSE在存儲(chǔ)、舊版本回收、舊版本操作等方面綜合效率優(yōu)于Oracle/

InnoDB/PostgreSQL第十九頁(yè),共65頁(yè)。記錄(jìlù)級(jí)緩存使用記錄(jìlù)級(jí)緩存,緩存頻繁訪(fǎng)問(wèn)的行記錄(jìlù):內(nèi)存(nèicún)利用率優(yōu)于頁(yè)面級(jí)緩存解決了目前使用Memcached存在的數(shù)據(jù)一致性和緩存效率問(wèn)題技術(shù)挑戰(zhàn)內(nèi)存分配:記錄大小不一,使用類(lèi)Linux

SLAB分配器,根據(jù)記錄大小,分為不同的級(jí)別;替換策略:簡(jiǎn)單LRU內(nèi)存開(kāi)銷(xiāo)大,使用頁(yè)內(nèi)LRU組合頁(yè)面級(jí)最小堆,將內(nèi)存開(kāi)銷(xiāo)優(yōu)化到每記錄2字節(jié)同記錄間的LRU替換算法根據(jù)訪(fǎng)問(wèn)熱度及頻率確定頁(yè)面替換或記錄替換緩存一致性:行級(jí)緩存修改,記錄Redo日志第二十頁(yè),共65頁(yè)。數(shù)據(jù)壓縮(shùjùyāsuō)壓縮算法表級(jí)混合行列(hángliè)壓縮支持多種列內(nèi)及列間規(guī)則壓縮(yāsuō)支持后端通用壓縮(yāsuō)算法支持多壓縮(yāsuō)級(jí)別基于壓縮數(shù)據(jù)的新型索引支持基本索引(MAX/MIN)和擴(kuò)展索引(HASH)基本索引自動(dòng)創(chuàng)建,對(duì)壓縮率和裝載速度無(wú)影響擴(kuò)展索引手動(dòng)創(chuàng)建,存儲(chǔ)成本小于4字節(jié)/行,創(chuàng)建速度大大優(yōu)于傳統(tǒng)B+樹(shù)索引所有索引對(duì)查詢(xún)過(guò)程透明第二十一頁(yè),共65頁(yè)。高可用支持(zhīchí)動(dòng)態(tài)模式(dynamicschema)支持,增加(zēngjiā)字段僅修改表定義,瞬時(shí)完成。創(chuàng)建/刪除索引,在線(xiàn)進(jìn)行(jìnxíng),不鎖表,不影響應(yīng)用在線(xiàn)數(shù)據(jù)備份,備份過(guò)程不鎖表,不鎖數(shù)據(jù)庫(kù),不影響應(yīng)用數(shù)據(jù)重整(OPTIMIZE),在線(xiàn)進(jìn)行,不鎖表,不影響應(yīng)用第二十二頁(yè),共65頁(yè)。性能(xìngnéng)對(duì)比(blogbench) blogbench,是模擬網(wǎng)易博客應(yīng)用的基準(zhǔn)測(cè)試,特點(diǎn):SQL 簡(jiǎn)單(jiǎndān),以簡(jiǎn)單(jiǎndān)的查詢(xún)、更新、插入為主 測(cè)試數(shù)據(jù):1億條記錄 性能改善顯著,達(dá)到InnoDB的4倍以上2015/4/21Tuesday第二十三頁(yè),共65頁(yè)。InnoSQLFlashCache設(shè)計(jì)(shèjì)思路很多互聯(lián)網(wǎng)應(yīng)用按IOPS/GB計(jì)算介于SSD和SATA之間,適合使用SSD+SATA混合存儲(chǔ)提升(tíshēng)性能降低成本,但目前mysql無(wú)法有效利用SSD新型硬件優(yōu)勢(shì)設(shè)計(jì)(shèjì)實(shí)現(xiàn)了InnoSQLFlashCache:SSD用作二級(jí)緩存可靠性可用性增強(qiáng)Virtual

Synchronized

Replication:虛擬同步復(fù)制,保證崩潰恢復(fù)但不保證Slave讀取到實(shí)時(shí)數(shù)據(jù)Full

Synchronized

Replication:全同步復(fù)制,保證Slave數(shù)據(jù)訪(fǎng)問(wèn)一致性緩沖池預(yù)熱加速,縮短數(shù)據(jù)庫(kù)重啟預(yù)熱時(shí)間:通過(guò)dump/load復(fù)制狀態(tài)crash

safe并行復(fù)制云計(jì)算多租戶(hù)環(huán)境需求Profiler:限定數(shù)據(jù)庫(kù)用戶(hù)的IO訪(fǎng)問(wèn)次數(shù)和CPU使用時(shí)間2015/4/21

Tuesday第二十四頁(yè),共65頁(yè)。InnoSQL

Flash

CacheLRU替換下的頁(yè)面才寫(xiě)到FlashCache,避免Flash和內(nèi)存重復(fù)緩存在實(shí)現(xiàn)(shíxiàn)二級(jí)緩存的同時(shí)也實(shí)現(xiàn)(shíxiàn)了doublewrite功能對(duì)SSD只進(jìn)行順序(shùnxù)寫(xiě),提升壽命和性能第二十五頁(yè),共65頁(yè)。536201616582459050010001500200025003000InnoSQLFlashCache:性能(xìngnéng)對(duì)比 Blogbench 1774 1224 Facebook_Flash_Cache_100GFacebook_Flash_Cache_18GInnoSQL_Flash_Cache_18GInnoSQL_Flash_Cache_10GSSD2

Disk

RAID

1同等SSD緩存大小(18G)時(shí)InnoSQLFlashCache性能是FacebookFlashCache的2倍;由于InnoSQLFlashCache對(duì)SSD只產(chǎn)生順序?qū)?,性能甚?shènzhì)優(yōu)于將所有數(shù)據(jù)存儲(chǔ)于SSD時(shí)的原生MySQL。第二十六頁(yè),共65頁(yè)。云閱讀應(yīng)用(yìngyòng)FlashCache案例優(yōu)化前硬件配置600GSAS*4,有效容量1.2T優(yōu)化后硬件配置2TSATA*4+160GSSD*2,有效容量4T成本接近(jiējìn),容量大增,IO負(fù)載驟降第二十七頁(yè),共65頁(yè)。RDS高可用技術(shù)(jìshù)VSR復(fù)制(fùzhì)保證數(shù)據(jù)不丟心跳(xīntiào)和主動(dòng)監(jiān)測(cè)雙重探活并行復(fù)制保證主從無(wú)延遲秒級(jí)切換VIP切換(秒級(jí))Slave

Apply完日志(并行復(fù)制保證零延遲)CAP選擇C和AP很少發(fā)生發(fā)生P時(shí)可能需要人工介入處理第二十八頁(yè),共65頁(yè)。虛擬同步(tóngbù)復(fù)制:VSRBinlog得到(dédào)slave節(jié)點(diǎn)ack之后,再提交(tíjiāo)事務(wù),故障時(shí)能保證持久性第二十九頁(yè),共65頁(yè)。VSR性能(xìngnéng)VSR提供(tígōng)強(qiáng)同步的同時(shí),幾乎沒(méi)有性能損失原因:增大了組提交比例,減少了磁盤(pán)(cípán)IO負(fù)載第三十頁(yè),共65頁(yè)。高可用優(yōu)化:并行復(fù)制解決(jiějué)MySQL原生復(fù)制的痛點(diǎn)從串行執(zhí)行binlog,主從(zhǔcóng)數(shù)據(jù)延遲大failover等待數(shù)據(jù)(shùjù)同步時(shí)間久,可用性差社區(qū)的方案基于表的并行復(fù)制:無(wú)法解決熱點(diǎn)表的延遲問(wèn)題基于批量提交的復(fù)制:無(wú)法充分利用磁盤(pán)帶寬基于行的并行復(fù)制:并行檢測(cè)實(shí)現(xiàn)難度巨大InnoSQL并行復(fù)制原理:一個(gè)組提交中的事務(wù)都可以并行執(zhí)行效果:網(wǎng)易云監(jiān)控?cái)?shù)據(jù)庫(kù)延遲從9個(gè)小時(shí)降低到無(wú)延遲、網(wǎng)易電商數(shù)據(jù)庫(kù)延遲從5個(gè)小時(shí)降低到無(wú)延遲,可用性大幅提高第三十一頁(yè),共65頁(yè)。failover速數(shù)據(jù)丟失性能可維護(hù)性度Replication大量數(shù)據(jù)丟失好簡(jiǎn)單快Semi-syncReplication小部分?jǐn)?shù)據(jù)丟失差簡(jiǎn)單快MHA數(shù)據(jù)不丟失,前提是Master服務(wù)器依然存活(可能性極低)一般簡(jiǎn)單快SAN數(shù)據(jù)不丟失,前提是共享存儲(chǔ)本身沒(méi)有發(fā)生故障(可能性較高)一般數(shù)據(jù)庫(kù)簡(jiǎn)單SAN設(shè)備復(fù)雜慢Galera數(shù)據(jù)不丟失,前提至少有1臺(tái)服務(wù)器存活(可能性較高)差復(fù)雜快網(wǎng)易R(shí)DS/NTSE數(shù)據(jù)不丟失,前提至少有1臺(tái)服務(wù)器存活(可能性較高)好簡(jiǎn)單極快高可用方案(fāngàn)對(duì)比第三十二頁(yè),共65頁(yè)。應(yīng)用(yìngyòng)總結(jié)關(guān)注性能,事務(wù)需求不高的應(yīng)用,可使用(shǐyòng)NTES提供的非事務(wù)功能對(duì)事務(wù)要求(yāoqiú)較高的應(yīng)用,可使用NTES提供的事務(wù)功能數(shù)據(jù)熱點(diǎn)集中的應(yīng)用,可從NTES提供的行級(jí)緩存中獲取優(yōu)勢(shì)數(shù)據(jù)量大的應(yīng)用,可使用數(shù)據(jù)壓縮功能提供很好的SSD支持所有應(yīng)用都能獲得高可用支持第三十三頁(yè),共65頁(yè)。云分布式數(shù)據(jù)庫(kù)NDDB第三十四頁(yè),共65頁(yè)。產(chǎn)品(chǎnpǐn)目標(biāo)大容量高并發(fā),~100TB兼容(jiānrónɡ)標(biāo)準(zhǔn)MySQL協(xié)議SQL兼容度高,支持(zhīchí)跨表JOIN,子查詢(xún)等高可用,高可靠,強(qiáng)一致(繼承自RDS)支持(zhīchí)從RDS升級(jí)到NDDB在線(xiàn)伸縮對(duì)開(kāi)發(fā)支持效率高完善的管理特性:備份、統(tǒng)計(jì)、監(jiān)控等第三十五頁(yè),共65頁(yè)?,F(xiàn)有方案(fāngàn)評(píng)估Oracle

RAC成本高昂:商業(yè)產(chǎn)品;硬件需求(商業(yè)存儲(chǔ)系統(tǒng))可伸縮性風(fēng)險(xiǎn):現(xiàn)有部署(bùshǔ)一般不超過(guò)20節(jié)點(diǎn)中間件產(chǎn)品(chǎnpǐn)市場(chǎng)上缺乏成熟的解決方案NoSQL產(chǎn)品可用性、可靠性保障不足復(fù)雜查詢(xún)、事務(wù)等功能支持不足缺乏類(lèi)SQL標(biāo)準(zhǔn)接口,應(yīng)用開(kāi)發(fā)效率低第三十六頁(yè),共65頁(yè)。NDDB系統(tǒng)(xìtǒng)架構(gòu)第三十七頁(yè),共65頁(yè)。數(shù)據(jù)(shùjù)Sharding核心一:表級(jí)水平切分、兩級(jí)映射方案(fāngàn) 保證一級(jí)Hash固定;方便后續(xù)的擴(kuò)容與收縮核心二:關(guān)聯(lián)表使用相同分區(qū)策略 使用相同分區(qū)策略的關(guān)聯(lián)表,可在分區(qū)內(nèi)完成EQUAL-JOIN(LocalJoin)第三十八頁(yè),共65頁(yè)。查詢(xún)處理流程(liúchéng)第三十九頁(yè),共65頁(yè)。在線(xiàn)擴(kuò)容過(guò)程(1擴(kuò)2為例) 全量復(fù)制: 新建2個(gè)RDS作為目標(biāo)RDS 源RDS節(jié)點(diǎn)全量復(fù)制數(shù)據(jù)到目標(biāo)RDS 記錄全量復(fù)制時(shí)日志位置 刪除臟數(shù)據(jù):2個(gè)目標(biāo)RDS各自刪除一半無(wú)用數(shù)據(jù),相當(dāng)于1拆2 增量復(fù)制: 從日志的全量復(fù)制點(diǎn)開(kāi)始讀取日志回放增量數(shù)據(jù)到2個(gè)目標(biāo)RDS 等待回訪(fǎng)快要完成時(shí),進(jìn)行懸停切庫(kù) 懸停切庫(kù): 鎖定所有查詢(xún)服務(wù)器 等待尾部少量(shǎoliàng)日志回訪(fǎng)完成 查詢(xún)服務(wù)器(QS)切換到目標(biāo)RDS 解鎖查詢(xún)服務(wù)器,擴(kuò)容完成全量復(fù)制(fùzhì)(只讀RDS)Hamal增量復(fù)制+增量數(shù)據(jù)校驗(yàn) 刪除(shānchú)臟數(shù)據(jù)QS懸停切庫(kù)第四十頁(yè),共65頁(yè)。分布式事務(wù)處理核心(héxīn):兩階段提交(2-Phase-Commit)支持SQLProxy(QueryServer),作為(zuòwéi)分布式事務(wù)的發(fā)起者與協(xié)調(diào)者解析(jiěxī)用戶(hù)的SQL,若SQL跨多節(jié)點(diǎn),開(kāi)始一個(gè)分布式事務(wù)用戶(hù)提交事務(wù),QS作為協(xié)調(diào)者,發(fā)起Prepare請(qǐng)求,記錄Prepare日志待所有參與者均Prepare成功,發(fā)起Commit請(qǐng)求,提交事務(wù),記錄Commit日志異常情況一:Query

Server崩潰并重啟根據(jù)Query

Server中記錄的Prepare日志,處理懸掛事務(wù)異常情況二:Query

Server永久崩潰將分布式事務(wù)日志存儲(chǔ)于高可靠的云硬盤(pán)系統(tǒng)保證XA事務(wù)ACID第四十一頁(yè),共65頁(yè)。NCR云Redis服務(wù)(fúwù)第四十二頁(yè),共65頁(yè)。NCR需求(xūqiú)兼容Redis協(xié)議彈性(tánxìng)伸縮高可用分鐘級(jí)部署、完善的統(tǒng)計(jì)(tǒngjì)和運(yùn)維工具第四十三頁(yè),共65頁(yè)。NCR架構(gòu)(jiàɡòu) NLB 負(fù)載均衡4層負(fù)載(fùzài)均衡代理(dàilǐ)節(jié)點(diǎn)

Redis進(jìn)程

云硬盤(pán)云主機(jī)第四十四頁(yè),共65頁(yè)。在線(xiàn)(zàixiàn)擴(kuò)容 NLB 負(fù)載均衡 NLB 負(fù)載均衡(jūnhéng)復(fù)制Pre-sharding:預(yù)先創(chuàng) 建所有redis進(jìn)程通過(guò)redis成熟的一對(duì) 一復(fù)制機(jī)制遷移部分 redis進(jìn)程實(shí)現(xiàn)伸縮理解業(yè)務(wù)協(xié)議的代理 節(jié)點(diǎn)延時(shí)請(qǐng)求消除節(jié) 點(diǎn)路由切換影響有狀態(tài)系統(tǒng)(xìtǒng)實(shí)現(xiàn)自適 應(yīng)無(wú)縫伸縮的參考架 構(gòu)第四十五頁(yè),共65頁(yè)。NCR特點(diǎn)(tèdiǎn)利用已有NLB、云主機(jī)(zhǔjī)、云硬盤(pán)組件實(shí)現(xiàn)(shíxiàn)代價(jià)小SLA有保障Presharding

+

redis主從復(fù)制實(shí)現(xiàn)擴(kuò)容優(yōu)點(diǎn):實(shí)現(xiàn)代價(jià)小,

且滿(mǎn)足應(yīng)用需求缺點(diǎn):運(yùn)維需要有一定專(zhuān)業(yè)性,

只適用私有云環(huán)境缺點(diǎn):需要實(shí)現(xiàn)考慮集群容量,

將來(lái)考慮采用REDIS

CLUSTER第四十六頁(yè),共65頁(yè)。云數(shù)據(jù)庫(kù)應(yīng)用(yìngyòng)覆蓋網(wǎng)易互聯(lián)網(wǎng)主要(zhǔyào)應(yīng)用第四十七頁(yè),共65頁(yè)。小結(jié)(xiǎojié)云平臺(tái)(píngtái)和數(shù)據(jù)庫(kù)一體化設(shè)計(jì),平臺(tái)(píngtái)為數(shù)據(jù)庫(kù)提供隔離性、性能保障、可靠性、資源彈性,降低云數(shù)據(jù)庫(kù)實(shí)現(xiàn)代價(jià)。云數(shù)據(jù)庫(kù)RDS,提供即開(kāi)即用、穩(wěn)定可靠、彈性(tánxìng)伸縮的高可用數(shù)據(jù)庫(kù)服務(wù),RDS也是分布式數(shù)據(jù)庫(kù)NDDB的基石。分布式云數(shù)據(jù)庫(kù)NDDB,

是兼容MySQL協(xié)議,具有橫向擴(kuò)容能力的分布式關(guān)系數(shù)據(jù)庫(kù)平臺(tái),

提供大型應(yīng)用無(wú)限伸縮能力。云Redis服務(wù)NCR,

是高可用的托管式分布式Redis服務(wù),

滿(mǎn)足復(fù)雜內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)和緩沖需求。第四十八頁(yè),共65頁(yè)。網(wǎng)易對(duì)浙大研究(yánjiū)的幫助問(wèn)題來(lái)源(láiyuán)(實(shí)際需求,用戶(hù)奇思妙想)大數(shù)據(jù)資源設(shè)計(jì)師+工程師資金(zījīn)第四十九頁(yè),共65頁(yè)。myDJ:基于能力的音樂(lè)(yīnyuè)推薦(SIGIR/TKDE/ACMMM/TMM)第五十頁(yè),共65頁(yè)。基于能力的音樂(lè)(yīnyuè)推薦研究(yánjiū)動(dòng)機(jī)為了給用戶(hù)推薦適合(shìhé)其自身演唱的歌曲研究問(wèn)題對(duì)唱歌社交社區(qū)中海量用戶(hù)根據(jù)歌曲難度進(jìn)行粗粒度的演唱歌曲推薦對(duì)有極高歌曲選擇需求的用戶(hù)根據(jù)其發(fā)聲能力進(jìn)行細(xì)粒度的演唱歌曲推薦研究路線(xiàn)第五十一頁(yè),共65頁(yè)。基于個(gè)體發(fā)聲能力(nénglì)的音樂(lè)推薦研究(yánjiū)內(nèi)容對(duì)個(gè)體(gètǐ)發(fā)聲能力進(jìn)行建模對(duì)每首歌曲進(jìn)行建模從而能用于推薦在發(fā)聲能力以及歌曲之間建立查詢(xún)推薦機(jī)制第五十二頁(yè),共65頁(yè)?;趥€(gè)體發(fā)聲能力(nénglì)的音樂(lè)推薦 發(fā)聲能力(nénglì)可視化 男低音查詢(xún)(cháxún)結(jié)果展示男中音男高音第五十三頁(yè),共65頁(yè)。唱歌社交(shèjiāo)社區(qū)中的音樂(lè)推薦系統(tǒng) 技術(shù)路線(xiàn)創(chuàng)新思想 通過(guò)對(duì)真實(shí)用戶(hù)數(shù)據(jù)進(jìn)行挖掘發(fā)現(xiàn)歌曲難度序 提出歌曲難度圖模型,對(duì)歌曲難度序進(jìn)行概率建模 提出一種迭代概率推導(dǎo)的能力(nénglì)音樂(lè)推薦算法進(jìn)行歌曲推薦第五十四頁(yè),共65頁(yè)。唱歌社交社區(qū)中的音樂(lè)推薦系統(tǒng) 實(shí)驗(yàn)結(jié)果 推薦準(zhǔn)確率與傳統(tǒng)推薦算法相比提升180%以上,克服推薦系統(tǒng)冷 啟動(dòng)(qǐdòng)問(wèn)題 推薦結(jié)果在實(shí)際用戶(hù)使用中令人滿(mǎn)意算法(suànfǎ)準(zhǔn)確率比較第五十五頁(yè),共65頁(yè)。myDJ原型(yuánxíng)系統(tǒng)可以錄制用戶(hù)發(fā)聲能力,實(shí)時(shí)的進(jìn)行發(fā)聲能力可視化以及演唱(yǎnchàng)歌曲推薦第五十六頁(yè),共65頁(yè)。LogBase:基于日志(rìzhì)結(jié)構(gòu)的彈性數(shù)據(jù)庫(kù)(VLDB/ICDE/TKDE)第五十七頁(yè),共65頁(yè)。背景(bèijǐng)介紹傳統(tǒng)(chuántǒng)的數(shù)據(jù)庫(kù)保留兩份實(shí)際上等同的數(shù)據(jù):數(shù)據(jù)庫(kù)表、日志(rìzhì)數(shù)據(jù)庫(kù)表用來(lái)快速回答查詢(xún)(查詢(xún)效率高)日志(rìzhì)用來(lái)進(jìn)行恢復(fù)處理(更新效率高)日志(rìzhì)和數(shù)據(jù)需要同步(代價(jià)高)然而,有一類(lèi)大數(shù)據(jù)應(yīng)用傳統(tǒng)數(shù)據(jù)庫(kù)不能很好的支持高速更新而查詢(xún)分布不均勻:高速電商交易(每秒10萬(wàn)筆)、互聯(lián)網(wǎng)有害信息甄別(數(shù)據(jù)出入速度極快、分析查詢(xún)?yōu)橹鳎┑谖迨隧?yè),共65頁(yè)。Log數(shù)據(jù)庫(kù)表<T0start><T0,A,100><T0,B,200>A=100B=200<T0commit>背景(bèijǐng)介紹基于日志(rìzhì)的恢復(fù)當(dāng)數(shù)據(jù)庫(kù)發(fā)生故障時(shí),可以通過(guò)日志來(lái)進(jìn)行恢復(fù)。利用日志里面記錄的事務(wù)開(kāi)始、結(jié)束和期間完成的修改(xiūgǎi)操作,我們可以將數(shù)據(jù)庫(kù)恢復(fù)到其發(fā)生故障前的狀態(tài)那么也就是說(shuō),可以通過(guò)搜索日志來(lái)得到數(shù)據(jù)庫(kù)中數(shù)據(jù)那么可以通過(guò)日志來(lái)回答用戶(hù)的查詢(xún)嗎?理論上完全可行實(shí)際系統(tǒng)中速度太慢第五十九頁(yè),共65頁(yè)?;谌罩?rìzhì)結(jié)構(gòu)的數(shù)據(jù)庫(kù)提出(tíchū)基于單一日志結(jié)構(gòu)的數(shù)據(jù)庫(kù)顛覆了傳統(tǒng)數(shù)據(jù)庫(kù)(日志(rìzhì)+數(shù)據(jù)庫(kù)表)存儲(chǔ)結(jié)構(gòu),僅僅維護(hù)一個(gè)日志(rìzhì)文件大大降低了存儲(chǔ)代價(jià)(不再需要數(shù)據(jù)表)大大提升了更新速度,單節(jié)點(diǎn)每秒10萬(wàn)條,多節(jié)點(diǎn)彈性增長(zhǎng)新的硬件(如PCM和SSD)進(jìn)一步提高了日志文件的讀寫(xiě)性能主要的挑戰(zhàn):如何在得到以上優(yōu)點(diǎn)的同時(shí),保證高效的查詢(xún)處理能力?第六十頁(yè),共65頁(yè)。日志(rìzhì)結(jié)構(gòu)數(shù)據(jù)庫(kù)架構(gòu)第六十一頁(yè),共65頁(yè)。LogKeyLogKeyLogKeyDat

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論