注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡數據庫數據庫理論DBA實戰(zhàn)手記

DBA實戰(zhàn)手記

DBA實戰(zhàn)手記

定 價:¥169.00

作 者: 薛曉剛 等
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

購買這本書可以去


ISBN: 9787111757665 出版時間: 2024-07-01 包裝: 平裝-膠訂
開本: 16開 頁數: 字數:  

內容簡介

  本書是一本指導DBA進行數據庫開發(fā)和運維的實用手冊,本書共9章,包括漫談數據庫、如何提升數據庫性能、如何運維好數據庫、如何進行數據庫設計、如何做好數據庫之間的數據同步、認識HTAP技術、認識數據庫的功能原理、認識數據庫中的數學(邏輯與算法),以及DBA的日常:數據庫管理及開發(fā)的最佳實踐。另有附錄DBA雜談。本書內容是資深DBA多年實踐經驗的歸納總結,涵蓋DBA日常工作中的主要方面,通過剖析眾多的真實案例,并解讀原理、分享技巧、提供思路,內容具備較強的啟發(fā)性和指導性。本書的受眾包括但不限于想要了解如何提升數據庫性能的應用開發(fā)人員、DBA、業(yè)務架構師、IT架構師、數據架構師、數據分析師、系統(tǒng)架構師、解決方案架構師和企業(yè)高級管理人員。

作者簡介

  薛曉剛,現(xiàn)任歐冶云商股份有限公司數據庫首席師,曾服務于政府、公安、交通、安防、金融、支付等行業(yè)。擁有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布道師、布道師組委會會員。中國信息通信研究院創(chuàng)新實驗室成員,開放原子開源基金會OpenTenBase工委會委員,機械工業(yè)出版社專家委員會委員。王明杰,德國布倫瑞克工業(yè)大學工學博士,現(xiàn)任職于歐冶云商股份有限公司,擔任物聯(lián)網技術一級首席,致力于物聯(lián)感知、機器視覺、智能自動化等新技術在鋼鐵行業(yè)供應鏈體系中的應用融合。負責編寫本書物聯(lián)網場景及時序數據庫的相關內容。宋希,波爾多大學數學系博士,現(xiàn)任職于歐冶云商股份有限公司,資深算法工程師,主持搭建綜合平臺智能推薦系統(tǒng),參與需求預測、用戶畫像、在線交易壓力測試等多個項目,獲得多項專利。負責編寫本書的動態(tài)規(guī)劃的相關內容。李歡,現(xiàn)任職于字節(jié)跳動,作為移動端音視頻開發(fā)工程師負責抖音直播連線架構設計,優(yōu)化抖音音視頻用戶體驗,提升直播連線的性能。負責本書移動端數據庫部分相關內容的編寫。

圖書目錄

目錄
序言1
序言2
序言3
前言
第1章  漫談數據庫1
1.1  什么是數據庫2
1.2  數據庫發(fā)展史2
1.2.1  國外數據庫的歷史2
1.2.2  國內數據庫的歷史4
1.3  數據庫的主要分類6
1.3.1  關系數據庫:傳統(tǒng)交易數據庫6
1.3.2  鍵值數據庫:基于KV鍵值對的內存數據庫7
1.3.3  列式數據庫:列式存儲的分析型數據庫9
1.3.4  文檔型數據庫:松散型數據結構的數據庫10
1.3.5  圖數據庫:用于社交圖譜的數據庫11
1.3.6  時序數據庫:適用于物聯(lián)網場景的數據庫12
1.3.7  搜索引擎數據庫:全文索引的數據庫14
1.3.8  多模數據庫:具有多種數據庫模式的融合數據庫17
1.3.9  最容易忽視的數據庫—移動端數據庫19
1.4  數據庫應用的發(fā)展趨勢22
1.4.1  國外數據庫應用發(fā)展趨勢22
1.4.2  國內數據庫應用發(fā)展趨勢24
1.5  數據庫與新興數字技術30
1.5.1  數據庫與大數據技術30
1.5.2  數據庫的延伸:區(qū)塊鏈、物聯(lián)網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是可以做一輩子的職業(yè)36
第2章  如何提升數據庫性能38
2.1  通過索引提升性能39
2.1.1  索引的概念及原理39
2.1.2  索引的種類44
2.1.3  規(guī)避索引使用的誤區(qū)68
2.1.4  通過索引實現(xiàn)海量數據中的高效查詢70
2.1.5  自動化索引:數據庫自治的趨勢71
2.2  通過SQL優(yōu)化提升性能78
2.2.1  SQL優(yōu)化實現(xiàn)高速執(zhí)行任務79
2.2.2  慎用分頁有效提升性能86
2.2.3  從認知上杜絕低效SQL89
2.3  避免數據庫對象設計失誤91
2.3.1  避免不必要的多表關聯(lián)導致的低效查詢91
2.3.2  避免動態(tài)計算結果沒有單獨存儲導致的低效查詢93
2.3.3  避免沒有明確需求查詢條件導致的低效查詢97
2.3.4  避免過度分表98
2.4  從識別需求的合理性提升性能101
2.4.1  拒絕無效需求101
2.4.2  正確理解開發(fā)需求104
2.4.3  拒絕不合理的需求106
2.4.4  引導業(yè)務改善需求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  一次疑似分區(qū)查詢異常的故障分析150
3.3.5  一次數據庫歸檔導致的故障分析159
3.3.6  一次數據庫binlog寫入失敗的故障分析163
3.3.7  一次兩表關聯(lián)導致的故障分析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  一次數據庫全表查詢的優(yōu)化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  獨立業(yè)務線的數據庫架構202
4.2  根據實際場景選擇數據庫架構203
4.3  五個維度談數據庫選型203
4.3.1  從業(yè)務場景特征維度204
4.3.2  從數據規(guī)模大小維度204
4.3.3  從用戶自身開發(fā)團隊能力維度205
4.3.4  從用戶自身運維團隊能力維度205
4.3.5  從公司管理能力維度206
4.4  數據庫拆分的利與弊206
4.4.1  數據庫拆分的背景207
4.4.2  數據庫拆分的三大問題:一致性、數據關聯(lián)、數據同步208
4.4.3  分表帶來的問題:一致性、聚合、排序、擴縮容208
4.5  如何看待數據庫的合并210
4.5.1  為何要做數據庫合并210
4.5.2  數據庫合并的意義:降成本、提升穩(wěn)定性211
4.5.3  數據庫合并帶來的問題:雞蛋放在一個籃子里211
4.5.4  數據庫合并的前提:高質量SQL、硬件的進步、穩(wěn)定的基礎環(huán)境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  適當減少數據庫與中間件的數量:避免不必要的故障節(jié)點216
第5章  如何做好數據庫之間的數據同步217
5.1  數據同步的作用218
5.1.1  實現(xiàn)數據傳輸218
5.1.2  實現(xiàn)數據匯聚218
5.1.3  實現(xiàn)數據遷移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實現(xiàn)Oracle數據庫之間的數據同步220
5.3.2  使用物化視圖實現(xiàn)遠程Oracle數據庫之間的數據同步226
5.3.3  使用插件實現(xiàn)MySQL數據庫之間的數據同步231
5.3.4  利用數據同步實現(xiàn)MySQL的版本升級234
5.3.5  采用多源復制的功能實現(xiàn)MySQL數據庫之間的數據同步239
5.3.6  采用主從模式實現(xiàn)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實現(xiàn)Oracle數據庫之間的數據同步251
5.4.5  使用OGG for MySQL實現(xiàn)MySQL與異構數據庫的同步279
5.4.6  使用OGG for BigData實現(xiàn)大數據組件與異構數據庫的數據同步284
第6章  認識HTAP技術294
6.1  HTAP的概念及其價值295
6.1.1  HTAP:混合事物/分析處理295
6.1.2  HTAP的價值295
6.2  HTAP的幾種實現(xiàn)方式297
6.2.1  垂直方向的實現(xiàn):以Oracle數據庫為例297
6.2.2  水平方向的實現(xiàn):以MySQL、TiDB數據庫為例298
6.2.3  其他類型數據庫的實現(xiàn)方式298
第7章  認識數據庫的功能原理300
7.1  優(yōu)化器—基于統(tǒng)計學原理301
7.2  數據庫的查詢—火山模型316
7.3  數據庫AI—向量化319
7.4  編譯執(zhí)行323
第8章  認識數據庫中的數學(邏輯與算法)326
8.1  數據庫中的典型邏輯與算法327
8.1.1  從斐波那契數列到數據分析327
8.1.2  增加數據維度處理—減少關聯(lián)332
8.1.3  多表關聯(lián)算法—一對多與多對多336
8.1.4  排除處理算法—笛卡兒積341
8.1.5  函數算法—對SQL的影響348
8.2  動態(tài)規(guī)劃法在數據庫中的應用351
8.2.1  動態(tài)規(guī)劃原理1:爬樓梯351
8.2.2  動態(tài)規(guī)劃原理2:背包問題355
8.2.3  動態(tài)規(guī)劃的五部曲361
8.3  數據庫開發(fā)中的邏輯思維362
8.3.1  元數據的空與非空362
8.3.2  優(yōu)化器處理極值和極限:加速查詢速度369
8.3.3  并發(fā)處理熱點的邏輯:避免鎖371
8.3.4  減庫存的邏輯:從設計出發(fā)防止超賣373
第9章  DBA的日常:數據庫管理及開發(fā)的最佳實踐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  面向執(zhí)行器和優(yōu)化器的最佳實踐403
9.2.1  主流數據庫的事務異常處理機制對比(MySQL、PostgreSQL、Oracle)403
9.2.2  MySQL和達夢兩個數據庫優(yōu)化器的對比406
9.2.3  SQL語句的解析過程分析407
9.2.4  優(yōu)化器的多表關聯(lián)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開發(fā)框架使用綁定變量的實踐445
9.4.2  使用exists的SQL語句的改寫451
9.4.3  設計上出發(fā)減少SQL的標量子查詢458
9.5  時序數據庫使用的最佳實踐463
9.5.1  時序數據庫的數據庫表設計463
9.5.2  時序數據庫的數據分析466
附錄  DBA雜談468

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.autoforsalebyowners.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號