「分布式技術(shù)專題」時鐘系列二:數(shù)據(jù)庫世界中為什么要有時鐘画髓?

時間概念來源于事件發(fā)生順序的最基本概念掘剪,如果說事件發(fā)生在3點15分,說明它發(fā)生在3點15分到3點16分之間奈虾。

在現(xiàn)實世界里夺谁,想知道當(dāng)前時間好像并不是什么難事,可對于電腦來說肉微,事情卻沒有那么簡單匾鸥。

現(xiàn)代計算機系統(tǒng)中,對于時間流逝的感知和度量碉纳,大部分來自石英晶體振蕩器勿负。

石英晶體振蕩器是高精度和高穩(wěn)定度的振蕩器,被廣泛應(yīng)用于彩電劳曹、計算機奴愉、遙控器等各類振蕩電路中,以及通信系統(tǒng)中用于頻率發(fā)生器铁孵、為數(shù)據(jù)處理設(shè)備產(chǎn)生時鐘信號和為特定系統(tǒng)提供基準(zhǔn)信號锭硼。

但其并不以絕對恒定的頻率震動,所以總會出現(xiàn)頻率稍高或稍低的狀況蜕劝,而這種偏差反映到系統(tǒng)時鐘上檀头, 就是系統(tǒng)時間比標(biāo)準(zhǔn)時間稍快或稍慢。

在數(shù)據(jù)庫中可以把事務(wù)看成一個一個的事件岖沛,數(shù)據(jù)庫就是對這些事件的排序暑始,而事件的順序就是靠時鐘來保障的。

分布式數(shù)據(jù)庫下的時鐘

對于單機數(shù)據(jù)庫婴削,因為所有的任務(wù)和作業(yè)都是在單一計算機完成廊镜,似乎系統(tǒng)時間快或慢影響并不大,我們可以設(shè)想這個時間稍快或稍慢的單機數(shù)據(jù)庫是一個獨立的世界馆蠕,在這個世界中期升,時鐘速率的變化惊奇,帶來的影響可能就是各種事件發(fā)生的更快或者更慢,但事件的因果先后順序不變播赁。只要不與外部時間的時間協(xié)調(diào)同步颂郎,這里就是一個平行宇宙,時間速率的變化對世界本身并沒有影響容为, 因為事件發(fā)生的順序是確定的乓序。

相對于單機數(shù)據(jù)庫,分布式數(shù)據(jù)庫中事件在空間上是分開的坎背,數(shù)據(jù)庫中各個節(jié)點需要通過交換消息相互通信替劈。單機數(shù)據(jù)庫的排序很簡單,通過標(biāo)記日志序列號或事務(wù)ID就可以表示事務(wù)的順序得滤,而在分布式數(shù)據(jù)庫中陨献,數(shù)據(jù)庫有多個節(jié)點組成,每個節(jié)點上的數(shù)據(jù)庫實例擁有獨立的時鐘或日志懂更,每一個節(jié)點上的時鐘不能反映全局的順序眨业,因為在各個節(jié)點上可能存在網(wǎng)絡(luò)延遲、時鐘偏移等情況沮协,實際情況下龄捡,可能還有時鐘校對,發(fā)生時鐘跳躍的情況慷暂,導(dǎo)致分布式數(shù)據(jù)庫每個節(jié)點都相當(dāng)于一個世界聘殖,而這些世界的時間流速可能不同,從而導(dǎo)致在不同的世界中行瑞,事件由時間標(biāo)記的順序可能存在不確定性奸腺。節(jié)點之間存在時鐘偏移,理想情況是這些節(jié)點的時鐘是完全同步的蘑辑,而實際上節(jié)點與節(jié)點之間時鐘有快慢之差洋机, 所以分布式數(shù)據(jù)庫下的時鐘無法做到全局設(shè)置的反映坠宴。

全局授時服務(wù)-TSO

為了使分布式數(shù)據(jù)庫擁有確定的全局唯一時鐘洋魂,時鐘的解決方案有很多,例如使用統(tǒng)一的中心節(jié)點喜鼓,或單獨的服務(wù)器產(chǎn)生分布式時鐘副砍。這樣,每個節(jié)點的時鐘都有一個統(tǒng)一中心授時即可庄岖。

這就是分布式系統(tǒng)領(lǐng)域里常用的TSO(Timestamp Oracle)方案,TSO最早由google在percolator論文中提出豁翎。

全局授時顧名思義存在一個中心化的單一授時節(jié)點,因為它是一個單點隅忿,即一臺計算機心剥,所以它可以保證按照遞增的方式分配一個邏輯時鐘邦尊,任何事件申請的時鐘都不會重復(fù),這樣优烧,分布式數(shù)據(jù)庫直接使用這個邏輯時鐘就可以去判定事件的先后順序了蝉揍。邏輯時鐘存在的意義,就是用于仲裁具備相關(guān)性的事件的先后順序畦娄。

全局授時服務(wù)的優(yōu)點是實現(xiàn)簡單又沾,通常來說全局授時服務(wù)會比其他方案多一次網(wǎng)絡(luò)開銷,但全局授時的授時節(jié)點會和分布式數(shù)據(jù)庫的節(jié)點放在同一網(wǎng)絡(luò)下熙卡,網(wǎng)絡(luò)的開銷會非常小杖刷,通常一次網(wǎng)絡(luò)請求都在0.1ms或0.2ms內(nèi)返回,但這也能說明為什么傳統(tǒng)數(shù)據(jù)庫的一次請求可以在0ms內(nèi)返回驳癌,而分布式數(shù)據(jù)庫很少能在0ms內(nèi)返回了滑燃,因為分布式數(shù)據(jù)庫節(jié)點通信,時鐘同步等都需要額外的網(wǎng)絡(luò)開銷颓鲜。

全局授時的優(yōu)點是實現(xiàn)簡單不瓶,資源消耗可以接受,性能上有時候甚至?xí)然旌线壿嫊r鐘亦或者原子鐘方案更快灾杰,但缺點也很明顯蚊丐,那就是存在單點瓶頸,擴展性差艳吠,授時服務(wù)節(jié)點很容易稱為系統(tǒng)的性能瓶頸麦备,所以一般采用全局授時服務(wù)的數(shù)據(jù)庫一般不適合大規(guī)模部署,也不適合跨地域部署昭娩,TSO一般更適合于服務(wù)OLAP系統(tǒng)凛篙,或者小規(guī)模不跨地域的OLTP系統(tǒng)。

以上為數(shù)據(jù)庫世界中為什么要有時鐘栏渺,「分布式技術(shù)專題」是國產(chǎn)數(shù)據(jù)庫hubble團隊精心整編呛梆,專題會持續(xù)更新,歡迎大家保持關(guān)注磕诊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末填物,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子霎终,更是在濱河造成了極大的恐慌滞磺,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件莱褒,死亡現(xiàn)場離奇詭異击困,居然都是意外死亡,警方通過查閱死者的電腦和手機广凸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門阅茶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛛枚,“玉大人,你說我怎么就攤上這事脸哀±ず颍” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵企蹭,是天一觀的道長白筹。 經(jīng)常有香客問我,道長谅摄,這世上最難降的妖魔是什么徒河? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮送漠,結(jié)果婚禮上顽照,老公的妹妹穿的比我還像新娘。我一直安慰自己闽寡,他們只是感情好代兵,可當(dāng)我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著爷狈,像睡著了一般植影。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涎永,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天思币,我揣著相機與錄音,去河邊找鬼羡微。 笑死谷饿,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的妈倔。 我是一名探鬼主播博投,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼盯蝴!你這毒婦竟也來了毅哗?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤结洼,失蹤者是張志新(化名)和其女友劉穎黎做,沒想到半個月后叉跛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體松忍,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年筷厘,在試婚紗的時候發(fā)現(xiàn)自己被綠了鸣峭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宏所。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摊溶,靈堂內(nèi)的尸體忽然破棺而出爬骤,到底是詐尸還是另有隱情,我是刑警寧澤莫换,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布霞玄,位于F島的核電站,受9級特大地震影響拉岁,放射性物質(zhì)發(fā)生泄漏坷剧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一喊暖、第九天 我趴在偏房一處隱蔽的房頂上張望惫企。 院中可真熱鬧,春花似錦陵叽、人聲如沸狞尔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽偏序。三九已至,卻和暖如春胖替,著一層夾襖步出監(jiān)牢的瞬間禽车,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工刊殉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留殉摔,地道東北人。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓记焊,卻偏偏與公主長得像逸月,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子遍膜,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容