一、(多)單庫結構
這個恐怕是最最簡單的一種方案了,完全沒有資料一致性問題。最大的缺點是無法容災,並且只能承受較小的壓力,不管壓力來自讀或者寫。不過在分布式資料層解決方案目不暇接的今天,單庫結構可以拓展成多單庫結構來平分壓力。資料庫可以從業務上先進行垂直拆分,將關聯性較強的表放在乙個庫中,將資料變化較小的表也放在乙個庫中;其次是將讀寫頻繁的表進行水平拆分,以某字段值為基礎,根據業務需求來選取適當的表路由演算法。
(多)單庫結構是除了環狀結構之外所有複雜結構的基礎,只有在此基礎上合理分布資料,才能為高效能打好基礎。其它資料庫結構,只是更好地拓展了(多)單庫結構而已。
二、ms結構
ms江湖人稱主備結構。優點有兩個,讀寫分離和實時備份。缺點也有兩個,資料一致性難以保障和切換麻煩。ms結構非常適合讀多寫少的應用場景(比如說論壇、部落格)。
從容災的角度講,主庫和備庫的一致性一定要保證。資料一致性不用多說,硬體配置和mysql版本、各種引數配置最好都要一樣,這樣才能保證出問題時應用程式能夠平滑地從主庫切換到備庫上。但是從效能角度來看,主備不一致某些時候是可以容忍的。比如說,主備庫上相同的表有不同的索引。此時將查詢條件不同的select語句路由到相應的庫上去執行,應用得到結果集的時間將會大大縮短。
三、mm結構
ms的切換是個弱點,而且切換所帶來的麻煩會隨著備庫的增多而逐步上公升。不過好在很多應用都不需要多個備庫的資料庫結構。如果備庫只是用來實時備份資料和承擔小部分讀壓力,那麼mm結構將會是取代ms結構的不二之選。
mm就是傳說中的主主結構。mm結構中的某乙個庫加了read-only引數,用來確保乙個時間點只存在乙個可寫的資料庫。優點是切換迅速,在應用程式足夠強壯的前提下,甚至可以做到資料庫宕機時應用不停止服務。缺點也很明顯,拓展性不如ms結構強。
四、復合結構
在(多)單庫結構的時候我已經提到,目前流行的複雜結構資料庫全部是以(多)單庫結構為基礎,將單點替換為ms或mm結構而形成的。
將(多)單庫結構進行一定程度的替換,我們就可以獲得目前流行的大部分mysql架構了。
在資金投入有限的情況下,dba需要在高效能、高穩定、可拓展這三個要素中玩蹺蹺板。
如何定位這個平衡點,還是要根據企業的現狀和業務要求進行具體分析。
mysql 資料庫 方案 MySQL資料庫架構方案
一 多 單庫結構 這個恐怕是最最簡單的一種方案了,完全沒有資料一致性問題。最大的缺點是無法容災,並且只能承受較小的壓力,不管壓力來自讀或者寫。不過在分布式資料層解 決方案目不暇接的今天,單庫結構可以拓展成多單庫結構來平分壓力。資料庫可以從業務上先進行垂直拆分,將關聯性較強的表放在乙個庫中,將資料變化...
mysql資料庫架構
1.mysql整體邏輯架構 我們先下圖看看mysql整體邏輯架構 mysql s logical architecture 圖1第二層值得關注。這是mysql的核心部分。通常叫做 sql layer。在 mysql據庫系統處理底層資料之前的所有工作都是在這一層完成的,包括許可權判斷,sql解析,行計...
資料庫(一) MySQL架構
和其它資料庫相比,mysql有點與眾不同,它的架構可以在多種不同場景中應用並發揮良好作用。主要體現在儲存引擎的架構上,外掛程式式的儲存引擎架構將查詢處理和其它的系統任務以及資料的儲存提取相分離。這種架構可以根據業務的需求和實際需要選擇合適的儲存引擎。畫出 mysql 架構圖,這種 問題都能問的出來 ...