1. 程式人生 > >分散式資料庫【1、主要背景與概念】

分散式資料庫【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站點等;這是什麼背景;