集中式數(shù)據(jù)庫缺點(diǎn)
1通信開銷大
2可擴(kuò)展性差
3設(shè)計(jì)管理困難?
分布式數(shù)據(jù)庫系統(tǒng)要求
1 數(shù)據(jù)分布性 :數(shù)據(jù)不同地域,不同機(jī)器
2 數(shù)據(jù)統(tǒng)一性 :整個(gè)系統(tǒng)邏輯上一致的
3 數(shù)據(jù)透明性 :統(tǒng)一入口
4 數(shù)據(jù)安全性 :第一節(jié)點(diǎn)出錯(cuò)不會(huì)影響整體
5 數(shù)據(jù)自治性 :子系統(tǒng)獨(dú)立管理自己的數(shù)據(jù)
6 可擴(kuò)展性 :
分布式數(shù)據(jù)庫的要求?
兩個(gè)重點(diǎn) ? 1 保證系統(tǒng)邏輯統(tǒng)一性
? ? ? ? ? ? ? ? ? ?2 保證數(shù)據(jù)分配到不同地域上
兩個(gè)要點(diǎn) ? 1 每個(gè)地域節(jié)點(diǎn)都是擁有集中式數(shù)據(jù)庫的計(jì)算機(jī)系統(tǒng)
? ? ? ? ? ? ? ? ? ? 2 每個(gè)節(jié)點(diǎn)都是由通信網(wǎng)絡(luò)連接起來的節(jié)點(diǎn)集合
體系架構(gòu) ? ? ?數(shù)據(jù)分配 ? a 數(shù)據(jù)分割
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?b 數(shù)據(jù)全復(fù)制 (讀)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?c 混合結(jié)構(gòu)?
? ? ? ? ? ? ? ? ? ? ? ? 數(shù)據(jù)分片 ?必須滿足 ?完備性 ? 重構(gòu)條件 ?不相交條件
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a 垂直分片 ?會(huì)增加數(shù)據(jù)冗余 ,將數(shù)據(jù)表按字段分割成多個(gè)表
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 1常更新的字段和不長更新字段分割,減少更新對磁盤的影響
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?2大字段和小字段分割 。查詢也需要掃描這些內(nèi)容消耗性能
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?3經(jīng)常組合查詢的列放在一個(gè)表中 ,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? b 水平分片 ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 分離熱點(diǎn) ?常按年份分割 ?PARTITION BY
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? c 混合分片
分布式數(shù)據(jù)庫系統(tǒng)組件 ? ? ? ? ? ?
? ?全集數(shù)據(jù)字典?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?維護(hù)數(shù)據(jù)庫分片規(guī)則
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 網(wǎng)絡(luò)狀態(tài)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 完整性約束
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 存取路徑
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 存取權(quán)限
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 鎖信息
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 實(shí)時(shí)事務(wù)狀態(tài)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 事務(wù)統(tǒng)計(jì)信息
? ? ? ? ? 全局?jǐn)?shù)據(jù)管理系統(tǒng) ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 任務(wù)調(diào)度
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 協(xié)調(diào)全局事務(wù)執(zhí)行
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 并發(fā)控制
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?全局 ? 恢復(fù) / 提交
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?防死鎖
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?數(shù)據(jù)匯總
? ? ? ? ? 局部數(shù)據(jù)庫管理系統(tǒng) ??
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?心跳檢測
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?匯報(bào)運(yùn)行狀態(tài)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?健康狀態(tài)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?繁忙程度
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?磁盤 ,CPU ,內(nèi)存消耗
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?接受全局管理系統(tǒng)命令 做本地?cái)?shù)據(jù)庫處理 ?(增刪改查,返回結(jié)果)
? ? ? ? ? 通信管理系統(tǒng) ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?管理全局與局部系統(tǒng)之間的通信協(xié)議?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?管理每個(gè)節(jié)點(diǎn)之間的通信
分布式數(shù)據(jù)庫系統(tǒng)的查詢更新
?單節(jié)點(diǎn)查詢 ? ? ?與集中式一樣
?跨節(jié)點(diǎn)查詢 ? ? ? ?重新改寫 ?傳輸?shù)阶畲髷?shù)據(jù)的節(jié)點(diǎn)
小表廣播 ?大表分片
分布式事務(wù) ACID面臨的挑戰(zhàn)
原子性 ? 2階段提交 ?
? ? ? ? ? ? ? ?3階段提交
讓事務(wù)一定能提交成功 (主庫。備庫)
讓事務(wù)一定能回滾成功(風(fēng)險(xiǎn)大)
一致性 ? 業(yè)務(wù)邏輯保證
隔離性 ?MVCC多版本并發(fā) ?全局管理系統(tǒng)下發(fā)事務(wù)版本號ID
持久化?
跨機(jī)事務(wù)的優(yōu)化 ?網(wǎng)絡(luò)通信時(shí)間長