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