DBA 實戰手記

薛曉剛 等

  • 出版商: 機械工業
  • 出版日期: 2024-08-14
  • 售價: $1,014
  • 貴賓價: 9.5$963
  • 語言: 簡體中文
  • 頁數: 468
  • 裝訂: 平裝
  • ISBN: 7111757661
  • ISBN-13: 9787111757665
  • 立即出貨

買這商品的人也買了...

商品描述

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

作者簡介

薛曉剛,現任歐冶雲商股份有限公司數據庫首席師,曾服務於政府、公安、交通、安防、金融、支付等行業。擁有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工委會委員,機械工業出版社專家委員會委員。

目錄大綱

序言1
序言2
序言3
前言
第1章 漫談數據庫
1.1 什麽是數據庫
1.2 數據庫發展史
1.2.1 國外數據庫的歷史
1.2.2 國內數據庫的歷史
1.3 數據庫的主要分類
1.3.1 關系數據庫:傳統交易數據庫
1.3.2 鍵值數據庫:基於KV鍵值對的內存數據庫
1.3.3 列式數據庫:列式存儲的分析型數據庫
1.3.4 文檔型數據庫:鬆散型數據結構的數據庫
1.3.5 圖數據庫:用於社交圖譜的數據庫
1.3.6 時序數據庫:適用於物聯網場景的數據庫
1.3.7 搜索引擎數據庫:全文索引的數據庫
1.3.8 多模數據庫:具有多種數據庫模式的融合數據庫
1.3.9 最容易忽視的數據庫——移動端數據庫
1.4 數據庫應用的發展趨勢
1.4.1 國外數據庫應用發展趨勢
1.4.2 國內數據庫應用發展趨勢
1.5 數據庫與新興數字技術
1.5.1 數據庫與大數據技術
1.5.2 數據庫的延伸:區塊鏈、物聯網
1.6 與數據庫長相廝守的DBA
1.6.1 DBA的定義與內涵
1.6.2 DBA的工作職責
1.6.3 DBA需要具備的能力
1.6.4 DBA的價值
1.6.5 DBA是可以做一輩子的職業
第2章 如何提升數據庫性能
2.1 通過索引提升性能
2.1.1 索引的概念及原理
2.1.2 索引的種類
2.1.3 規避索引使用的誤區
2.1.4 通過索引實現海量數據中的高效查詢
2.1.5 自動化索引:數據庫自治的趨勢
2.2 通過SQL優化提升性能
2.2.1 SQL優化實現高速執行任務
2.2.2 慎用分頁有效提升性能
2.2.3 從認知上杜絕低效SQL
2.3 避免數據庫對象設計失誤
2.3.1 避免不必要的多表關聯導致的低效查詢
2.3.2 避免動態計算結果沒有單獨存儲導致的低效查詢
2.3.3 避免沒有明確需求查詢條件導致的低效查詢
2.3.4 避免過度分表
2.4 從識別需求的合理性提升性能
2.4.1 拒絕無效需求
2.4.2 正確理解開發需求
2.4.3 拒絕不合理的需求
2.4.4 引導業務改善需求
2.5 減少IO操作提升數據庫性能
2.5.1 正確認識數據庫的性能
2.5.2 減少IO交互——批量寫入數據(MySQL)
2.5.3 減少IO交互——批量寫入數據(Oracle)
2.5.4 減少IO交互——批量寫入數據(PostgreSQL)
2.5.5 精簡架構
第3章 如何運維好數據庫
3.1 運維好數據庫的關鍵:處理故障
3.1.1 常見的數據庫故障類型
3.1.2 數據庫故障的危害
3.2 分析處理數據庫故障的關鍵點
3.2.1 分析數據庫故障的主要原因——SQL
3.2.2 分析SQL的主要問題——處理速度慢
3.2.3 分析數據庫參數對數據庫的影響
3.2.4 分析硬件短板帶來的問題——IO吞吐能力與CPU計算能力
3.3 數據庫故障處理的典型案例分析
3.3.1 一次Elasticsearch誤刪除的故障分析
3.3.2 一次配置文件丟失導致的MySQL數據庫故障分析
3.3.3 一次In-Memory丟失引起的故障分析
3.3.4 一次疑似分區查詢異常的故障分析
3.3.5 一次數據庫歸檔導致的故障分析
3.3.6 一次數據庫binlog寫入失敗的故障分析
3.3.7 一次兩表關聯導致的故障分析
3.3.8 數據庫連接數與連接覆用不當的故障分析
3.3.9 一次數據庫CPU使用率100%的故障分析
3.3.10 一次數據庫索引不當引起的故障分析
3.3.11 一次數據庫主從延遲過大的故障分析
3.3.12 一次數據庫主從不一致的故障分析
3.3.13 一次Redis數據庫無法啟動的故障分析
3.3.14 一次MySQL數據庫數據類型不恰當導致的故障
3.3.15 一次數據庫全表查詢的優化
第4章 如何進行數據庫設計
4.1 數據庫都有哪些架構
4.1.1 集中式架構
4.1.2 分佈式架構
4.1.3 數據庫內部的體系架構
4.1.4 “煙囪”式的數據庫架構
4.1.5 獨立業務線的數據庫架構
4.2 根據實際場景選擇數據庫架構
4.3 五個維度談數據庫選型
4.3.1 從業務場景特徵維度
4.3.2 從數據規模大小維度
4.3.3 從用戶自身開發團隊能力維度
4.3.4 從用戶自身運維團隊能力維度
4.3.5 從公司管理能力維度
4.4 數據庫拆分的利與弊
4.4.1 數據庫拆分的背景
4.4.2 數據庫拆分的三大問題:一致性、數據關聯、數據同步
4.4.3 分表帶來的問題:一致性、聚合、排序、擴縮容
4.5 如何看待數據庫的合並
4.5.1 為何要做數據庫合並
4.5.2 數據庫合並的意義:降成本、提升穩定性
4.5.3 數據庫合並帶來的問題:雞蛋放在一個籃子里
4.5.4 數據庫合並的前提:高質量SQL、硬件的進步、穩定的基礎環境
4.6 CAP理論與分佈式數據庫
4.6.1 CAP理論概述
4.6.2 CAP理論的延展
4.6.3 分庫分表不是分佈式數據庫
4.7 如何看待數據庫與中間件
4.7.1 數據庫與中間件:上下