第四篇:linux之檔案管理
阿新 • • 發佈:2021-08-04
利用中介軟體MyCat 客戶端sharding-jdbc
優點:
- 解決了單庫大資料,高併發的效能瓶頸
- 拆分規則封裝好,對應用端幾乎透明,開發人員無需關係拆分細節
- 提高了系統的穩定性和負載能力
缺點:
- 拆分規則很難抽象
- 分片事務一致性難以解決
- 二次擴充套件時,資料遷移,維護難度大,比如: 開始我們按照使用者id對2求模,但是隨著業務的增長,2臺數據庫難以支撐,還是繼續拆分為4個數據庫,那麼這時就需要做資料的遷移了
總結:
世界上的萬物沒有完美的,有利就有弊,就像資料切分一樣,無論是垂直切分,還是水平切分,它們解決了海量資料的儲存和訪問效能問題,但也隨之而來的帶來了很多新問題,它們的共同缺點有:
- 分散式的事務問題;
- 跨庫join問題
- 多資料來源的管理問題
針對多資料來源的管理問題,主要有兩種思路:
1.客戶端模式,在每個應用模組內,配置自己需要的資料來源,直接訪問資料庫,在各個模組內完成資料的整合
2.中間代理模式,中間代理統一管理所有的資料來源,資料庫層對開發人員完全透明,開發人員無需關注拆分的細節
MyCat:
MyCat是一個開源的分散式資料庫系統,前端的使用者可以把它看成是個資料庫代理,用MySql客戶端和命令列工具都可以訪問,而其後端則是用MySQL原生的協議與多個MySQL服務之前進行通訊.MyCat的核心功能是分庫分表,即將一個大表水平切分成N個小表,然後存放在後端的MySQL資料庫中.
使用場景:
- 單純的讀寫分離,此時配置最為簡單,支援讀寫分離,蛀蟲切換
- 分庫分表,對於超過1000W的表進行分片,最大支援1000億的資料
- 多租戶應用,每個應用一個數據庫,應用只連線MyCat,程式本身不需要改造;
- 代理Hbase,分析大資料