資料庫集群布置 3 mycat中介軟體簡介

2021-09-22 17:55:25 字數 1995 閱讀 1318

1.乙個徹底開源的,面向企業應用開發的大資料庫集群

2.支援事務、acid、可以替代mysql的加強版資料庫

3.乙個可以視為mysql集群的企業級資料庫,用來替代昂貴的oracle集群

4.乙個融合記憶體快取技術、nosql技術、hdfs大資料的新型sql server

5.結合傳統資料庫和新型分布式資料倉儲的新一代企業級資料庫產品

6.乙個新穎的資料庫中介軟體產品

2.1 發現問題

單庫單錶中的資料,隨著時間的推移資料量的增多,資料操作crud的開銷會越來越大.

同時一台伺服器的資源是有限的資料不可能無限量的增加

2.2 解決問題 -- 分庫,分表(我這裡是針對資料庫表)

以商品的id,商品的編號,商品的詳細描述為例:product:proid,productname,prodetail

1.垂直切分

效果:

product******:proid,productname

productdetail:proid,prodetail

垂直切分:顧名思義就是按照實際的需求將一張大表例如有100個字段,將其切分成若干個表,以乙個字段(proid)進行

一一對應的切分.思路(將經常用到字段用到一張表,資料量大不常用的字段分到領一張表等等)

發現問題:將表進行垂直切分後,能解決一部分問題,但是隨著時間的推移表的資料行還是不斷的切分,如500萬行資料,

1000萬行資料.....,到這時crud的開銷大的問題依然還是沒有解決.這就引出下乙個解決方案,水平切分

2.水平切分

效果(原表:product:proid,productname,prodetail(1億條資料)):

product:proid,productname,prodetail(按id,每1000萬條放到一張表),這樣就會有10張同樣的表(副本)

水平切分:將表按照一定的規則(如按id量,hash等)將資料放到副表中

發現問題:將資料按一定規則中水平切分後,那麼查詢資料時,我該查詢那個副本呢?邏輯的判斷,將表資料集中等的花銷,自己實現都比較的困難,所以就引出了本文的主題----mycat

3.1 邏輯庫(schema)
通常對實際應用來說,並不需要知道中介軟體的存在,業務開發人員只需要知道資料庫的概念,

所以資料庫中介軟體可以被看做是乙個或多個資料庫集群構成的邏輯庫。

3.2 邏輯表(table)
既然有邏輯庫,那麼就會有邏輯表,分布式資料庫中,對應用來說,讀寫資料的表就是邏輯表。

邏輯表,可以是資料切分後,分布在乙個或多個分片庫中,也可以不做資料切分,不分片,只有乙個表構成。

分片表:是指那些原有的很大資料的表,需要切分到多個資料庫的表,這樣,每個分片都有一部分資料,

所有分片構成了完整的資料。 總而言之就是需要進行分片的表。

非分片表:乙個資料庫中並不是所有的表都很大,某些表是可以不用進行切分的,非分片是相對分片表來說的,

就是那些不需要進行資料切分的表。

3.3 分片節點(datanode)
資料切分後,乙個大表被分到不同的分片資料庫上面,

每個表分片所在的資料庫就是分片節點(datanode)。

3.4 節點主機(datahost)
資料切分後,每個分片節點(datanode)不一定都會獨佔一台機器,同一機器上面可以有多個分片資料庫,

這樣乙個或多個分片節點(datanode)所在的機器就是節點主機(datahost),

為了規避單節點主機併發數限制,盡量將讀寫壓力高的分片節點(datanode)

均衡的放在不同的節點主機(datahost)。

3.5 分片規則(rule)
前面講了資料切分,乙個大表被分成若干個分片表,就需要一定的規則,

這樣按照某種業務規則把資料分到某個分片的規則就是分片規則,資料切分選擇合適的分片規則非常重要,

將極大的避免後續資料處理的難度。

MyCat 資料庫集群中介軟體

中文網 權威指南 document mycat definitive guide.pdf 主要功能 分庫分表 橫切,縱切 主從複製讀寫分離,弱xa事務,資料庫集群監控 1 安裝配置 在win環境下測試,在 mycat conf下存放著配置檔案,雙擊 mycat bin startup nowrap....

資料庫中介軟體 MyCat配置示例

資料庫中介軟體 mycat mycat連線協議和mysql一樣 mycat支援mysql oracle sqlserver等 安裝完mysql後啟動服務 service mysql start 登入 mysql u root 設定遠端登入 grant all privileges on to roo...

MyCat 取代Cobar資料庫中介軟體

什麼是mycat?簡單的說,mycat就是 乙個徹底開源的,面向企業應用開發的 大資料庫集群 支援事務 acid 可以替代mysql的加強版資料庫 乙個可以視為 mysql 集群的企業級資料庫,用來替代昂貴的oracle集群 乙個融合記憶體快取技術 nosql技術 hdfs大資料的新型sql ser...