十多年一線電商企業(yè)數(shù)據(jù)庫架構(gòu)師,以電商項(xiàng)目為例,從基礎(chǔ)設(shè)計(jì)入手一步步教你如何設(shè)計(jì)高性能可擴(kuò)展的千萬級數(shù)據(jù)庫架構(gòu),并針對高負(fù)載和高并發(fā)問題,給出多種解決方案
第1章 數(shù)據(jù)庫開發(fā)規(guī)范的制定
俗話說:“沒有規(guī)矩不成方圓”。這一章,我們就先來制定數(shù)據(jù)庫開發(fā)的各種規(guī)范,包括:數(shù)據(jù)庫命名規(guī)范、數(shù)據(jù)庫基本設(shè)計(jì)規(guī)范、數(shù)據(jù)庫索引設(shè)計(jì)規(guī)范、數(shù)據(jù)庫字段設(shè)計(jì)規(guī)范、SQL開發(fā)規(guī)范以及數(shù)據(jù)庫操作規(guī)范。通過這些規(guī)范的制定可以指導(dǎo)并規(guī)范我們后續(xù)的開發(fā)工作,為我們以后的工作提供一個(gè)良好的基礎(chǔ)。...
第2章 電商實(shí)例數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)
在數(shù)據(jù)庫開發(fā)規(guī)范的基礎(chǔ)之上,如何更好的利用規(guī)范設(shè)計(jì)出易于維護(hù)和伸縮性良好的數(shù)據(jù)庫結(jié)構(gòu),是我們的學(xué)習(xí)目的。這一章我們根據(jù)常用電商項(xiàng)目需求實(shí)例,來進(jìn)行具體的數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)。在這一章中我們可以學(xué)到,什么是數(shù)據(jù)庫設(shè)計(jì)的第三范式,如何對需求中所涉及的各個(gè)模塊遵循數(shù)據(jù)庫開發(fā)規(guī)范的要求,進(jìn)行數(shù)據(jù)庫的物理設(shè)計(jì)和邏...
第3章 MySQL執(zhí)行計(jì)劃(explain)分析
MySQL執(zhí)行計(jì)劃可以告訴我們MySQL如何處理我們所提交的查詢,通過對執(zhí)行計(jì)劃的分析,我們可以了解到MySQL如何使用表中的索引,如何從存儲引擎中獲取數(shù)據(jù)等。在這一章里我們會詳細(xì)的學(xué)習(xí)MySQL執(zhí)行計(jì)劃的具體內(nèi)容,通過對這一章的學(xué)習(xí),相信大家可以更好完成對查詢的優(yōu)化。...
第4章 MySQL數(shù)據(jù)庫備份和恢復(fù)
對于任何數(shù)據(jù)庫來說,數(shù)據(jù)庫備份和恢復(fù)是最為重要的內(nèi)容,可以說數(shù)據(jù)庫備份決定了數(shù)據(jù)庫的安全。所以在這一章中咱們就來看看常用的MySQL數(shù)據(jù)庫的備份和恢復(fù)方式,包括如何使用mysqldump進(jìn)行數(shù)據(jù)庫的全備和部分備份,如何使用xtrabackup對數(shù)據(jù)庫進(jìn)行全備和增量備份,以及相應(yīng)的恢復(fù)方法,如何使用binlog對數(shù)據(jù)庫進(jìn)行時(shí)間點(diǎn)的...
第5章 高性能高可用MySQL架構(gòu)變遷
告別數(shù)據(jù)庫的裸奔時(shí)代,對架構(gòu)進(jìn)行步步升級。這是我們本章要學(xué)習(xí)的重點(diǎn)內(nèi)容。我們首先會從實(shí)例學(xué)習(xí)MySQL主從復(fù)制架構(gòu),詳解主從分離的多種解決方案。通過keepalived+LVS完美組合,一步步打造高性能可擴(kuò)展的數(shù)據(jù)庫架構(gòu);通過數(shù)據(jù)庫中間件MaxScale學(xué)習(xí),講解另類解決高可用的讀負(fù)載均衡的問題 ...