軟件系統(tǒng)數(shù)據(jù)庫的分庫分表設(shè)計
系統(tǒng)讀寫分離、分庫分表技術(shù)實現(xiàn)采用MyCat中間件,MyCat 是一款開源(遵循 Apache License 2.0 協(xié)議)的大數(shù)據(jù)庫集群中間件,用于搭建數(shù)據(jù)庫的分布式集群,實現(xiàn)分庫分表功能,解決數(shù)據(jù)庫中海量數(shù)據(jù)存儲和查詢性能的問題。MyCat 還是一個數(shù)據(jù)庫的集群中間件,主要實現(xiàn) RDBMS 數(shù)據(jù)庫集群的故障轉(zhuǎn)移、負載均衡、讀寫分離等功能。
MyCat 的關(guān)鍵技術(shù)是分庫分表,它通過將數(shù)據(jù)庫中物理表中的數(shù)據(jù)切分成多個表分片,并將表分片存儲在多個數(shù)據(jù)庫節(jié)點上,從而構(gòu)建分布式存儲架構(gòu),提升巨表關(guān)聯(lián)、排序、分組聚合等 OLAP 的能力。
分庫分表的工作原理:攔截客戶端提交的SQL語句并進行分析(如:分片分析、路由分析、讀寫分離分析、緩存分析等),然后將此SQL發(fā)往后端的真實數(shù)據(jù)庫,并將返回的結(jié)果處理(如:數(shù)據(jù)合并)后再返回給客戶端。如下圖:
分庫分表單規(guī)則匹配1
分庫分表單規(guī)則匹配2
MyCat 還是一個位于數(shù)據(jù)庫和客戶端之間,主要實現(xiàn)讀寫分離功能的集群中間件。主要解決在業(yè)務系統(tǒng)存在大量的讀并發(fā)時,通過負載均衡提高查詢請求吞吐量,并將多個數(shù)據(jù)庫節(jié)點集群化管理,在多主集群中單點數(shù)據(jù)庫故障時候選主節(jié)點切換。
圖90MyCat數(shù)據(jù)庫集群
MyCat組件適用于的場景如下:
1)適用于 MySQL 、Oracle等主流數(shù)據(jù)庫集群的讀寫分離、候選主節(jié)點切換、負載均衡等高可用模式;
2)適用于 MySQL 、Oracle等主流數(shù)據(jù)庫集群的分表分庫,對于單表數(shù)據(jù)超過1000 萬的物理表進行分片,最大支持1000億數(shù)據(jù)的單表分片;
3)適用于多租戶應用,通過分庫分表實現(xiàn)應用數(shù)據(jù)按照租戶劃分物理數(shù)據(jù)庫存儲。從租戶的角度來看,個人應用的數(shù)據(jù)集約存儲在獨立的空間,從應用角度看,分布式數(shù)據(jù)庫有利于海量數(shù)據(jù)的分析和查詢;
4)適用于海量數(shù)據(jù)的統(tǒng)計、分析、研判等 OLAP 能力的支撐數(shù)據(jù)庫,分庫分表能夠快速完成巨表關(guān)聯(lián)、排序、分組聚合等數(shù)據(jù)計算功能;
5) 適用于海量數(shù)據(jù)的實時查詢,如:百億數(shù)據(jù)頻繁查詢的記錄需要在3秒內(nèi)反饋結(jié)果,包括主鍵查詢、范圍查詢或其他屬性查詢的情況;
?數(shù)據(jù)庫集群部署拓撲圖
審核編輯 黃宇
-
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3846瀏覽量
64685 -
軟件系統(tǒng)
+關(guān)注
關(guān)注
0文章
63瀏覽量
9524
發(fā)布評論請先 登錄
相關(guān)推薦
MySQL數(shù)據(jù)庫的安裝

SqlServer數(shù)據(jù)恢復—SqlServer數(shù)據(jù)庫數(shù)據(jù)恢復案例

云數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?
數(shù)據(jù)庫數(shù)據(jù)恢復—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復流程

Mybatis 攔截器實現(xiàn)單數(shù)據(jù)源內(nèi)多數(shù)據(jù)庫切換
數(shù)據(jù)庫數(shù)據(jù)恢復—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復案例
Sybase數(shù)據(jù)恢復—Sybase數(shù)據(jù)庫無法啟動怎么恢復數(shù)據(jù)?

數(shù)據(jù)庫數(shù)據(jù)恢復—通過拼接數(shù)據(jù)庫碎片恢復SQLserver數(shù)據(jù)庫

數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復案例

數(shù)據(jù)庫數(shù)據(jù)恢復—SqlServer數(shù)據(jù)庫底層File Record被截斷為0的數(shù)據(jù)恢復案例

恒訊科技分析:sql數(shù)據(jù)庫怎么用?
數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫所在分區(qū)空間不足報錯的數(shù)據(jù)恢復案例
分庫分表后復雜查詢的應對之道:基于DTS實時性ES寬表構(gòu)建技術(shù)實踐

數(shù)據(jù)庫數(shù)據(jù)恢復—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復案例

評論