-
>
全國計算機等級考試最新真考題庫模擬考場及詳解·二級MSOffice高級應用
-
>
決戰行測5000題(言語理解與表達)
-
>
軟件性能測試.分析與調優實踐之路
-
>
第一行代碼Android
-
>
JAVA持續交付
-
>
EXCEL最強教科書(完全版)(全彩印刷)
-
>
深度學習
DBA實戰手記 版權信息
- ISBN:9787111757665
- 條形碼:9787111757665 ; 978-7-111-75766-5
- 裝幀:平裝-膠訂
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
DBA實戰手記 本書特色
DBA“老兵”薛曉剛及其團隊奉獻給廣大同仁的數據庫實踐經驗集,內容涵蓋數據庫性能調優、故障處理、架構設計、數據同步、SQL算法等諸多內容,解讀廣大數據庫從業者普遍關心的技術問題。
本書由蓋國強、白鱔(徐戟)、賀仁龍傾情作序,周正中(德哥)、侯圣文、耿航、吳洋鼎力推薦。
全書采用全彩印刷,閱讀體驗佳;全書內容豐富,通過剖析眾多真實案例,解讀原理、分享技巧、提供思路,內容具備較強的啟發性和指導性。
是廣大應用開發人員、DBA、業務架構師、IT架構師、數據架構師、數據分析師、系統架構師、解決方案架構師和企業高級管理人員值得一讀的實用手冊。
DBA實戰手記 內容簡介
本書是一本指導DBA進行數據庫開發和運維的實用手冊,本書共9章,包括漫談數據庫、如何提升數據庫性能、如何運維好數據庫、如何進行數據庫設計、如何做好數據庫之間的數據同步、認識HTAP技術、認識數據庫的功能原理、認識數據庫中的數學(邏輯與算法),以及DBA的日常:數據庫管理及開發的*佳實踐。另有附錄DBA雜談。
本書內容是資深DBA多年實踐經驗的歸納總結,涵蓋DBA日常工作中的主要方面,通過剖析眾多的真實案例,并解讀原理、分享技巧、提供思路,內容具備較強的啟發性和指導性。
本書的受眾包括但不限于想要了解如何提升數據庫性能的應用開發人員、DBA、業務架構師、IT架構師、數據架構師、數據分析師、系統架構師、解決方案架構師和企業高級管理人員。
DBA實戰手記 目錄
序言1
序言2
序言3
前言
第1章 漫談數據庫1
1.1 什么是數據庫2
1.2 數據庫發展史2
1.2.1 國外數據庫的歷史2
1.2.2 國內數據庫的歷史4
1.3 數據庫的主要分類6
1.3.1 關系數據庫:傳統交易數據庫6
1.3.2 鍵值數據庫:基于KV鍵值對的內存數據庫7
1.3.3 列式數據庫:列式存儲的分析型數據庫9
1.3.4 文檔型數據庫:松散型數據結構的數據庫10
1.3.5 圖數據庫:用于社交圖譜的數據庫11
1.3.6 時序數據庫:適用于物聯網場景的數據庫12
1.3.7 搜索引擎數據庫:全文索引的數據庫14
1.3.8 多模數據庫:具有多種數據庫模式的融合數據庫17
1.3.9 *容易忽視的數據庫—移動端數據庫19
1.4 數據庫應用的發展趨勢22
1.4.1 國外數據庫應用發展趨勢22
1.4.2 國內數據庫應用發展趨勢24
1.5 數據庫與新興數字技術30
1.5.1 數據庫與大數據技術30
1.5.2 數據庫的延伸:區塊鏈、物聯網32
1.6 與數據庫長相廝守的DBA33
1.6.1 DBA的定義與內涵33
1.6.2 DBA的工作職責34
1.6.3 DBA需要具備的能力35
1.6.4 DBA的價值35
1.6.5 DBA是可以做一輩子的職業36
第2章 如何提升數據庫性能38
2.1 通過索引提升性能39
2.1.1 索引的概念及原理39
2.1.2 索引的種類44
2.1.3 規避索引使用的誤區68
2.1.4 通過索引實現海量數據中的高效查詢70
2.1.5 自動化索引:數據庫自治的趨勢71
2.2 通過SQL優化提升性能78
2.2.1 SQL優化實現高速執行任務79
2.2.2 慎用分頁有效提升性能86
2.2.3 從認知上杜絕低效SQL89
2.3 避免數據庫對象設計失誤91
2.3.1 避免不必要的多表關聯導致的低效查詢91
2.3.2 避免動態計算結果沒有單獨存儲導致的低效查詢93
2.3.3 避免沒有明確需求查詢條件導致的低效查詢97
2.3.4 避免過度分表98
2.4 從識別需求的合理性提升性能101
2.4.1 拒絕無效需求101
2.4.2 正確理解開發需求104
2.4.3 拒絕不合理的需求106
2.4.4 引導業務改善需求107
2.5 減少IO操作提升數據庫性能108
2.5.1 正確認識數據庫的性能108
2.5.2 減少IO交互—批量寫入數據(MySQL)110
2.5.3 減少IO交互—批量寫入數據(Oracle)122
2.5.4 減少IO交互—批量寫入數據(PostgreSQL)123
2.5.5 精簡架構127
第3章 如何運維好數據庫130
3.1 運維好數據庫的關鍵:處理故障131
3.1.1 常見的數據庫故障類型131
3.1.2 數據庫故障的危害132
3.2 分析處理數據庫故障的關鍵點133
3.2.1 分析數據庫故障的主要原因—SQL133
3.2.2 分析SQL的主要問題—處理速度慢134
3.2.3 分析數據庫參數對數據庫的影響134
3.2.4 分析硬件短板帶來的問題—IO吞吐能力與CPU計算能力135
3.3 數據庫故障處理的典型案例分析138
3.3.1 一次Elasticsearch誤刪除的故障分析139
3.3.2 一次配置文件丟失導致的MySQL數據庫故障分析141
3.3.3 一次In-Memory丟失引起的故障分析146
3.3.4 一次疑似分區查詢異常的故障分析150
3.3.5 一次數據庫歸檔導致的故障分析159
3.3.6 一次數據庫binlog寫入失敗的故障分析163
3.3.7 一次兩表關聯導致的故障分析165
3.3.8 數據庫連接數與連接復用不當的故障分析166
3.3.9 一次數據庫CPU使用率100%的故障分析168
3.3.10 一次數據庫索引不當引起的故障分析169
3.3.11 一次數據庫主從延遲過大的故障分析172
3.3.12 一次數據庫主從不一致的故障分析174
3.3.13 一次Redis數據庫無法啟動的故障分析182
3.3.14 一次MySQL數據庫數據類型不恰當導致的故障183
3.3.15 一次數據庫全表查詢的優化187
第4章 如何進行數據庫設計197
4.1 數據庫都有哪些架構198
4.1.1 集中式架構198
4.1.2 分布式架構200
4.1.3 數據庫內部的體系架構201
4.1.4 “煙囪”式的數據庫架構201
4.1.5 獨立業務線的數據庫架構202
4.2 根據實際場景選擇數據庫架構203
4.3 五個維度談數據庫選型203
4.3.1 從業務場景特征維度204
4.3.2 從數據規模大小維度204
4.3.3 從用戶自身開發團隊能力維度205
4.3.4 從用戶自身運維團隊能力維度205
4.3.5 從公司管理能力維度206
4.4 數據庫拆分的利與弊206
4.4.1 數據庫拆分的背景207
4.4.2 數據庫拆分的三大問題:一致性、數據關聯、數據同步208
4.4.3 分表帶來的問題:一致性、聚合、排序、擴縮容208
4.5 如何看待數據庫的合并210
4.5.1 為何要做數據庫合并210
4.5.2 數據庫合并的意義:降成本、提升穩定性211
4.5.3 數據庫合并帶來的問題:雞蛋放在一個籃子里211
4.5.4 數據庫合并的前提:高質量SQL、硬件的進步、穩定的基礎環境212
4.6 CAP理論與分布式數據庫212
4.6.1 CAP理論概述213
4.6.2 CAP理論的延展213
4.6.3 分庫分表不是分布式數據庫214
4.7 如何看待數據庫與中間件215
4.7.1 數據庫與中間件:上下游的“難兄難弟”215
4.7.2 中間件內存溢出的原因:源頭還是數據庫215
4.7.3 適當減少數據庫與中間件的數量:避免不必要的故障節點216
第5章 如何做好數據庫之間的數據同步217
5.1 數據同步的作用218
5.1.1 實現數據傳輸218
5.1.2 實現數據匯聚218
5.1.3 實現數據遷移219
5.2 數據庫同步的分類219
5.2.1 同構數據庫的同步219
5.2.2 異構數據庫的同步219
5.2.3 數據庫到消息隊列的同步219
5.2.4 數據庫到Hadoop的數據同步219
5.3 同構數據庫數據同步的示例220
5.3.1 使用dblink實現Oracle數據庫之間的數據同步220
5.3.2 使用物化視圖實現遠程Oracle數據庫之間的數據同步226
5.3.3 使用插件實現MySQL數據庫之間的數據同步231
5.3.4 利用數據同步實現MySQL的版本升級234
5.3.5 采用多源復制的功能實現MySQL數據庫之間的數據同步239
5.3.6 采用主從模式實現PostgreSQL主從數據同步242
5.4 異構數據庫同步的實例—基于OGG248
5.4.1 CDC簡介248
5.4.2 OGG概述249
5.4.3 OGG微服務版的安裝部署249
5.4.4 使用OGG for Oracle實現Oracle數據庫之間的數據同步251
5.4.5 使用OGG for MySQL實現MySQL與異構數據庫的同步279
5.4.6 使用OGG for BigData實現大數據組件與異構數據庫的數據同步284
第6章 認識HTAP技術294
6.1 HTAP的概念及其價值295
6.1.1 HTAP:混合事物/分析處理295
6.1.2 HTAP的價值295
6.2 HTAP的幾種實現方式297
6.2.1 垂直方向的實現:以Oracle數據庫為例297
6.2.2 水平方向的實現:以MySQL、TiDB數據庫為例298
6.2.3 其他類型數據庫的實現方式298
第7章 認識數據庫的功能原理300
7.1 優化器—基于統計學原理301
7.2 數據庫的查詢—火山模型316
7.3 數據庫AI—向量化319
7.4 編譯執行323
第8章 認識數據庫中的數學(邏輯與算法)326
8.1 數據庫中的典型邏輯與算法327
8.1.1 從斐波那契數列到數據分析327
8.1.2 增加數據維度處理—減少關聯332
8.1.3 多表關聯算法—一對多與多對多336
8.1.4 排除處理算法—笛卡兒積341
8.1.5 函數算法—對SQL的影響348
8.2 動態規劃法在數據庫中的應用351
8.2.1 動態規劃原理1:爬樓梯351
8.2.2 動態規劃原理2:背包問題355
8.2.3 動態規劃的五部曲361
8.3 數據庫開發中的邏輯思維362
8.3.1 元數據的空與非空362
8.3.2 優化器處理極值和極限:加速查詢速度369
8.3.3 并發處理熱點的邏輯:避免鎖371
8.3.4 減庫存的邏輯:從設計出發防止超賣373
第9章 DBA的日常:數據庫管理及開發的*佳實踐375
9.1 七個針對數據庫特性的*佳實踐376
9.1.1 Oracle的DML重定向376
9.1.2 Oracle的資源隔離381
9.1.3 MySQL的延遲復制—挽救誤刪除389
9.1.4 PostgreSQL的延遲復制395
9.1.5 數據庫對于磁盤IO吞吐的要求402
9.2 面向執行器和優化器的*佳實踐403
9.2.1 主流數據庫的事務異常處理機制對比(MySQL、PostgreSQL、Oracle)403
9.2.2 MySQL和達夢兩個數據庫優化器的對比406
9.2.3 SQL語句的解析過程分析407
9.2.4 優化器的多表關聯411
9.2.5 SQL使用in進行子查詢412
9.2.6 數據歸檔和數據遷移419
9.3 數據庫的復制(克隆)與高可用受控切換的*佳實踐424
9.3.1 Oracle的PDB數據庫克隆425
9.3.2 MySQL克隆的關鍵點428
9.3.3 MySQL的MGR架構以及受控切換431
9.3.4 PostgreSQL的高可用切換434
9.3.5 Redis的高可用切換440
9.4 三個SQL編寫的*佳實踐445
9.4.1 關于MyBatis開發框架使用綁定變量的實踐445
9.4.2 使用exists的SQL語句的改寫451
9.4.3 設計上出發減少SQL的標量子查詢458
9.5 時序數據庫使用的*佳實踐463
9.5.1 時序數據庫的數據庫表設計463
9.5.2 時序數據庫的數據分析466
附錄 DBA雜談468
DBA實戰手記 相關資料
我與薛曉剛相識多年,他不僅是一位經驗豐富的DBA,更是一位對數據庫技術有著深刻理解和獨到見解的專家。通過這本書,作者將多年來在實際工作中積累的寶貴經驗和教訓悉心整理并傾心分享,強調了DBA不僅是數據庫的管理者,更應成為企業數據架構的設計者與優化者。尤其值得一提的是,本書不僅關注技術,還關注了DBA的職業發展與定位。這本書不僅是作者自身知識的總結與升華,更是對整個數據庫社區的一份貢獻。希望這本書能讓更多的開發人員和DBA認識數據庫在企業架構中的核心地位,掌握更多實用的技術與方法,提升自身的職業技能,在數據庫技術的道路上不斷前行,取得更大的成就。
周正中(德哥)
阿里云數據庫高級產品專家,中國開源軟件推進聯盟PostgreSQL分會特聘資深領域專家,PostgreSQL中國社區發起人之一兼社區大學校長
本書作者一直孜孜不倦深耕數據庫領域,憑借強大的意志力和自我驅動力,飽含對數據庫事業的真心熱愛,能夠沉下心來寫作,從一篇篇技術文章的不斷積累到如今推出這本出色的技術書籍,十分不易。本書最精彩的部分還是對實戰案例的梳理。在數據庫學習領域,我一直主張的觀點就是 “紙上得來終覺淺,絕知此事要躬行”,這些實戰案例都是作者多年工作經驗的總結與分享,是學習數據庫最好的途徑。在書中,作者通過實際案例強調DBA應當認真考慮如何控制需求、引導需求方提出合理的需求,而不是一味做執行;對于各類數據庫故障,則給出了獨到的、分析解決問題的思路,這些經驗之談是最有價值的參考,可以讓人少走彎路。感謝作者給大家帶來了這部優秀的作品, 希望更多DBA從這本書中獲益。
侯圣文
天翼云首席專家,阿里云最具價值專家( MVP ),騰訊云最具價值專家( TVP),前Oracle ACE總監
這本書是我見過的、業界最接地氣的數據庫技術書籍之一, 系統介紹了數據庫從性能優化到故障排除、從數據庫設計到運維管理的多個方面,都是作者親身實踐經驗的總結,可謂干貨滿滿。數據庫技術是一個復雜而又精細的領域,需要深入的理解和不斷的實踐。無論你是初涉數據庫領域的新手,還是有多年經驗的資深DBA,都能從中找到有益的指導與啟發。
耿航
騰訊開源專家,木蘭開源社區運營負責人,“科創中國”開源創新聯合體開源技術傳播工作委員會秘書長
《DBA實戰手記》是一本不可多得的數據庫管理與運維指南,由多位資深數據庫專家集多年實踐經驗編寫而成。書中涵蓋了數據庫性能優化、運維技巧、設計原則及數據同步等多個方面,通過真實案例深入淺出地講解了數據庫技術的方方面面。這本書不僅是技術手冊,更是一部實踐寶典,為DBA和開發人員提供了豐富的經驗和實用的技巧,極具啟發性和指導性。無論你是初學者還是資深從業者,都能從中獲益良多。
吳洋
青學會MOP技術社區創始成員、Oracle ACE成員
DBA實戰手記 作者簡介
薛曉剛,現任歐冶云商股份有限公司數據庫首席師,曾服務于政府、公安、交通、安防、金融、支付等行業。擁有Oracle、MySQL、PostgreSQL、TiDB、OceanBase、達夢等數據庫認證,是Oracle ACE-Pro ( Database )、PostgreSQL ACE Partner、騰訊云TVP、阿里云MVP、TiDB MVA、墨天輪MVP;Oracle OCP認證講師,MySQL OCP認證講師;ITPUB論壇內存數據庫版主、核心專家、金牌顧問。ITPUB培訓專家百人團成員,國內數據庫風云百人團成員,OceanBase數據庫觀察團團長,TiDB布道師、布道師組委會會員。中國信息通信研究院創新實驗室成員,開放原子開源基金會OpenTenBase工委會委員,機械工業出版社專家委員會委員。
王明杰,德國布倫瑞克工業大學工學博士,現任職于歐冶云商股份有限公司,擔任物聯網技術一級首席,致力于物聯感知、機器視覺、智能自動化等新技術在鋼鐵行業供應鏈體系中的應用融合。負責編寫本書物聯網場景及時序數據庫的相關內容。
宋希,波爾多大學數學系博士,現任職于歐冶云商股份有限公司,資深算法工程師,主持搭建綜合平臺智能推薦系統,參與需求預測、用戶畫像、在線交易壓力測試等多個項目,獲得多項專利。負責編寫本書的動態規劃的相關內容。薛曉剛,現任歐冶云商股份有限公司數據庫首席師,曾服務于政府、公安、交通、安防、金融、支付等行業。擁有Oracle、MySQL、PostgreSQL、TiDB、OceanBase、達夢等數據庫認證,是Oracle ACE-Pro ( Database )、PostgreSQL ACE Partner、騰訊云TVP、阿里云MVP、TiDB MVA、墨天輪MVP;Oracle OCP認證講師,MySQL OCP認證講師;ITPUB論壇內存數據庫版主、核心專家、金牌顧問。ITPUB培訓專家百人團成員,國內數據庫風云百人團成員,OceanBase數據庫觀察團團長,TiDB布道師、布道師組委會會員。中國信息通信研究院創新實驗室成員,開放原子開源基金會OpenTenBase工委會委員,機械工業出版社專家委員會委員。
王明杰,德國布倫瑞克工業大學工學博士,現任職于歐冶云商股份有限公司,擔任物聯網技術一級首席,致力于物聯感知、機器視覺、智能自動化等新技術在鋼鐵行業供應鏈體系中的應用融合。負責編寫本書物聯網場景及時序數據庫的相關內容。
宋希,波爾多大學數學系博士,現任職于歐冶云商股份有限公司,資深算法工程師,主持搭建綜合平臺智能推薦系統,參與需求預測、用戶畫像、在線交易壓力測試等多個項目,獲得多項專利。負責編寫本書的動態規劃的相關內容。
李歡,現任職于字節跳動,作為移動端音視頻開發工程師負責抖音直播連線架構設計,優化抖音音視頻用戶體驗,提升直播連線的性能。負責本書移動端數據庫部分相關內容的編寫。
- >
煙與鏡
- >
史學評論
- >
羅庸西南聯大授課錄
- >
回憶愛瑪儂
- >
龍榆生:詞曲概論/大家小書
- >
我從未如此眷戀人間
- >
朝聞道
- >
伯納黛特,你要去哪(2021新版)