官术网_书友最值得收藏!

3.1 依賴物理時間引發的問題

事務的并發訪問控制算法——TO算法(基于時間戳排序的并發訪問控制算法),依賴時間戳值對事務的提交順序進行排序。對于傳統的單機數據庫系統,時間戳值可依據本機器的物理時鐘獲取(計算機中的系統時鐘是一個頻率精確和穩定的脈沖信號發生器[1])。而對于主流的數據庫系統,時間戳值常通過一個相對的邏輯時鐘(邏輯計數器)來給每一個事務排序。所以,依賴TO算法對事務并發控制進行處理,客觀上是依賴一個具備單調性的時鐘值,其形式上可能是物理時鐘或邏輯時鐘。

在分布式系統中,各個節點分布在不同物理位置,而且都存在自己的物理時鐘,不同節點上的時間戳值不完全相同。所以物理時鐘不能作為分布式系統內在不同節點上并發執行的事務的排序依據。這個問題可以通過一個抽象問題進行描述:如何在分布式環境下定義系統中所有事件的發生順序?這就會涉及1.1.1節討論的不可信物理時鐘、日志等問題,大家可查看1.1.1節的相關內容,這里不再重復。

那么,那有沒有辦法在不使用物理時鐘的情況下,給分布式環境下的所有事件排序呢?下面將從幾個典型算法的角度,來探討分布式系統中事件排序相關的解法。


[1]在計算機中由專門的時鐘電路提供時鐘信號,這種時鐘電路就是石英晶體振蕩器(Quartz Crystal OSC),簡稱晶振,其會產生頻率信號,并按照頻率均勻地打拍計數,以模擬時間的等間隔流逝,于是有了人們可感受到的“時間”。如主板上有一顆14.318MHz的晶振,作為基礎頻率源;還有一顆頻率為32.768KHz的晶振,被用于在實時時鐘(RTC)電路中顯示精確的時間和日期。更多內容參考:https://baike.baidu.com/item/時鐘頻率/103708。

主站蜘蛛池模板: 开江县| 区。| 固安县| 轮台县| 孟津县| 台东县| 宁波市| 嘉鱼县| 岚皋县| 虎林市| 潢川县| 香格里拉县| 乌审旗| 永州市| 成武县| 定安县| 湖北省| 个旧市| 永顺县| 连城县| 东辽县| 二连浩特市| 宣武区| 金阳县| 喜德县| 福安市| 靖州| 嘉禾县| 昌图县| 同仁县| 吉首市| 新晃| 周口市| 墨竹工卡县| 平凉市| 浏阳市| 忻州市| 舞钢市| 清远市| 黑龙江省| 临洮县|