posts - 28,  comments - 15,  trackbacks - 0

          摘自:http://www.open-china.net/blog/10953.html
          1.      
          什么是數據切分

          將存放在同一個數據庫中為同一個應用程序服務的數據分散存放到多個數據庫上面,以達到分散單臺設備負載的效果,并提高可用性。

          2.       垂直切分

          按照系統的模塊和功能切分。需要盡早作出切分

          優點:

          •   切分容易


          •   應用程序模塊清晰,整合容易。
          • 數據維護方便。


          缺點:

          •   模塊間的數據表會有關聯。
          •   數據量大的表仍有性能問題。
          •   表關聯無法在數據庫級別完成,要在程序中完成。
          •   事務處理復雜。
          • 不能過度切分(粒度適宜)


          3.       水平切分

          對大數據量的表按照某種規則進行散列拆分。根據社區模塊、用戶類型、特定字段類別等。

          優點:

          • 表關聯基本能夠在數據庫端全部完成。
          • 不會存在數據過量問題
          • 應用程序端整體改動小
          • 事務處理簡單
          • 擴展性限制小


          缺點:

          • 切分規則復雜,很難有一個全面的切分規則
          • 后期數據的維護難度復雜,手工定位數據難
          • 應用系統各模塊耦合度高,可能會對后面數據拆分造成困難


           

          4.       聯合切分

          通常先垂直切分,再對大表進行水平切分。

          交替進行切分。

          優點:

          • 系統擴展性最大化
          • 避免各自缺陷


          缺點:

          • 數據庫系統架構復雜
          • 應用程序架構也復雜
          • 整合方案


          兩種解決方案:

          a )每個應用程序模塊中配置管理自己需要的一個或多個數據庫,直接訪問各個數據庫,在模塊內整合數據。

          b) 通過中間代理層來統一管理數據源,后端數據庫集群對前端應用程序透明

           

          實現類別:

                a)         自行開發代理層

                b)        使用數據庫 Proxy

          如 MySQL 的 Proxy 。實現連接路由、 Query 分析、 Query 過濾和修改,負載均衡,以及基本的 HA 機制。

                c)        其他開源中間件

          6.       可能的問題

                a.       分布式事務問題。

          ——使用小事務,提高應用程序的健壯性。

                b.       跨節點 Join 問題

          ——使用數據庫 Federated ( DB Link 等)

          ——使用應用程序來處理(使用緩存等)

                c.       跨節點合并排序分頁問題

          ——使用數據庫 Federated

          ——應用程序

          當 b 和 c 同時出現時,比較難處理。

          posted on 2011-06-23 16:14 zhangxl 閱讀(212) 評論(0)  編輯  收藏 所屬分類: DB
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(1)

          隨筆分類(17)

          隨筆檔案(28)

          文章分類(30)

          文章檔案(30)

          相冊

          收藏夾(2)

          hibernate

          java基礎

          mysql

          xml

          關注

          壓力測試

          算法

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 96758
          • 排名 - 600

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 绥德县| 绵竹市| 和硕县| 武隆县| 武鸣县| 宝山区| 伽师县| 滨海县| 西城区| 高阳县| 广饶县| 颍上县| 锡林浩特市| 彩票| 宁陕县| 宝坻区| 邻水| 齐河县| 当阳市| 建德市| 呼和浩特市| 莲花县| 长白| 靖远县| 沾益县| 祁东县| 九江市| 贵州省| 庆云县| 大理市| 通化县| 梁山县| 专栏| 长海县| 扶风县| 泽库县| 正镶白旗| 焦作市| 正安县| 竹北市| 全椒县|