1. 程式人生 > >易學筆記-系統分析師考試-第5章 資料庫系統/5.6 分散式資料庫系統/5.6.3 分散式資料庫查詢優化

易學筆記-系統分析師考試-第5章 資料庫系統/5.6 分散式資料庫系統/5.6.3 分散式資料庫查詢優化

  • 查詢優化對比
  1. 集中式資料庫:主要考慮CPU和I/O代價
  2. 分散式資料庫:除了考慮CPU和I/O代價,還要考慮通訊代價
  • 分散式查詢分類
  1. 區域性查詢:類似於集中式資料庫查詢,可用集中式資料庫查詢方法優化
  2. 遠端查詢:使用者查詢只涉及到網路中單個場地的資料, 選擇距離應用場地最近的副本,其餘就類似於集中式資料庫查詢,選擇
  3. 全域性查詢:使用者查詢涉及到多個場地的資料,具體優化技術比較複雜,見下面說明
  • 全域性查詢優化
  1. 全域性查詢樹的變換
    1. 用片段查詢替換全域性關係
    2. 合併公共子查詢
    3. 消除空關係和冗餘度
    4. 移去無用的垂直葉片
    5. 舉例

   

  1. 副本選擇和多副本的更新策略
    1. 副本選擇原則
      1. 儘可能提高訪問的區域性性,減少遠距離訪問
      2. 儘可能減少通訊開銷,減少大資料量的傳輸
      3. 考慮節點的負載平衡
    2. 副本更新策略
      1. 在事務提交前更新全部副本,只要一個副本沒更新則事務失敗
      2. 立即更新所用可用副本,對於失效副本等恢復後再更新
      3. 主副本法
        1. 指定一個副本為主副本,事務提交時先更新主副本,其它的副本在事務提交後再由主副本統一更新
        2. 缺點:主副本和其它副本可能存在讀不一致問題,可以通過設計版本號解決,如果副本的版本號與主副本版本號不一致,則改為讀主副本或者等待更新後再讀
      4. 快照法
  2. 查詢樹的分解
  3. 半連線與直接連線
    1. 半連線:在做連線時,不需要把整個關係或者片段送到對方,只需要傳送與連線相關的元組即可,目的是減少節點之前的資料傳輸量和運算量,缺點是增加了連線次數
      1. 舉例:
    2. 直接連線
      1. 巢狀迴圈法
      2. 排序歸併法
      3. 全送與按需取數兩種傳輸方式