分散式資料庫【1、主要背景與概念】
分散式是一種思想,學習具體的分散式機制時,考慮分散式背後的東西;
一、概念
分散式資料庫分佈在多個站點,各個站點缺少共享部件;同構分散式資料庫、異構分散式資料庫;資料的分佈方式給事務處理及查詢帶來較大困難;
分散式資料儲存包括如下兩種形成方式:
1、複製:不同站點維護相同r的副本,帶來資料可用性、增加併發度、但是增加了更新開銷;
2、分片:對關係r記性水平切片或者垂直切片,切片後可繼續形成副本;
水平切片:雜湊、範圍、等;垂直切片:最後每個垂直切片都包括關係r的主鍵;
如大學資料庫,包括關係r employee_info(employee_id, name, designation, salary),處於保密緣故,可能劃分為employee_private_info(employee_id, salary),employee_public_info(employee_id, name, designation),部署在多個站點;
二、透明性
分散式資料庫必須保障資料透明性,包括分片透明性(user不知道如何分片的)、
複製透明性(user不關注什麼物件被複制,資料物件邏輯上是統一的)、
位置透明性(user物質摘掉資料的物理位置,只要使用者事務提供收識別符號,無需關係副本存在何處)
三、分散式事務
分散式事務仍需要保持ACID性質,包括全域性事務、區域性事務。
【思考】區域性事務是如何保持ACID性質的;全域性事務將極大增加難度
分散式事務處理機制包括事務管理器部件、及事務協調器部件;其中,事務管理器部件管理訪問一個區域性節點的資料的事務;事務協調器部件協調在該站點上發起的各個事務(全域性的、區域性的)的執行(發起分散式事務、協調執行、協調事務的終止-commit/abort);
【思考】
1、各種分散式處理機制,包括hadoop等,都是一個控制節點、及一些分散式節點,接受控制節點的控制;分散式事務也是如此處理機制;
2、分散式資料庫各個資料項包括關係、分片及副本等,都需要一個全域性唯一名字,如何保證?包括名字伺服器(各個名字前來註冊,通過該名字伺服器尋找訪問);別名;IP站點等;這是什麼背景;