MySQL 數據庫架構 設計、優化 課程方案
?
課程信息
MySQL 是目前為活躍熱門的開源數據庫,以 LAMP/LNMP 為代表的組合方案在互聯網企 業中被廣泛采用而大放異彩,這個趨勢也已經逐漸向部分傳統領域擴散了。在去 IOE 的大背 景下,MySQL 更是被寄予了厚望。
培訓特色
MySQL 是目前為活躍熱門的開源數據庫,以 LAMP/LNMP 為代表的組合方案在互聯網企 業中被廣泛采用而大放異彩,這個趨勢也已經逐漸向部分傳統領域擴散了。在去 IOE 的大背 景下,MySQL 更是被寄予了厚望。
MySQL 以其開源開放為基礎,憑借著運行程序體積小、運行速度快、嵌入式插件引擎架 構設計而著稱,MySQL 的學習成本低、總體性價比高,伴隨著互聯網的發展也獲得了高速發 展,成為為知名的開源軟件之一。
1. 教程結合客戶需求定制,由淺入深,循循漸進
2. 來自行業資深 DBA 真實工作經驗及案例,貫穿課程,幫助深入理解知識應用
3. 授課講師具備深厚的技術基礎以及
目標收益
1、 深入理解 MySQL 數據庫的原理;
2、 從硬件、系統、MySQL 參數、執行計劃、SQL 優化等多角度學習 MySQL 的性能調優 技術;
3、 掌握基于 MySQL 的架構設計方案。
課程大綱
?
主題 內容
初識 MySQL 及管理
? 要從事 MySQL DBA 工作就要系統的了解一下 MySQL 的歷史,現
狀及分支版本
? 通過和 Oracle, SQL Server 特性對比深入理解 MySQL 的適用 場景
? 了解 MySQL DBA 的工作職責及技能需求
? 全面認識實際中 MySQL DBA 的工作環境,為自已準備一個接 近于真實的環境
MySQL 生產環境布署 規范及建議
? 系統安裝規范
? MySQL 安裝規范
? 其它規范要點
初識 MySQL 存儲引擎
? MySQL 常見存儲引擎如: MyISAM, Merge,Memory, InnoDB,
TokuDB 的特點
? 對于 MyISAM, Memory, Innodb, Tokudb 的存儲引擎的區別及 適用場景
認識 MySQL 復制
? MySQL 復制用處,復制的概念及原理實現,從整體上了解復制
? 部署復制的環境
? 復制中重要參數講解
MySQL 復制運維
? 如何控制復制切換中數據一致性
? 如何對復制的進行監控
? 復制中故障處理怎么不丟數據
? 在線復制結構變更,A 復制到 B,C ,更改為 B 復制到 C,A, 變 更為 B->C->A 或是 B->A->C,復制結構任意切換的方法。從庫嚴重故障,不停主庫的情況下在線重建從庫方法
? 主從數據一致性校驗及修復方法
?
基于復制架構方案
? 如何利用復制提高平臺的處理能力
MySQL 監控的意義
? 數據庫是否可用,目處理能力狀態的了解都需要借助于監控系
統
? 深入了解 MySQL 及操作系統的監控點及數據項
了解 MySQL 監控
? 如何能快速定位一個 MySQL 出現故障或是性能問題的原因,從
分析可能存在的原因,了解監控的使用
? 常見監控工作的介紹: vmstat, iostat ,sar, top, orzdba, percona-tools 中的一些工具
深入理解 MySQL 的一 些狀態指標
? 學習 show [global] status 的一些狀態輸出,從這些指標來
了解 MySQL 的一些運行指標
? information_schema 庫里表結構學習
開 源 監 控 工 具
zabbix 對數據庫的 監控介紹
? 布署 zabbix 監控 MySQL
? 關建監控圖及指標解讀
? 自定義開發 MySQL 監控插件
MySQL 的索引類型
? MySQL 支持的索引類型
? 不同索引類型的作用及區別
從存儲上研究索引
? 從存儲結構上看索引分為二叉樹、B 樹、B+樹索引、哈希索引
及相應的特點
? 不同的索引在優化中的作用
MyISAM 引擎介紹
? MySQL MyISAM 引擎介紹
? MyISAM 引擎使用會遇到問題及相應的處理辦法
全面了解 Innodb 的
結構
? Innodb 介紹及發展歷史
? 全面了解 Innodb 的處理過程及相應的概念,深入研究 Innodb在 DML 中的開銷及處理機制
? 全面識別 Innodb 的結構及存儲結構,深理解 Innodb 的索引聚 集表的處理特點,提高表結構設計優化認識
?
Innodb 關建配參數
據講解
? 詳細講解 MySQL Innodb 的參數及意義
? 全面了解 Innodb 的不同隔級別下處理特點及對性能的影響
深入了解 Innodb
? Innodb 后臺進程講解,表空間文件介紹,日志切換過程講解
? 進行 Innodb 監控
初識 MySQL 高可用
? 高可用和負載均衡的區別及意義
? 講解 MySQL 高可用的意義及常見 MySQL 的高可用方法
常見 MySQL 高可用的
布署
? 雙主+Keepalived 實現的架構布署及實現
? 基于 PXC 的高可用架構布署及實現
基于 proxy 的高可用
架構
? 官方 proxy, Altas 布署及使用介紹
? 業界其它方案介紹
從硬件上優化 MySQL
? 從 BIOS 配置中調整 CPU、內存相關設置,優化硬件性能
? 調整陣列卡配置,優化 IO 性能
? 其他硬件相關配置進行優化
從系統上優化 MySQL
? 根據 MySQL 特性,調整內核相關參數進行優化
? 選擇適當的文件系統,以達到更高 IOPS
從 MySQL 配置上優化
? 關鍵參數調優
? MySQL 工作機制調整優化
schema 設計優化
? 根據業務特點優化 SCHEMA 設計
? 選擇適當的表類型,字段類型
SQL 執行計劃閱讀
? SQL 執行計劃閱訪的方法及意義
? 閱讀 SQL 執行計劃中的注意事項
? 如何利用 SQL 執行計劃的來進行 SQL 調優及附帶案例
索引優化
? 如何有效利用索引提高整體性能
? 如何創建適當的索引提高 SQL 效率
SQL 執行計劃詳解
? 解讀 EXPLAIN,找準優化入口
? 如何改變執行計劃提高 SQL 效率
通過架構設計來優化
? 架構設計優化要點、經驗
線上 SQL 分析
? 通過介紹 tcpdump 和利用慢日志對線上 SQL 采集收集,并通過
工具分析去了解線上業務 SQL 的分布
? 通過全面了解 SQL 的情況后,來指定讀寫分離及 Cache 實現
? 案例講解 SQL 優化,深入理解 MySQL 的 SQL 優化
通過引入應用層優化
? 應用層優化要點、經驗
MySQL 開發設計規范
? MySQL 開發規范要點
?
?
·
?
?
?
?
?
?
?
?
?
?
?
?
?
?