幫助中心 | 我的帳號 | 關於我們

DBA實戰手記

  • 作者:薛曉剛//王明傑//宋希//李歡//唐政等|責編:王斌//解芳
  • 出版社:機械工業
  • ISBN:9787111757665
  • 出版日期:2024/07/01
  • 裝幀:平裝
  • 頁數:475
人民幣:RMB 169 元      售價:
放入購物車
加入收藏夾

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

作者介紹
薛曉剛//王明傑//宋希//李歡//唐政等|責編:王斌//解芳

目錄
序言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  資料庫與中間件:上下游的「難兄難弟」
    4.7.2  中間件內存溢出的原因:源頭還是資料庫
    4.7.3  適當減少資料庫與中間件的數量:避免不必要的故障節點
第5章  如何做好資料庫之間的數據同步
  5.1  數據同步的作用
    5.1.1  實現數據傳輸
    5.1.2  實現數據匯聚
    5.1.3  實現數據遷移
  5.2  資料庫同步的分類
    5.2.1  同構資料庫的同步
    5.2.2  異構資料庫的同步
    5.2.3  資料庫到消息隊列的同步
    5.2.4  資料庫到Hadoop的數據同步
  5.3  同構資料庫數據同步的示例
    5.3.1  使用dblink實現Oracle資料庫之間的數據同步
    5.3.2  使用物化視圖實現遠程Oracle資料庫之間的數據同步
    5.3.3  使用插件實現MySQL資料庫之間的數據同步
    5.3.4  利用數據同步實現MySQL的版本升級
    5.3.5  採用多源複製的功能實現MySQL資料庫之間的數據同步
    5.3.6  採用主從模式實現PostgreSQL主從數據同步
  5.4  異構資料庫同步的實例——基於OGG
    5.4.1  CDC簡介
    5.4.2  OGG概述
    5.4.3  OGG微服務版的安裝部署
    5.4.4  使用OGG for Oracle實現Oracle資料庫之間的數據同步
    5.4.5  使用OGG for MySQL實現MySQL與異構資料庫的同步
    5.4.6  使用OGG for BigData實現大數據組件與異構資料庫的數據同步
第6章  認識HTAP技術
  6.1  HTAP的概念及其價值
    6.1.1  HTAP:混合事物/分析處理
    6.1.2  HTAP的價值
  6.2  HTAP的幾種實現方式
    6.2.1  垂直方向的實現:以Oracle資料庫為例
    6.2.2  水平方向的實現:以MySQL、TiDB資料庫為例
    6.2.3  其他類型資料庫的實現方式
第7章  認識資料庫的功能原理
  7.1  優化器——基於統計學原理
  7.2  資料庫的查詢——火山模型
  7.3  資料庫AI——向量化

  7.4  編譯執行
第8章  認識資料庫中的數學(邏輯與演算法)
  8.1  資料庫中的典型邏輯與演算法
    8.1.1  從斐波那契數列到數據分析
    8.1.2  增加數據維度處理——減少關聯
    8.1.3  多表關聯演算法——一對多與多對多
    8.1.4  排除處理演算法——笛卡兒積
    8.1.5  函數演算法——對SQL的影響
  8.2  動態規劃法在資料庫中的應用
    8.2.1  動態規劃原理1:爬樓梯
    8.2.2  動態規劃原理2:背包問題
    8.2.3  動態規劃的五部曲
  8.3  資料庫開發中的邏輯思維
    8.3.1  元數據的空與非空
    8.3.2  優化器處理極值和極限:加速查詢速度
    8.3.3  併發處理熱點的邏輯:避免鎖
    8.3.4  減庫存的邏輯:從設計出發防止超賣
第9章  DBA的日常:資料庫管理及開發的最佳實踐
  9.1  七個針對資料庫特性的最佳實踐
    9.1.1  Oracle的DML重定向
    9.1.2  Oracle的資源隔離
    9.1.3  MySQL的延遲複製——挽救誤刪除
    9.1.4  PostgreSQL的延遲複製
    9.1.5  資料庫對於磁碟IO吞吐的要求
  9.2  面向執行器和優化器的最佳實踐
    9.2.1  主流資料庫的事務異常處理機制對比(MySQL、PostgreSQL、Oracle)
    9.2.2  MySQL和達夢兩個資料庫優化器的對比
    9.2.3  SQL語句的解析過程分析
    9.2.4  優化器的多表關聯
    9.2.5  SQL使用in進行子查詢
    9.2.6  數據歸檔和數據遷移
  9.3  資料庫的複製(克隆)與高可用受控切換的最佳實踐
    9.3.1  Oracle的PDB資料庫克隆
    9.3.2  MySQL克隆的關鍵點
    9.3.3  MySQL的MGR架構以及受控切換
    9.3.4  PostgreSQL的高可用切換
    9.3.5  Redis的高可用切換
  9.4  三個SQL編寫的最佳實踐
    9.4.1  關於MyBatis開發框架使用綁定變數的實踐
    9.4.2  使用exists的SQL語句的改寫
    9.4.3  設計上出發減少SQL的標量子查詢
  9.5  時序資料庫使用的最佳實踐
    9.5.1  時序資料庫的資料庫表設計
    9.5.2  時序資料庫的數據分析
附錄  DBA雜談

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032