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