課程簡介
通過本次培訓,可以系統(tǒng)的掌握MySQL的重要知識點,通過講義點撥和經驗/案例分享,快速提高實戰(zhàn)水平;
每個專題結束后,會有相應的實驗進行實踐。
目標收益
培訓對象
課程大綱
MySQL體系結構(理論) |
1.MySQL體系架構概述 2.新特性 3.鎖 4.事務 5.針對不同的MySQL模式或架構SQL的編寫和業(yè)務處理數(shù)據(jù)注意點 MySQL使用RC隔離級別和RR隔離級別? |
MySQL架構 |
1.MySQL主從復制原理 MySQL高可用復制與分布式架構 |
MGR在生產中實踐 |
1.MySQL group Replication架構介紹 2.集群架構 ?MySQL group Replication多主模式項目在生產中應用 ?MySQL group Replication單主模式項目在生產中應用 3.集群數(shù)據(jù)同步 4.集群管理 5.狀態(tài)監(jiān)控 6.使用限制 MGR提升階段 1.流量控制 2.沖突檢測 3.性能分析 MGR實踐階段 1.應用場景 2.重要參數(shù) 3.高可用架構 ? MySQL MGR+HAProxy配置負載均衡 ? MySQL MGR+KeepAlived配置負載均衡 4.優(yōu)化思路 5.MGR在線修改Single-Maste為Multi-Master模式 6.將MGR降級為主從模式 7.MySQL group Replication啟動和停止操作<注意事項> 8.MySQL group Replication在線增加/刪除節(jié)點 9.MySQL group replication節(jié)點宕機恢復實踐 10.MGR版本升級 11.在業(yè)務中的體現(xiàn)--踩到的坑 ?MySQL MGR在業(yè)務中使用添加/刪除表和字段注意事項 ?大事務 ?網絡抖動 ?雙主DML+DDL同時執(zhí)行一個表 ?事務的認證流程的加鎖起了沖突,導致事務性能下降,延遲提升 ?paxos cache導致內存增長優(yōu)化 ?提前查找大查詢和大事務思路 MySQL MGR 8.0在生產中實踐 |
數(shù)據(jù)庫規(guī)范核心 | 選擇合適的數(shù)據(jù)類型存儲數(shù)據(jù) |
MySQL性能優(yōu)化與運維診斷 |
1.索引使用限制與索引使用原則 2.高并發(fā)與多線程 3.線程數(shù)合理設置 4.傳統(tǒng)復制常見錯誤及填坑方法 5.使用硬鏈接刪除大表 …… |
查詢優(yōu)化實踐 ① 查詢優(yōu)化技術 包括查詢重用、查詢重寫規(guī)則、查詢算法優(yōu)化、并行查詢優(yōu)化等 ② 邏輯查詢優(yōu)化 包括子查詢的優(yōu)化、視圖重寫、等價謂詞重寫、條件化簡、連接消除、非SPJ的優(yōu)化等 ③ 邏輯物理優(yōu)化 包括單表掃描算法、兩表連接算法、多表連接算法、基于代價的算法等 |
1.子查詢的優(yōu)化:明確掌握子查詢優(yōu)化手段 2.視圖重寫與等價謂詞重寫 3.條件化簡 4.外連接消除、嵌套連接消除與連接消除 5.數(shù)據(jù)庫的約束規(guī)則與語義優(yōu)化 6.非SPJ的優(yōu)化--GROUP?BY、ORDER?BY、LIMIT、DISTINCT等怎么被優(yōu)化? 7.MySQL物理查詢優(yōu)化技術 8.MySQL索引的利用、優(yōu)化 ① MySQL索引原理 ② MySQL索引優(yōu)化實戰(zhàn)篇 索引優(yōu)化實戰(zhàn)-案例 9.表掃描與連接算法與MySQL多表連接優(yōu)化實踐 ① MySQL多表連接的優(yōu)化技巧。 ② 千萬級別大表如何做多表關聯(lián) 執(zhí)行計劃Explain分析 |
生產業(yè)務實踐 |
1.數(shù)據(jù)庫規(guī)范核心 2.選擇合適的數(shù)據(jù)類型存儲數(shù)據(jù) 3.數(shù)據(jù)表優(yōu)化 ① 核心數(shù)據(jù)表設計--45列 ② 字段類型設計 ③ 對表邏輯更新 ④ 添加創(chuàng)建和修改時間列 ⑤ 添加version版本控制列--在業(yè)務層實現(xiàn)樂觀鎖 4.如何查找慢查詢--為什么要注意優(yōu)化慢查詢--對業(yè)務的危害 5.優(yōu)化大表總要性--經驗一般在10G內 6.為什么不要在MySQL使用text/blob/json 7.為什么要限制DML操作的數(shù)據(jù)大小 8.查詢MySQL表有沒有流量訪問 9.處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法 10.數(shù)據(jù)庫的高級特性,該特性在實際生產中的作用 11.MySQL排序優(yōu)化與索引使用-案例分析 12.MySQL優(yōu)化 ① SQL優(yōu)化分析 ② 優(yōu)化嵌套查詢 ③ 分頁優(yōu)化案例 ④ 如何提前獲取慢SQL ⑤ SQL語句執(zhí)行慢真假刨析 ⑥ MySQL連接無法自動釋放 ⑦ 查詢MySQL偶爾比較慢 ⑧ MySQL掛起診斷思路 ⑨ 并發(fā)DML+DDL造成死鎖 ⑩ 13.查詢優(yōu)化的綜合實例-TPCH實踐 SQL優(yōu)化總結 |
MySQL分庫分表 |
1.數(shù)據(jù)庫垂直拆分案例分析 2.數(shù)據(jù)庫水平切分案例分析 ① 非分片鍵字段查詢如何實現(xiàn) ② 跨庫分頁方案 ③ 跨節(jié)點Join查詢 ④ 數(shù)據(jù)統(tǒng)計 3.分庫分表技術中間件選型 分布式事務--分布式DB |
深度結合優(yōu)化:MySQL和NoSQL結合優(yōu)化 |
1.db-cache一致性 ① 主從DB與cache一致性優(yōu)化 ② DB主從一致性架構優(yōu)化方法 MySQ到ElasticSearch寬表構建和同步 |
MySQL災備體系 |
1.備份恢復 2.同城單活架構 3.同城雙活架構 4.同城異地災備架構 多中心多活架構 |
國產分布式數(shù)據(jù)庫建設 |
1.基于Proxy分布式數(shù)據(jù)庫架構(兼容MySQL模式) 2.基于云原生分布式數(shù)據(jù)庫架構(兼容MySQL模式) 3.在業(yè)務上給我們帶來的優(yōu)勢 實戰(zhàn) |
工具篇 |
1.硬件常規(guī)常用查看命令 2.系統(tǒng)負載常用查看命令 3.Sysbench數(shù)據(jù)庫壓測工具 4.Prometheus+Grafana構建監(jiān)控平臺 5.mysqladmin和innotop工具 6.備份工具mysqldump 7.物理熱備XtraBackup 8.多線程備份工具mydumper 9.Percona Toolkit工具 10.MySQL閃回工具 11.SQL審核inception SQL優(yōu)化分析SQLAdvisor和SOAR |
MySQL體系結構(理論) 1.MySQL體系架構概述 2.新特性 3.鎖 4.事務 5.針對不同的MySQL模式或架構SQL的編寫和業(yè)務處理數(shù)據(jù)注意點 MySQL使用RC隔離級別和RR隔離級別? |
MySQL架構 1.MySQL主從復制原理 MySQL高可用復制與分布式架構 |
MGR在生產中實踐 1.MySQL group Replication架構介紹 2.集群架構 ?MySQL group Replication多主模式項目在生產中應用 ?MySQL group Replication單主模式項目在生產中應用 3.集群數(shù)據(jù)同步 4.集群管理 5.狀態(tài)監(jiān)控 6.使用限制 MGR提升階段 1.流量控制 2.沖突檢測 3.性能分析 MGR實踐階段 1.應用場景 2.重要參數(shù) 3.高可用架構 ? MySQL MGR+HAProxy配置負載均衡 ? MySQL MGR+KeepAlived配置負載均衡 4.優(yōu)化思路 5.MGR在線修改Single-Maste為Multi-Master模式 6.將MGR降級為主從模式 7.MySQL group Replication啟動和停止操作<注意事項> 8.MySQL group Replication在線增加/刪除節(jié)點 9.MySQL group replication節(jié)點宕機恢復實踐 10.MGR版本升級 11.在業(yè)務中的體現(xiàn)--踩到的坑 ?MySQL MGR在業(yè)務中使用添加/刪除表和字段注意事項 ?大事務 ?網絡抖動 ?雙主DML+DDL同時執(zhí)行一個表 ?事務的認證流程的加鎖起了沖突,導致事務性能下降,延遲提升 ?paxos cache導致內存增長優(yōu)化 ?提前查找大查詢和大事務思路 MySQL MGR 8.0在生產中實踐 |
數(shù)據(jù)庫規(guī)范核心 選擇合適的數(shù)據(jù)類型存儲數(shù)據(jù) |
MySQL性能優(yōu)化與運維診斷 1.索引使用限制與索引使用原則 2.高并發(fā)與多線程 3.線程數(shù)合理設置 4.傳統(tǒng)復制常見錯誤及填坑方法 5.使用硬鏈接刪除大表 …… |
查詢優(yōu)化實踐 ① 查詢優(yōu)化技術 包括查詢重用、查詢重寫規(guī)則、查詢算法優(yōu)化、并行查詢優(yōu)化等 ② 邏輯查詢優(yōu)化 包括子查詢的優(yōu)化、視圖重寫、等價謂詞重寫、條件化簡、連接消除、非SPJ的優(yōu)化等 ③ 邏輯物理優(yōu)化 包括單表掃描算法、兩表連接算法、多表連接算法、基于代價的算法等 1.子查詢的優(yōu)化:明確掌握子查詢優(yōu)化手段 2.視圖重寫與等價謂詞重寫 3.條件化簡 4.外連接消除、嵌套連接消除與連接消除 5.數(shù)據(jù)庫的約束規(guī)則與語義優(yōu)化 6.非SPJ的優(yōu)化--GROUP?BY、ORDER?BY、LIMIT、DISTINCT等怎么被優(yōu)化? 7.MySQL物理查詢優(yōu)化技術 8.MySQL索引的利用、優(yōu)化 ① MySQL索引原理 ② MySQL索引優(yōu)化實戰(zhàn)篇 索引優(yōu)化實戰(zhàn)-案例 9.表掃描與連接算法與MySQL多表連接優(yōu)化實踐 ① MySQL多表連接的優(yōu)化技巧。 ② 千萬級別大表如何做多表關聯(lián) 執(zhí)行計劃Explain分析 |
生產業(yè)務實踐 1.數(shù)據(jù)庫規(guī)范核心 2.選擇合適的數(shù)據(jù)類型存儲數(shù)據(jù) 3.數(shù)據(jù)表優(yōu)化 ① 核心數(shù)據(jù)表設計--45列 ② 字段類型設計 ③ 對表邏輯更新 ④ 添加創(chuàng)建和修改時間列 ⑤ 添加version版本控制列--在業(yè)務層實現(xiàn)樂觀鎖 4.如何查找慢查詢--為什么要注意優(yōu)化慢查詢--對業(yè)務的危害 5.優(yōu)化大表總要性--經驗一般在10G內 6.為什么不要在MySQL使用text/blob/json 7.為什么要限制DML操作的數(shù)據(jù)大小 8.查詢MySQL表有沒有流量訪問 9.處理海量數(shù)據(jù)時的一些優(yōu)化查詢速度方法 10.數(shù)據(jù)庫的高級特性,該特性在實際生產中的作用 11.MySQL排序優(yōu)化與索引使用-案例分析 12.MySQL優(yōu)化 ① SQL優(yōu)化分析 ② 優(yōu)化嵌套查詢 ③ 分頁優(yōu)化案例 ④ 如何提前獲取慢SQL ⑤ SQL語句執(zhí)行慢真假刨析 ⑥ MySQL連接無法自動釋放 ⑦ 查詢MySQL偶爾比較慢 ⑧ MySQL掛起診斷思路 ⑨ 并發(fā)DML+DDL造成死鎖 ⑩ 13.查詢優(yōu)化的綜合實例-TPCH實踐 SQL優(yōu)化總結 |
MySQL分庫分表 1.數(shù)據(jù)庫垂直拆分案例分析 2.數(shù)據(jù)庫水平切分案例分析 ① 非分片鍵字段查詢如何實現(xiàn) ② 跨庫分頁方案 ③ 跨節(jié)點Join查詢 ④ 數(shù)據(jù)統(tǒng)計 3.分庫分表技術中間件選型 分布式事務--分布式DB |
深度結合優(yōu)化:MySQL和NoSQL結合優(yōu)化 1.db-cache一致性 ① 主從DB與cache一致性優(yōu)化 ② DB主從一致性架構優(yōu)化方法 MySQ到ElasticSearch寬表構建和同步 |
MySQL災備體系 1.備份恢復 2.同城單活架構 3.同城雙活架構 4.同城異地災備架構 多中心多活架構 |
國產分布式數(shù)據(jù)庫建設 1.基于Proxy分布式數(shù)據(jù)庫架構(兼容MySQL模式) 2.基于云原生分布式數(shù)據(jù)庫架構(兼容MySQL模式) 3.在業(yè)務上給我們帶來的優(yōu)勢 實戰(zhàn) |
工具篇 1.硬件常規(guī)常用查看命令 2.系統(tǒng)負載常用查看命令 3.Sysbench數(shù)據(jù)庫壓測工具 4.Prometheus+Grafana構建監(jiān)控平臺 5.mysqladmin和innotop工具 6.備份工具mysqldump 7.物理熱備XtraBackup 8.多線程備份工具mydumper 9.Percona Toolkit工具 10.MySQL閃回工具 11.SQL審核inception SQL優(yōu)化分析SQLAdvisor和SOAR |