1. 程式人生 > 其它 >第四篇:linux之檔案管理

第四篇:linux之檔案管理

利用中介軟體MyCat 客戶端sharding-jdbc

優點:

  • 解決了單庫大資料,高併發的效能瓶頸
  • 拆分規則封裝好,對應用端幾乎透明,開發人員無需關係拆分細節
  • 提高了系統的穩定性和負載能力

缺點:

  • 拆分規則很難抽象
  • 分片事務一致性難以解決
  • 二次擴充套件時,資料遷移,維護難度大,比如: 開始我們按照使用者id對2求模,但是隨著業務的增長,2臺數據庫難以支撐,還是繼續拆分為4個數據庫,那麼這時就需要做資料的遷移了

總結:

世界上的萬物沒有完美的,有利就有弊,就像資料切分一樣,無論是垂直切分,還是水平切分,它們解決了海量資料的儲存和訪問效能問題,但也隨之而來的帶來了很多新問題,它們的共同缺點有:

  • 分散式的事務問題;
  • 跨庫join問題
  • 多資料來源的管理問題

針對多資料來源的管理問題,主要有兩種思路:

1.客戶端模式,在每個應用模組內,配置自己需要的資料來源,直接訪問資料庫,在各個模組內完成資料的整合

2.中間代理模式,中間代理統一管理所有的資料來源,資料庫層對開發人員完全透明,開發人員無需關注拆分的細節

MyCat:

MyCat是一個開源的分散式資料庫系統,前端的使用者可以把它看成是個資料庫代理,用MySql客戶端和命令列工具都可以訪問,而其後端則是用MySQL原生的協議與多個MySQL服務之前進行通訊.MyCat的核心功能是分庫分表,即將一個大表水平切分成N個小表,然後存放在後端的MySQL資料庫中.

使用場景:

  • 單純的讀寫分離,此時配置最為簡單,支援讀寫分離,蛀蟲切換
  • 分庫分表,對於超過1000W的表進行分片,最大支援1000億的資料
  • 多租戶應用,每個應用一個數據庫,應用只連線MyCat,程式本身不需要改造;
  • 代理Hbase,分析大資料