一、分布式數(shù)據(jù)庫中為什么要使用Vector Clock
分布式系統(tǒng)的本地操作和數(shù)據(jù)交換當做事件,則理想系統(tǒng)中,事件時間上的先后關(guān)系和因果關(guān)系如果是全序,則系統(tǒng)中的進程按照全序關(guān)系執(zhí)行處理事件,很容易達成一致。實際的情況是, 進程存在空間隔離、時鐘漂移、網(wǎng)絡(luò)延遲等原因?qū)е率录娜蜿P(guān)系(注意,不能采用中央?yún)f(xié)調(diào)的方式)難以確定,其他答主提及Lamport的論文Time, Clocks and the Ordering of Events in a Distributed System,對此進行詳細對確定事件的順序進行了詳細的表述,可以細心研讀。
實際上我們可以通過Lamport clock和Vector clock獲得事件的偏序關(guān)系, 不存在偏序關(guān)系的兩個事件為并發(fā)。其實,dynamo,Riak用到的算法為version vector。 如果多個用戶并發(fā)地修改存儲在多節(jié)點上的需要保持某種約束的一組數(shù)值,而且只能有一個成功,怎么處理這種問題? 需要檢查寫寫沖突! version vector就是一種檢測寫寫沖突的算法,如果并發(fā)事務(wù)存在寫寫沖突,可以按照一定的策略只讓一個事務(wù)commit,其他事務(wù)rollback。 我貼出的三篇文檔已經(jīng)給出了詳細的實例,此處不在贅述了。 建議看看分布式事務(wù),STM, spanner等相關(guān)知識。
延伸閱讀:
二、Power BI是什么
Power BI(power business intelligence)是軟件服務(wù)、應(yīng)用和連接器的集合,它們協(xié)同工作以將相關(guān)數(shù)據(jù)來源轉(zhuǎn)換為連貫的視覺逼真的交互式見解。 無論用戶的數(shù)據(jù)是簡單的 Excel 電子表格,還是基于云和本地混合數(shù)據(jù)倉庫的集合,Power BI 都可讓用戶輕松地連接到數(shù)據(jù)源,直觀看到(或發(fā)現(xiàn))重要內(nèi)容,與任何所希望的人進行共享。
Power BI 簡單且快速,能夠從 Excel 電子表格或本地數(shù)據(jù)庫創(chuàng)建快速見解。 同時 Power BI 也可進行豐富的建模和實時分析,及自定義開發(fā)。 因此它既是用戶的個人報表和可視化工具,還可用作組項目、部門或整個企業(yè)背后的分析和決策引擎。