阿里云數(shù)字新基建系列包括5本書,涉及Kubernetes、混合云架構(gòu)、云數(shù)據(jù)庫(kù)、CDN原理與流媒體技術(shù)、云服務(wù)器運(yùn)維(Windows),囊括了領(lǐng)先的云技術(shù)知識(shí)與阿里云技術(shù)團(tuán)隊(duì)獨(dú)到的實(shí)踐經(jīng)驗(yàn),是國(guó)內(nèi)IT技術(shù)圖書又一重磅作品。
數(shù)據(jù)庫(kù)技術(shù),被稱為計(jì)算機(jī)三駕馬車之一,幾十年來(lái),持續(xù)支持著全球億萬(wàn)數(shù)字業(yè)務(wù)的運(yùn)行,而云計(jì)算的出現(xiàn),賦予了數(shù)據(jù)庫(kù)新的能力。云數(shù)據(jù)庫(kù)按引擎能力,可以分為關(guān)系型數(shù)據(jù)庫(kù)、非關(guān)系型數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)和分布式新型數(shù)據(jù)庫(kù)。本書從技術(shù)原理入手,講解各種數(shù)據(jù)庫(kù)的特點(diǎn),分析不同場(chǎng)景的架構(gòu)選型和數(shù)據(jù)庫(kù)優(yōu)化,繼而展開(kāi)到云數(shù)據(jù)庫(kù)的遷移、云數(shù)據(jù)庫(kù)的運(yùn)維工作,期望能幫助讀者了解和掌握云數(shù)據(jù)庫(kù)相關(guān)知識(shí)與技能。
遨游海域的座頭鯨、成群結(jié)隊(duì)的角馬、群聚飛翔的火烈鳥……構(gòu)成了一幅幅壯美的生存畫面,遷徙是自然界令人嘆為觀止的景觀。
數(shù)智時(shí)代的上云與自然界的遷徙何其相似。
2021年伊始,我們博文視點(diǎn)的編輯團(tuán)隊(duì)聯(lián)合阿里云技術(shù)團(tuán)隊(duì),為廣大IT技術(shù)人員奉上阿里云數(shù)字新基建系列。這個(gè)系列包括5本書,題材涉及Kubernetes、混合云架構(gòu)、云數(shù)據(jù)庫(kù)、CDN原理與流媒體技術(shù)、云服務(wù)器運(yùn)維(Windows),囊括了領(lǐng)先的云技術(shù)知識(shí)與阿里云技術(shù)團(tuán)隊(duì)獨(dú)到的實(shí)踐經(jīng)驗(yàn),是國(guó)內(nèi)IT技術(shù)圖書中又一套重磅作品!
關(guān)于本書《云數(shù)據(jù)庫(kù)架構(gòu)》:
(1)阿里云數(shù)據(jù)庫(kù)產(chǎn)品事業(yè)部總裁、達(dá)摩院數(shù)據(jù)庫(kù)與存儲(chǔ)實(shí)驗(yàn)室負(fù)責(zé)人李飛飛力薦,全彩印刷,厚352頁(yè)。
(2)詳解云數(shù)據(jù)庫(kù)領(lǐng)域各種引擎的特點(diǎn)與原理,助你理解數(shù)據(jù)庫(kù)架構(gòu)的選型要點(diǎn)!阿里云數(shù)據(jù)庫(kù)專家朱明李森許文科江厚順王超郭寧余從佳王海忠聚力撰寫!
為什么要寫這本書
數(shù)據(jù)庫(kù)技術(shù),經(jīng)過(guò)幾十年的發(fā)展,不僅沒(méi)有被淘汰,反而隨著時(shí)間的推移,數(shù)據(jù)庫(kù)引擎的高精尖程度、架構(gòu)的復(fù)雜度、市場(chǎng)的普及度,都達(dá)到了計(jì)算機(jī)領(lǐng)域非常領(lǐng)先的程度,與操作系統(tǒng)、網(wǎng)絡(luò)并稱為計(jì)算機(jī)三駕馬車。
我還記得讀大學(xué)時(shí),數(shù)據(jù)庫(kù)市場(chǎng)正是Oracle數(shù)據(jù)庫(kù)一家獨(dú)大,那個(gè)時(shí)候,學(xué)校的圖書館里收藏著蓋國(guó)強(qiáng)老師的Oracle系列叢書,它們成為我的數(shù)據(jù)庫(kù)啟蒙圖書。但技術(shù)的演進(jìn)日新月異,互聯(lián)網(wǎng)的興起帶來(lái)了新的生機(jī),從我工作開(kāi)始,越來(lái)越多的數(shù)據(jù)庫(kù)出現(xiàn)在我的面前,有傳統(tǒng)的商業(yè)數(shù)據(jù)庫(kù),如Oracle、SQL Server、DB2;也有開(kāi)源數(shù)據(jù)庫(kù),如MySQL、PostgreSQL;后來(lái)又出現(xiàn)了一種新的數(shù)據(jù)庫(kù),即NoSQL數(shù)據(jù)庫(kù),MongoDB、Redis接踵而來(lái);沒(méi)過(guò)幾年,又出現(xiàn)了分布式數(shù)據(jù)庫(kù)、新型數(shù)據(jù)庫(kù),等等。
除此之外,越來(lái)越復(fù)雜的高可用方案,充斥在各種技術(shù)博客中;五花八門的Bug和錯(cuò)誤代碼,擁擠在搜索引擎里;越來(lái)越多的新名詞、新概念,堆砌在招聘簡(jiǎn)介中。BBS里一整頁(yè)的分區(qū)板塊;微信交流群、釘釘分享群永遠(yuǎn)都有1000人,加不進(jìn)去,有些群名赫然寫著1群、2群、3群,儼然有一種知識(shí)大爆炸的感覺(jué),既讓人為這種繁榮熱鬧的場(chǎng)面而興奮,又讓人為這些快速迭代的變化而焦慮。
我在學(xué)習(xí)Oracle的時(shí)候,以為一招鮮,可以吃遍天,但工作后發(fā)現(xiàn)這個(gè)想法是十分幼稚的,在找工作時(shí),越來(lái)越多的公司要求有多種數(shù)據(jù)庫(kù)經(jīng)驗(yàn);隨著云數(shù)據(jù)庫(kù)的興起,業(yè)務(wù)更快速地接入多種數(shù)據(jù)庫(kù)的難度也在大大降低。于是,我又萌生了另外一個(gè)幼稚的想法如果能學(xué)會(huì)所有數(shù)據(jù)庫(kù)就好了。
經(jīng)過(guò)九年的時(shí)間磨礪,我沒(méi)有想到,我正在逐漸接近這個(gè)幼稚的想法;我也沒(méi)有想到,會(huì)為了這個(gè)幼稚的想法,組織了一群相信我的人,一起來(lái)撰寫這么一本書,希望能把紛繁變化的云數(shù)據(jù)庫(kù)世界展現(xiàn)給廣大讀者。
不同的時(shí)代,會(huì)有不同的背景。在今天這個(gè)時(shí)代,有兩個(gè)大背景:
- 去IOE運(yùn)動(dòng)風(fēng)行多年,國(guó)產(chǎn)數(shù)據(jù)庫(kù)如雨后春筍,百家爭(zhēng)鳴,被收錄的國(guó)產(chǎn)數(shù)據(jù)庫(kù)多達(dá)上百種;其中阿里云作為國(guó)產(chǎn)數(shù)據(jù)庫(kù)廠商代表,首次代表中國(guó)公司,進(jìn)入Gartner全球數(shù)據(jù)庫(kù)領(lǐng)導(dǎo)者象限,這是國(guó)內(nèi)廠商在數(shù)據(jù)庫(kù)領(lǐng)域的歷史性突破。
- 21世紀(jì)以來(lái),互聯(lián)網(wǎng)興盛蓬勃,云計(jì)算逐漸成為互聯(lián)網(wǎng)時(shí)代的新型基礎(chǔ)設(shè)施,阿里云作為國(guó)內(nèi)領(lǐng)先的云計(jì)算廠商,有幸參與到這個(gè)歷史使命中,對(duì)數(shù)據(jù)庫(kù)的架構(gòu)選型和深度使用,也注定在歷史上留下自己的腳印。
如此百花齊放、波瀾壯闊的浪潮,不禁讓我想起我們常說(shuō)的那句話:澎湃算力,世界動(dòng)力。
關(guān)于本書
本書從數(shù)據(jù)庫(kù)的技術(shù)基礎(chǔ)要素、架構(gòu)、實(shí)踐等多個(gè)方面出發(fā),分層次展開(kāi)介紹了云數(shù)據(jù)庫(kù)的內(nèi)核、管控、高可用、云化、國(guó)產(chǎn)設(shè)計(jì)等特點(diǎn),從技術(shù)到工程實(shí)踐,凝聚了阿里云技術(shù)專家們多年的努力與總結(jié)。我們期望本書可以給正在上云、即將上云以及期望了解云數(shù)據(jù)庫(kù)的決策者和技術(shù)人員一些幫助,同時(shí)也希望本書可以給已經(jīng)在使用云數(shù)據(jù)庫(kù)的專家、技術(shù)人員帶來(lái)一些新的全局認(rèn)識(shí),幫助他們更好地使用云數(shù)據(jù)庫(kù)。
本書內(nèi)容安排如下:
- 第1章和第2章,重點(diǎn)講解了關(guān)系型數(shù)據(jù)庫(kù)的種種設(shè)計(jì),尤其是它們的特點(diǎn)和區(qū)別;非關(guān)系型數(shù)據(jù)庫(kù)究竟是什么,能解決什么問(wèn)題;新型數(shù)據(jù)倉(cāng)庫(kù)的出發(fā)點(diǎn)和優(yōu)勢(shì)在哪里,以及新型數(shù)據(jù)庫(kù)(NewSQL)到底新在哪里,方向又在何處。各章節(jié)除了講解社區(qū)版的設(shè)計(jì),還對(duì)比了阿里云數(shù)據(jù)庫(kù)在云化設(shè)計(jì)上的創(chuàng)新和優(yōu)勢(shì)。
- 第3章,結(jié)合前兩章介紹的原理知識(shí),講解了一些常見(jiàn)問(wèn)題的架構(gòu)選型思路;還結(jié)合各行各業(yè)的案例,介紹了在不同場(chǎng)景下,如何使用不同的數(shù)據(jù)庫(kù)組合解決業(yè)務(wù)難題。
- 第4章,重點(diǎn)講解了如何將數(shù)據(jù)庫(kù)從本地遷移到云上,按數(shù)據(jù)庫(kù)種類,分別講解了各種同步工具,并結(jié)合不同業(yè)務(wù),分別介紹了在不同切換需求下如何進(jìn)行業(yè)務(wù)割接。
- 第5章,重點(diǎn)講解了阿里云數(shù)據(jù)庫(kù)的一些特殊概念,方便讀者理解阿里云在云數(shù)據(jù)庫(kù)管控方面的設(shè)計(jì)以及必要知識(shí)。
- 第6章至第9章,從運(yùn)維管理的角度出發(fā),介紹了阿里云數(shù)據(jù)庫(kù)的配套組件,它們分別是DMS,用于安全生產(chǎn)和多類型數(shù)據(jù)庫(kù)管理訪問(wèn)平臺(tái);DAS,自治化數(shù)據(jù)庫(kù)優(yōu)化平臺(tái);DBS,備份恢復(fù)管理平臺(tái);CMS,配套云監(jiān)控平臺(tái)。
致謝
首先,感謝阿里云數(shù)字新基建系列叢書的編委會(huì),感謝各位專家,包括:李津、李飛飛、張卓、黃貴、李圣陶、萬(wàn)誼平,他們?cè)趫D書編寫中給予了我們?cè)S多方向上的指導(dǎo);感謝所有在圖書編寫過(guò)程中給予我們幫助的同事,包括:李廣望、沈乘黃、胡中泉、潘文宇、王勇猛、陳宗志、何雷、王若、童家旺、楊成虎、王佳毅、朱國(guó)云、王宇輝、李德坤、周建平、崔嶼、張?chǎng)、江冉、李一帥、秦(fù)P。沒(méi)有你們的幫助和支持,我們無(wú)法完成這本書。
其次,感謝電子工業(yè)出版社博文視點(diǎn)的張彥紅、葛娜、劉博、高麗陽(yáng)、李玲等老師,感謝你們?cè)趫D書的編輯和推進(jìn)中給予我們諸多幫助,沒(méi)有你們,這本書也不會(huì)以此形式和廣大讀者見(jiàn)面。
后,感謝我的Mentor,段凌,來(lái)自微軟中國(guó)的數(shù)據(jù)庫(kù)資深專家,以及阿里巴巴的師兄,田杰,來(lái)自阿里云數(shù)據(jù)庫(kù)事業(yè)部的高級(jí)專家。沒(méi)有你們的教導(dǎo)和培養(yǎng),我亦無(wú)法擔(dān)此角色來(lái)統(tǒng)籌撰寫這本書。同時(shí)感謝我的家人,對(duì)我的鼓勵(lì)與慰藉。
希望本書能夠讓所有對(duì)云數(shù)據(jù)庫(kù)感興趣的朋友都有所收獲,或有所感悟。因水平有限,書中難免有筆誤、差錯(cuò)或遺漏等問(wèn)題,希望廣大讀者能把發(fā)現(xiàn)的錯(cuò)誤告訴我們,我們將不勝感激。
- 朱明·
微軟原工程師,現(xiàn)擔(dān)任阿里云數(shù)據(jù)庫(kù)高級(jí)技術(shù)專家,擅長(zhǎng)關(guān)系型、非關(guān)系型、分布式等多種數(shù)據(jù)庫(kù)技術(shù)。從事數(shù)據(jù)庫(kù)工作9年,有豐富的從業(yè)經(jīng)驗(yàn),擅長(zhǎng)各類疑難雜癥的排查和架構(gòu)設(shè)計(jì)。
·李森·
現(xiàn)擔(dān)任阿里云售后技術(shù)專家,從事數(shù)據(jù)庫(kù)相關(guān)工作8年,主要負(fù)責(zé)阿里云數(shù)據(jù)庫(kù)產(chǎn)品線技術(shù)支持工作,擅長(zhǎng)關(guān)系型、分布式等多種數(shù)據(jù)庫(kù)技術(shù),擅長(zhǎng)設(shè)計(jì)與實(shí)施復(fù)雜數(shù)據(jù)庫(kù)系統(tǒng)的搬遷方案。
·許文科·
阿里云技術(shù)專家,從事數(shù)據(jù)庫(kù)相關(guān)工作12年,為多家上市公司、政企提供數(shù)據(jù)庫(kù)顧問(wèn)咨詢、培訓(xùn)和方案設(shè)計(jì)、技術(shù)支持服務(wù)。目前就職于阿里巴巴,專注于阿里云數(shù)據(jù)庫(kù)售后技術(shù)支持工作。
·江厚順·
長(zhǎng)期從事數(shù)據(jù)庫(kù)方面的工作,對(duì)數(shù)據(jù)庫(kù)原理有深入的理解,技術(shù)支持經(jīng)驗(yàn)豐富。曾在IBM從事DB2數(shù)據(jù)庫(kù)售后技術(shù)支持多年,2019年加入阿里云,擔(dān)任數(shù)據(jù)庫(kù)售后技術(shù)專家。
·王超·
網(wǎng)易原工程師,現(xiàn)擔(dān)任阿里云高級(jí)技術(shù)經(jīng)理,長(zhǎng)期從事互聯(lián)網(wǎng)行業(yè)相關(guān)數(shù)據(jù)庫(kù)項(xiàng)目支持工作,負(fù)責(zé)游戲、泛娛樂(lè)等行業(yè)客戶的技術(shù)項(xiàng)目方案設(shè)計(jì)、架構(gòu)優(yōu)化、業(yè)務(wù)保障以及技術(shù)支持工作。
·郭寧·
阿里云技術(shù)專家,深耕于互聯(lián)網(wǎng)行業(yè)并從事數(shù)據(jù)庫(kù)相關(guān)工作近11年,擅長(zhǎng)關(guān)系型數(shù)據(jù)庫(kù)和分布式數(shù)據(jù)庫(kù)的性能診斷優(yōu)化、架構(gòu)設(shè)計(jì)及數(shù)據(jù)庫(kù)運(yùn)維生態(tài)開(kāi)發(fā)。
·余從佳·
現(xiàn)擔(dān)任阿里云數(shù)據(jù)庫(kù)交付與架構(gòu)工程師,擅長(zhǎng)關(guān)系型、分布式、非關(guān)系型等多種數(shù)據(jù)庫(kù)技術(shù),先后多次參與游戲、金融、能源等行業(yè)頭部客戶數(shù)據(jù)庫(kù)技術(shù)支持、國(guó)產(chǎn)化架構(gòu)方案設(shè)計(jì)與遷云交付。
·王海忠·
搜狐集團(tuán)原DBA,現(xiàn)擔(dān)任阿里云數(shù)據(jù)庫(kù)高級(jí)技術(shù)專家,擁有多年的互聯(lián)網(wǎng)行業(yè)數(shù)據(jù)庫(kù)工作經(jīng)驗(yàn),參與阿里巴巴集團(tuán)多年雙十一保障工作,有豐富的數(shù)據(jù)庫(kù)優(yōu)化、保障經(jīng)驗(yàn)。
第1章 關(guān)系型云數(shù)據(jù)庫(kù)技術(shù)特點(diǎn)
1.1 RDS for MySQL
1.1.1 SQL語(yǔ)句在MySQL服務(wù)層的執(zhí)行過(guò)程
1.1.2 優(yōu)化器與優(yōu)化器追蹤(Optimizer Trace)
1.1.3 slowlog 與 binlog
1.1.4 InnoDB的MVCC
1.1.5 InnoDB redo日志
1.1.6 InnoDB Mini-Transaction
1.1.7 InnoDB undo日志
1.1.8 內(nèi)部XA二階段提交
1.1.9 半同步復(fù)制
1.1.10 線程池
1.1.11 X-Engine
1.1.12 RDS三節(jié)點(diǎn)企業(yè)版
1.2 RDS for SQL Server
1.2.1 SQL Server的架構(gòu)
1.2.2 SQLOS
1.2.3 SQL Server的并發(fā)
1.2.4 SQL Server的優(yōu)化器
1.2.5 RDS for SQL Server高可用實(shí)現(xiàn)
1.3 RDS for PostgreSQL
1.3.1 PGSQL的優(yōu)化器
1.3.2 PGSQL MVCC與鎖
1.3.3 PGSQL 復(fù)制與高可用
第2章 非關(guān)系型及新型云數(shù)據(jù)庫(kù)技術(shù)特點(diǎn)
2.1 非關(guān)系型數(shù)據(jù)庫(kù)
2.1.1 Redis & Memcached 緩存型數(shù)據(jù)庫(kù)
2.1.2 MongoDB
2.2 數(shù)據(jù)倉(cāng)庫(kù)
2.2.1 AnalyticDB for MySQL
2.2.2 HBase & Lindorm
2.3 分布式和其他新型數(shù)據(jù)庫(kù)
2.3.1 以PolarDB-X為代表的Share Nothing分布式集群
2.3.2 以PolarDB-M為代表的Share Everything集群
第3章 云數(shù)據(jù)庫(kù)技術(shù)選型與場(chǎng)景實(shí)踐
3.1 擴(kuò)容的技術(shù)實(shí)踐
3.1.1 業(yè)務(wù)請(qǐng)求量膨脹
3.1.2 數(shù)據(jù)容量膨脹
3.2 換代的技術(shù)實(shí)踐
3.2.1 同系列升級(jí)
3.2.2 跨系列升級(jí)
3.3 熱點(diǎn)訪問(wèn)的技術(shù)優(yōu)化
3.4 場(chǎng)景實(shí)踐
3.4.1 在線教育數(shù)據(jù)庫(kù)選擇
3.4.2 線上游戲數(shù)據(jù)庫(kù)選擇
3.4.3 工業(yè)/ IoT數(shù)據(jù)庫(kù)選擇
3.4.4 金融數(shù)據(jù)庫(kù)選擇
3.4.5 交通物流配送
第4章 數(shù)據(jù)庫(kù)遷移的實(shí)現(xiàn)和方案
4.1 數(shù)據(jù)庫(kù)遷移的類型和方式
4.2 邏輯數(shù)據(jù)遷移的實(shí)現(xiàn)
4.2.1 邏輯數(shù)據(jù)遷移的步驟與風(fēng)險(xiǎn)
4.3 云上的數(shù)據(jù)庫(kù)遷移的工具
4.3.1 數(shù)據(jù)傳輸服務(wù)DTS
4.3.2 數(shù)據(jù)庫(kù)和應(yīng)用遷移服務(wù)ADAM
4.3.3 數(shù)據(jù)集成
4.3.4 BDS
4.3.5 其他遷移工具
4.4 不同場(chǎng)景下的數(shù)據(jù)遷移方案
4.4.1 場(chǎng)景1:一對(duì)一遷移
4.4.2 場(chǎng)景2:一對(duì)多高耦合業(yè)務(wù)遷移
4.4.3 場(chǎng)景3:多對(duì)一異構(gòu)遷移
第5章 云上數(shù)據(jù)庫(kù)運(yùn)維指南與實(shí)踐
5.1 快速入門使用云數(shù)據(jù)庫(kù)
5.1.1 創(chuàng)建RDS實(shí)例
5.1.2 設(shè)置白名單
5.1.3 設(shè)置連接地址
5.1.4 創(chuàng)建數(shù)據(jù)庫(kù)和賬號(hào)
5.1.5 常見(jiàn)運(yùn)維管理
5.2 主備切換(HA)
5.2.1 HA健康檢測(cè)機(jī)制
5.2.2 臨時(shí)關(guān)閉主備自動(dòng)切換
5.3 主動(dòng)運(yùn)維
5.3.1 消息接收管理
5.3.2 設(shè)置可維護(hù)時(shí)間段
5.3.3 待處理事件
5.4 使用Open API
5.4.1 API通信協(xié)議
5.4.2 API簽名機(jī)制
5.4.3 OpenAPI Explorer
5.4.4 API問(wèn)題診斷
第6章 安全管理DMS
6.1 產(chǎn)品介紹
6.1.1 什么是數(shù)據(jù)管理DMS
6.1.2 基礎(chǔ)架構(gòu)
6.1.3 DMS優(yōu)勢(shì)
6.2 使用指南
6.2.1 系統(tǒng)管理
6.2.2 實(shí)例管理
6.3 DMS實(shí)踐
6.3.1 權(quán)限管理
6.3.2 基于ADB和DMS企業(yè)版周期生成報(bào)表數(shù)據(jù)
6.3.3 自定義審批流程
6.3.4 不鎖表變更-回收碎片空間
第7章 數(shù)據(jù)庫(kù)自治服務(wù)DAS
7.1 初識(shí)數(shù)據(jù)庫(kù)自治服務(wù)DAS
7.1.1 數(shù)據(jù)庫(kù)運(yùn)維與管理的挑戰(zhàn)
7.1.2 解決方案自治服務(wù)DAS
7.2 從實(shí)戰(zhàn)案例認(rèn)識(shí)自治服務(wù)DAS
7.2.1 使用DAS分析優(yōu)化慢SQL
7.2.2 使用DAS分析RDS實(shí)例CPU打滿/打高現(xiàn)象
7.2.3 RDS實(shí)例活躍Session監(jiān)控
7.2.4 10秒SQL分析
7.2.5 SQL自動(dòng)限流
7.2.6 DAS如何分析RDS實(shí)例不同時(shí)段業(yè)務(wù)差異
7.2.7 異常檢測(cè)
7.2.8 RDS實(shí)例情況整體分析
第8章 運(yùn)維備份服務(wù)DBS
8.1 產(chǎn)品介紹
8.1.1 什么是DBS
8.1.2 產(chǎn)品優(yōu)勢(shì)
8.1.3 備份方式
8.2 使用指南
8.2.1 DBS與RDS備份的區(qū)別
8.3 DBS實(shí)踐
8.3.1 備份集自動(dòng)下載到本地
8.3.2 快速恢復(fù)
8.3.3 數(shù)據(jù)庫(kù)異地備份
第9章 監(jiān)控利器之云監(jiān)控
9.1 什么是云監(jiān)控
9.1.1 產(chǎn)品構(gòu)架
9.1.2 功能特性
9.2 產(chǎn)品優(yōu)勢(shì)
9.3 應(yīng)用場(chǎng)景
9.4 使用指南和實(shí)踐
9.4.1 報(bào)警模板實(shí)踐
9.4.2 使用報(bào)警模板的操作步驟
9.4.3 通過(guò)釘釘群接收?qǐng)?bào)警通知 P331
9.4.4 內(nèi)網(wǎng)監(jiān)控實(shí)踐 P333