• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    分布式存儲系統(tǒng)讀寫一致性算法性能優(yōu)化研究綜述*

    2022-04-21 04:43:12沈佳杰盧修文趙澤宇
    關(guān)鍵詞:一致性

    沈佳杰,盧修文,2,3,向 望,趙澤宇,王 新,2,3

    (1.復(fù)旦大學(xué)校園信息化辦公室,上海 200433;2.復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,上海 200433;3.復(fù)旦大學(xué)上海市智能信息處理重點(diǎn)實(shí)驗(yàn)室,上海 200433)

    1 引言

    分布式存儲系統(tǒng)[1]廣泛使用讀寫一致性算法來保證數(shù)據(jù)可用性。通過使用特定的協(xié)議,分布式存儲系統(tǒng)保證了用戶讀寫數(shù)據(jù)的一致性。經(jīng)典拜占庭問題[2]存在數(shù)據(jù)篡改[3]的情況,而讀寫一致性問題假定所有節(jié)點(diǎn)都會遵守通信協(xié)議傳輸用戶數(shù)據(jù)[4]。與此同時(shí),通過部署讀寫一致性算法,分布式存儲系統(tǒng)能避免在部分節(jié)點(diǎn)失效情況下出現(xiàn)服務(wù)中斷的問題,從而有效提升存儲數(shù)據(jù)的可用性[5]。

    然而,讀寫一致性算法通常會帶來較大的網(wǎng)絡(luò)通信和存儲開銷[4],并降低分布式存儲系統(tǒng)中用戶數(shù)據(jù)訪問的能力。開發(fā)人員研發(fā)分布式存儲系統(tǒng)的過程中需部署滿足存儲應(yīng)用場景需求的讀寫一致性算法,并調(diào)整該算法執(zhí)行機(jī)制。但是,根據(jù)應(yīng)用場景選擇適用的讀寫一致性算法依然具有很大的挑戰(zhàn)性。

    首先,各種讀寫一致性算法通常采用不同實(shí)現(xiàn)機(jī)制,需要綜合分析在目標(biāo)應(yīng)用場景中部署特定算法的合理性。其次,由于讀寫一致性算法的數(shù)據(jù)寫入操作性能受到數(shù)據(jù)量和網(wǎng)絡(luò)狀態(tài)等多種因素的影響,需適應(yīng)目標(biāo)應(yīng)用場景的讀寫請求特性和網(wǎng)絡(luò)條件。最后,部署讀寫一致性算法的過程中需要充分了解不同應(yīng)用場景的特點(diǎn),并相應(yīng)地調(diào)整算法的執(zhí)行機(jī)制。

    為了幫助開發(fā)人員選擇適合特定應(yīng)用場景的讀寫一致性算法,本文總結(jié)了主流讀寫一致性算法實(shí)現(xiàn)方案,綜述了分布式存儲系統(tǒng)中讀寫一致性算法的實(shí)現(xiàn)機(jī)制,分析了這些實(shí)現(xiàn)機(jī)制對數(shù)據(jù)讀寫操作性能的影響,總結(jié)了在各種存儲應(yīng)用場景中部署讀寫一致性算法需注意的要點(diǎn),主要包括以下內(nèi)容:

    (1)介紹了讀寫一致性算法常見的實(shí)現(xiàn)機(jī)制。本文總結(jié)了讀寫一致性算法主要的實(shí)現(xiàn)方案,并歸納了這些實(shí)現(xiàn)方案的優(yōu)缺點(diǎn),總結(jié)了這些算法適用的應(yīng)用場景。在此基礎(chǔ)上,本文分析了分布式存儲系統(tǒng)中部署讀寫一致性算法的關(guān)鍵問題,總結(jié)了分布式存儲系統(tǒng)中讀寫一致性算法對這些問題的解決方法。

    (2)綜述了讀寫一致性算法性能優(yōu)化工作。由于副本和糾刪碼作為主要的數(shù)據(jù)可靠性保障機(jī)制被廣泛部署到分布式存儲系統(tǒng),本文綜述了針對這2種存儲機(jī)制構(gòu)建的讀寫一致性算法,比較了這些算法的存儲開銷、容錯(cuò)性能和存儲機(jī)制等特性。

    (3)總結(jié)了在不同數(shù)據(jù)存儲應(yīng)用場景中部署讀寫一致性算法需注意的要點(diǎn)。在綜述算法實(shí)現(xiàn)方案的基礎(chǔ)上,本文分析了單數(shù)據(jù)中心分布式存儲系統(tǒng)和跨數(shù)據(jù)中心云際存儲系統(tǒng)2種經(jīng)典應(yīng)用場景中制約執(zhí)行效率的因素,展望了未來分布式存儲系統(tǒng)中讀寫一致性算法性能優(yōu)化工作的研究方向,給出了可能的解決方案。

    2 讀寫一致性問題及挑戰(zhàn)

    本節(jié)將介紹讀寫一致性問題、部署讀寫一致性算法的目標(biāo)和面臨的挑戰(zhàn)。

    2.1 讀寫一致性問題

    分布式存儲系統(tǒng)廣泛存在節(jié)點(diǎn)失效和網(wǎng)絡(luò)故障,讀寫一致性算法需要保證在部分節(jié)點(diǎn)和網(wǎng)絡(luò)功能失效的情況下數(shù)據(jù)的可用性。不同于拜占庭問題[2]存在數(shù)據(jù)篡改[3]的情況,讀寫一致性問題假設(shè)分布式存儲系統(tǒng)滿足以下條件:

    (1)所有的存儲節(jié)點(diǎn)都有可能出現(xiàn)節(jié)點(diǎn)失效和通信故障,無法保證及時(shí)回復(fù)通信消息。

    (2)所有在線存儲節(jié)點(diǎn)的通信信息都遵守讀寫一致性協(xié)議的規(guī)定。

    圖1展示了一個(gè)包含4個(gè)存儲節(jié)點(diǎn)和3個(gè)用戶的讀寫一致性問題示例[4]。

    Figure 1 Consensus problem between multiple storage nodes

    由于網(wǎng)絡(luò)可能無法保證所有節(jié)點(diǎn)的連通性,在圖1中,當(dāng)存儲節(jié)點(diǎn)斷開連接后,用戶1和用戶2分別向2個(gè)存儲節(jié)點(diǎn)返回了更新值x=A和x=B。當(dāng)用戶3需要讀取變量x的值時(shí),該用戶將無法確定其當(dāng)前值。

    2.2 讀寫一致性算法的目標(biāo)

    為了避免讀寫數(shù)據(jù)不一致的情況,需要部署讀寫一致性算法來保證數(shù)據(jù)的可用性。具體來說,讀寫一致性算法需要滿足以下特性:

    (1)可靠性:在存儲節(jié)點(diǎn)未出現(xiàn)拜占庭錯(cuò)誤的情況下,分布式存儲系統(tǒng)不能回復(fù)錯(cuò)誤信息。

    (2)魯棒性:在大部分存儲節(jié)點(diǎn)正常在線并能相互通信的情況下,通過讀寫一致性算法,能保證用戶正常讀寫數(shù)據(jù)。

    在此基礎(chǔ)上,開發(fā)人員需要根據(jù)存儲應(yīng)用場景的需求部署相應(yīng)的讀寫一致性算法來保證數(shù)據(jù)讀寫操作的性能。

    2.3 部署讀寫一致性算法面臨的挑戰(zhàn)

    雖然讀寫一致性算法能夠保證數(shù)據(jù)讀寫操作的正確性,研究人員依然需要根據(jù)應(yīng)用場景選擇合適的讀寫一致性策略。具體來說,部署讀寫一致性算法時(shí)將面臨以下挑戰(zhàn):

    (1)為了保證用戶從節(jié)點(diǎn)中讀寫數(shù)據(jù)的正確性,讀寫一致性算法通常要求分布式存儲系統(tǒng)執(zhí)行多次數(shù)據(jù)傳輸操作,以確定存儲節(jié)點(diǎn)的狀態(tài)[3]。這些傳輸操作往往會帶來較大的數(shù)據(jù)讀寫時(shí)延,影響其上在線應(yīng)用對用戶的服務(wù)質(zhì)量。

    (2)讀寫一致性算法通常需要復(fù)雜通信協(xié)議。例如,Raft算法[6]需要選舉主節(jié)點(diǎn)來協(xié)調(diào)存儲節(jié)點(diǎn)共同完成數(shù)據(jù)讀寫操作。在跨數(shù)據(jù)中心場景中,在分布式存儲系統(tǒng)選舉出的主節(jié)點(diǎn)網(wǎng)絡(luò)狀態(tài)較差的情況下,主節(jié)點(diǎn)的通信時(shí)延會嚴(yán)重影響讀寫用戶數(shù)據(jù)的性能[7]。

    (3)讀寫一致性算法需要保證存儲數(shù)據(jù)的可靠性。在出現(xiàn)部分存儲節(jié)點(diǎn)失效的情況下,讀寫一致性算法需要保證分布式存儲系統(tǒng)能完成數(shù)據(jù)讀寫操作[5]。因此,讀寫一致性算法需要設(shè)計(jì)一定的冗余機(jī)制,保證分布式存儲系統(tǒng)可以穩(wěn)定地向用戶端設(shè)備提供存儲服務(wù)。

    3 讀寫一致性算法的實(shí)現(xiàn)機(jī)制

    本節(jié)簡述3種類型讀寫一致性算法實(shí)現(xiàn)機(jī)制。

    3.1 基于中心控制的讀寫一致性算法

    基于中心控制的讀寫一致性算法[1]部署額外的控制節(jié)點(diǎn)來保證讀寫數(shù)據(jù)的正確性。由于實(shí)現(xiàn)較為簡單,該類算法被廣泛部署于分布式存儲系統(tǒng)。例如,HDFS(Hadoop Distributed File System)[1]使用名字節(jié)點(diǎn)(Name Node)和數(shù)據(jù)節(jié)點(diǎn)(Data Node)組成主從結(jié)構(gòu)。

    為了保證讀寫一致性,控制節(jié)點(diǎn)定義主副本(Primacy Replica)和備用副本(Backup Replica)。分布式存儲系統(tǒng)可以根據(jù)主副本所存儲內(nèi)容來確定當(dāng)前值。即使主副本失效,控制節(jié)點(diǎn)依然能根據(jù)多個(gè)備用副本數(shù)據(jù)確定當(dāng)前值,定義新的主副本,保證數(shù)據(jù)可用性。圖2展示了HDFS存儲系統(tǒng)中3副本數(shù)據(jù)寫入過程[1]。

    Figure 2 Write process for three replicas in HDFS

    在數(shù)據(jù)寫入過程中,用戶優(yōu)先寫入元數(shù)據(jù)到控制節(jié)點(diǎn),再更新數(shù)據(jù)節(jié)點(diǎn)中副本內(nèi)容。分布式存儲系統(tǒng)讀取主副本來確定當(dāng)前存儲數(shù)據(jù)的值。當(dāng)數(shù)據(jù)失效時(shí),通過讀取備用副本信息和版本信息能夠恢復(fù)出失效的主副本數(shù)據(jù)。

    基于中心控制的讀寫一致性算法被廣泛應(yīng)用于早期分布式存儲系統(tǒng),以保證數(shù)據(jù)讀寫一致性,如HDFS[1]和GFS(Google File System)[8]。由于數(shù)據(jù)讀寫過程需要訪問控制節(jié)點(diǎn)存儲的元數(shù)據(jù),控制節(jié)點(diǎn)失效往往會嚴(yán)重影響存儲服務(wù)的可用性。

    雖然基于中心控制的讀寫一致性算法能夠保證讀寫數(shù)據(jù)的正確性,但是主副本的存儲節(jié)點(diǎn)往往會成為性能瓶頸,為了保證數(shù)據(jù)寫入的性能,讀寫一致性算法需要引入相應(yīng)的機(jī)制。

    此外,基于中心控制的讀寫一致性算法主要通過控制節(jié)點(diǎn)協(xié)調(diào)其他參與節(jié)點(diǎn)來完成數(shù)據(jù)讀寫操作[1],包括兩階段提交協(xié)議2PC(Two-Phase Commit)[9]和三階段提交協(xié)議3PC(Three-Phase Commit)[10]?;谥行目刂频淖x寫一致性算法依然需要在控制節(jié)點(diǎn)失效時(shí)保證分布式存儲系統(tǒng)能夠正確地執(zhí)行數(shù)據(jù)讀寫操作。

    3.2 基于消息傳遞的讀寫一致性算法

    為了在控制節(jié)點(diǎn)失效的情況下保證分布式存儲系統(tǒng)依然可以有效地完成數(shù)據(jù)讀寫操作,基于消息傳遞的讀寫一致性算法[5]采用存儲節(jié)點(diǎn)投票的方式來將用戶數(shù)據(jù)寫入存儲節(jié)點(diǎn)。

    基于消息傳遞的讀寫一致性算法包括3種類型的節(jié)點(diǎn):提案節(jié)點(diǎn)(Proposer)、仲裁節(jié)點(diǎn)(Acceptor)和學(xué)習(xí)節(jié)點(diǎn)(Learner)。通過滿足以下3個(gè)條件,Paxos算法[5]能保證所有遵守通信協(xié)議的提案(Proposal)執(zhí)行結(jié)果的正確性。

    (1)所有提案有唯一的編號。

    (2)任意2個(gè)提案P1和P2至少有1個(gè)相同的仲裁者。

    (3)對于任意提案P,如果提案P的投票節(jié)點(diǎn)在之前的提案中同意更新變量值,那么提案P設(shè)定的變量值,需要和最近被投過贊成票的提案變量值保持一致。

    根據(jù)上述3個(gè)條件,Paxos算法可以構(gòu)建一個(gè)讀寫一致性的提案集合。這里使用單個(gè)變量實(shí)現(xiàn)一個(gè)案例來說明Paxos算法的投票過程。

    假設(shè)存儲系統(tǒng)中存在5個(gè)仲裁節(jié)點(diǎn)A、B、C、D和E接收到來自存儲系統(tǒng)中提案節(jié)點(diǎn)的5條提案,提案編號為1,6,13,25和31。

    圖3展示了由5個(gè)仲裁節(jié)點(diǎn)參與的Paxos投票過程[5]。其中,用黑體字標(biāo)注的節(jié)點(diǎn)為回復(fù)數(shù)據(jù)值成功執(zhí)行的存儲節(jié)點(diǎn)。這5個(gè)節(jié)點(diǎn)需要在2個(gè)值中選擇1個(gè)值,并將其保存到所有節(jié)點(diǎn)。

    Figure 3 Message delivery-based consensus algorithms

    提案1:第1個(gè)提案雖然有4個(gè)節(jié)點(diǎn)參與了提案的投票過程,但僅有節(jié)點(diǎn)E確認(rèn)了提案信息。因此,提案1未成功通過仲裁階段,無法更新存儲節(jié)點(diǎn)的變量值。

    提案6:由于投票的節(jié)點(diǎn)在之前沒有投過贊成票,提案6可以選擇不同的變量值。但是,只有節(jié)點(diǎn)A確認(rèn)了提案信息,少于半數(shù)以上(即3票),提案6依然沒有通過。

    提案13:由于節(jié)點(diǎn)B、C和D之前提案沒有更新過變量值,提案13可以將變量值更新為任意值。本輪節(jié)點(diǎn)B和節(jié)點(diǎn)D確認(rèn)了該提案,但贊成的票數(shù)依然少于半數(shù),提案13未通過。

    提案25:由于提案節(jié)點(diǎn)收到3個(gè)節(jié)點(diǎn)A、C和D的確認(rèn)信息,提案25是唯一更新變量值成功的提案。其中,節(jié)點(diǎn)A和節(jié)點(diǎn)E分別在提案6和提案1上更新了數(shù)值且提案6的編號更接近提案25的。提案25更新的變量值應(yīng)當(dāng)與提案6所更新的變量值相同。

    提案31:為了保證所有節(jié)點(diǎn)存儲的變量值都相同,存儲節(jié)點(diǎn)需要與其他節(jié)點(diǎn)同步變量值。提案31將已經(jīng)更新的變量值同步到另外2個(gè)節(jié)點(diǎn)。

    在上述例子中,通過滿足3個(gè)讀寫一致性條件,分布式存儲系統(tǒng)可以實(shí)現(xiàn)全局提案集合的讀寫一致性。在實(shí)際存儲系統(tǒng)中,提案節(jié)點(diǎn)需要根據(jù)生成的提案編號,保證所有的存儲節(jié)點(diǎn)可以高效地完成相應(yīng)的數(shù)據(jù)更新操作。

    為了簡化數(shù)據(jù)寫入過程,Paxos算法采用以下步驟來完成數(shù)據(jù)寫入過程:

    (1)準(zhǔn)備階段:提案節(jié)點(diǎn)生成全局唯一的提案編號,向所有的仲裁節(jié)點(diǎn)發(fā)送該編號。仲裁節(jié)點(diǎn)根據(jù)收到的編號信息,判斷是否接受這條提案,相應(yīng)的處理結(jié)果回復(fù)給提案節(jié)點(diǎn)。

    (2)仲裁階段:提案節(jié)點(diǎn)向仲裁節(jié)點(diǎn)發(fā)送提案變量值,仲裁節(jié)點(diǎn)接收變量值后返回確認(rèn)信息。當(dāng)收到大部分仲裁節(jié)點(diǎn)對變量值更新的確認(rèn)消息后,提案節(jié)點(diǎn)標(biāo)記該提案已通過。

    (3)學(xué)習(xí)階段:提案節(jié)點(diǎn)將更新的變量值發(fā)送到?jīng)]有參與到仲裁過程的其他的學(xué)習(xí)節(jié)點(diǎn),從而完成所有存儲節(jié)點(diǎn)變量值的更新操作。

    通過上述步驟,Paxos算法保證了分布式存儲系統(tǒng)讀寫數(shù)據(jù)的正確性。由于讀寫過程中任一節(jié)點(diǎn)都能夠作為提案節(jié)點(diǎn)發(fā)起寫入操作,Paxos算法能夠有效地避免單個(gè)節(jié)點(diǎn)成為性能瓶頸,從而提升數(shù)據(jù)讀寫操作的性能。

    圖4展示了Paxos算法執(zhí)行過程示意圖[12]。

    Figure 4 Transmission process with Paxos

    為了保證全局提案編號的唯一性和有序性,當(dāng)仲裁節(jié)點(diǎn)收到編號為ir的準(zhǔn)備請求后,仲裁節(jié)點(diǎn)將針對接收到的提案作出以下2個(gè)承諾:

    (1)仲裁節(jié)點(diǎn)不再接收提案編號ip小于或等于當(dāng)前提案編號的提案請求。

    (2)仲裁節(jié)點(diǎn)不再接收提案編號i′r小于當(dāng)前提案編號ir的準(zhǔn)備請求。

    雖然基于消息傳遞的讀寫一致性算法可以從理論上保證數(shù)據(jù)讀寫操作的正確性,但是基于消息傳遞的讀寫一致性算法需要較為復(fù)雜的通信規(guī)則,往往會增加實(shí)現(xiàn)算法的難度,難以保證存儲數(shù)據(jù)的可靠性。因此,如何降低Paxos算法實(shí)現(xiàn)的復(fù)雜度,成為了保證數(shù)據(jù)讀寫操作可靠性的關(guān)鍵問題。

    3.3 基于選舉的讀寫一致性算法

    基于選舉的讀寫一致性算法[6]通過在在線節(jié)點(diǎn)中確定主節(jié)點(diǎn)的方式來實(shí)現(xiàn)在保證讀寫數(shù)據(jù)正確性的前提下降低算法復(fù)雜性。這里使用Raft算法[6]作為示例來介紹基于選舉的讀寫一致性算法的執(zhí)行過程。通過從在線從節(jié)點(diǎn)中選舉出主節(jié)點(diǎn),Raft算法能夠保證主從節(jié)點(diǎn)之間的讀寫數(shù)據(jù)一致性。

    圖5展示了Raft算法主從節(jié)點(diǎn)的示意圖[6]。

    Figure 5 Leader and followers node in Raft

    Raft算法包括以下3種類型的節(jié)點(diǎn):從節(jié)點(diǎn)、候選節(jié)點(diǎn)和主節(jié)點(diǎn)。

    通過在存儲節(jié)點(diǎn)中維護(hù)本地狀態(tài)機(jī),Raft算法使用選舉機(jī)制來實(shí)現(xiàn)每個(gè)存儲節(jié)點(diǎn)在從節(jié)點(diǎn)、候選節(jié)點(diǎn)和主節(jié)點(diǎn)3種類型節(jié)點(diǎn)之間的狀態(tài)轉(zhuǎn)換操作。分布式存儲系統(tǒng)需要周期性地執(zhí)行選舉操作來確定主節(jié)點(diǎn),以協(xié)調(diào)數(shù)據(jù)讀寫操作,從而保證提供持續(xù)的數(shù)據(jù)存儲服務(wù)。

    圖6展示了Raft算法選舉過程的狀態(tài)機(jī)[6]。

    Figure 6 State machine of Raft algorithm selection process

    由圖6可知,Raft算法中的存儲節(jié)點(diǎn)通過以下狀態(tài)轉(zhuǎn)移規(guī)則切換其狀態(tài)類型。

    (1)從節(jié)點(diǎn):在分布式存儲系統(tǒng)上線時(shí),所有在線節(jié)點(diǎn)以從節(jié)點(diǎn)狀態(tài)等待進(jìn)入選舉過程。當(dāng)新的選舉周期開始時(shí),從節(jié)點(diǎn)將成為候選節(jié)點(diǎn)參與讀寫一致性算法主節(jié)點(diǎn)投票選舉過程。

    (2)候選節(jié)點(diǎn):候選節(jié)點(diǎn)收到大多數(shù)節(jié)點(diǎn)的支持票后將成為主節(jié)點(diǎn)。當(dāng)發(fā)現(xiàn)分布式存儲系統(tǒng)中已經(jīng)存在主節(jié)點(diǎn)或選舉周期過期時(shí),候選節(jié)點(diǎn)將回退成為從節(jié)點(diǎn)等待下一個(gè)選舉周期,再次參與主節(jié)點(diǎn)選舉過程。

    (3)主節(jié)點(diǎn):在收到大多數(shù)節(jié)點(diǎn)的支持票時(shí),候選節(jié)點(diǎn)會將自己的狀態(tài)設(shè)置為主節(jié)點(diǎn)。為了保證分布式存儲系統(tǒng)主節(jié)點(diǎn)的唯一性,當(dāng)主節(jié)點(diǎn)在通信過程中發(fā)現(xiàn)存在更高優(yōu)先級的主節(jié)點(diǎn)后,會將自己的狀態(tài)設(shè)為從節(jié)點(diǎn)。

    每隔一定周期后,分布式存儲系統(tǒng)會重新選舉主節(jié)點(diǎn),負(fù)責(zé)協(xié)調(diào)存儲節(jié)點(diǎn)處理用戶端發(fā)出的數(shù)據(jù)讀寫請求。

    圖7展示了Raft算法周期示意圖[6]。

    Figure 7 Terms of selection process in Raft algorithm

    雖然Raft算法可以通過選舉過程確定主節(jié)點(diǎn)來解決讀寫一致性問題,分布式存儲系統(tǒng)依然需要通過讀寫主節(jié)點(diǎn)存儲的內(nèi)容來確定保存在分布式存儲系統(tǒng)中的各個(gè)變量的當(dāng)前值。

    Raft算法使用復(fù)制狀態(tài)機(jī)來保證所有的主從節(jié)點(diǎn)數(shù)據(jù)的一致性。圖8展示了Raft算法日志數(shù)據(jù)提交過程[6],包括3個(gè)存儲節(jié)點(diǎn)和2個(gè)變量,變量x和變量y。每一個(gè)日志項(xiàng)包括2部分內(nèi)容,提交時(shí)的周期值和變量的改變值。這里將3個(gè)節(jié)點(diǎn)分別記為主節(jié)點(diǎn)、從節(jié)點(diǎn)1和從節(jié)點(diǎn)2。

    Figure 8 Submission process of Raft algorithm log data

    在圖8中,使用深淺不同的顏色表示在各個(gè)周期中用戶端設(shè)備提交的數(shù)據(jù)寫入請求。為了提升Raft算法的執(zhí)行效率,不同于經(jīng)典的兩階段提交算法,狀態(tài)機(jī)復(fù)制過程中不要求所有在線節(jié)點(diǎn)存儲的日志數(shù)據(jù)都為當(dāng)前最新版本,僅需保證多數(shù)節(jié)點(diǎn)確認(rèn)數(shù)據(jù)寫入,即認(rèn)為存儲系統(tǒng)已提交了變量值。在用戶訪問主節(jié)點(diǎn)存在較大時(shí)延的情況下,主節(jié)點(diǎn)會成為整個(gè)分布式存儲系統(tǒng)數(shù)據(jù)讀寫操作的性能瓶頸。

    3.4 讀寫一致性算法實(shí)現(xiàn)機(jī)制比較

    在部署分布式存儲系統(tǒng)的過程中,開發(fā)人員需要根據(jù)應(yīng)用場景選擇適合的讀寫一致性算法和性能優(yōu)化方案,調(diào)整讀寫一致性算法的存儲和通信機(jī)制來保證數(shù)據(jù)讀寫操作的性能。表1比較了3種類型讀寫一致性算法的實(shí)現(xiàn)難度、算法機(jī)制和容錯(cuò)性方面的特點(diǎn)。

    Table 1 Comparison of the mechanism of different consensus algorithms

    4 讀寫一致性算法性能優(yōu)化方案

    本節(jié)主要綜述使用副本和糾刪碼2種常見的數(shù)據(jù)存儲方案的情況下,讀寫一致性算法的實(shí)現(xiàn)機(jī)制和性能優(yōu)化方案。

    4.1 分布式存儲系統(tǒng)的數(shù)據(jù)存儲機(jī)制

    為了適應(yīng)不同應(yīng)用場景的存儲需求,分布式存儲系統(tǒng)往往采用副本和糾刪碼2種數(shù)據(jù)存儲機(jī)制來保證存儲數(shù)據(jù)的可靠性。

    (1)副本存儲方案:通過將用戶數(shù)據(jù)的多個(gè)副本存儲到多個(gè)存儲節(jié)點(diǎn)來保證數(shù)據(jù)可靠性。

    (2)糾刪碼存儲方案:將用戶數(shù)據(jù)切片生成數(shù)據(jù)分片,編碼數(shù)據(jù)分片生成多個(gè)檢驗(yàn)分片,并將這些分片存儲到多個(gè)存儲節(jié)點(diǎn),從而保證分布式存儲系統(tǒng)的數(shù)據(jù)可靠性。

    4.2 基于副本的讀寫一致性算法性能優(yōu)化

    為了保證存儲在多個(gè)節(jié)點(diǎn)副本數(shù)據(jù)的一致性,研究人員提出了基于消息傳遞的讀寫一致性算法。如Lamport[5]提出了Paxos算法,以保證存儲節(jié)點(diǎn)數(shù)據(jù)的讀寫一致性。文獻(xiàn)[12]介紹了Paxos算法的運(yùn)行機(jī)制。Chandra等[13]討論了證明Paxos算法代碼正確的方法。Lamport[14]提出了異步Paxos算法,通過并行化讀寫數(shù)據(jù)來減小讀寫操作時(shí)延。類似工作還有Fast-Paxos[15]、Vertical Paxos[16]、Cheap-Paxos[17]、DPaxos[18]、Flexible Paxos[19]和EPaxos[20]。然而,這些算法需要使用較為復(fù)雜的讀寫一致性協(xié)議,通常會產(chǎn)生額外的數(shù)據(jù)傳輸開銷,降低分布式存儲系統(tǒng)數(shù)據(jù)讀寫操作的性能。

    為了提升分布式存儲系統(tǒng)讀寫一致性算法的執(zhí)行效率,研究人員提出了多種讀寫一致性算法性能優(yōu)化方案。如Junqueira等[22]提出的ZAB(Zookeeper Atomic Broadcasts)協(xié)議通過廣播機(jī)制來保證讀寫性能。讀寫一致性系統(tǒng)組件ZooKeeper[23]使用ZAB協(xié)議來提升讀寫操作的性能[24]。Brenner等[25]提出了SecureKeeper框架,引入因特爾SGX (Software Guard eXtensions)指令集提升ZAB協(xié)議的安全性。Frommgen等[26]提出在ZooKeeper運(yùn)行過程中切換讀寫一致性算法來保證服務(wù)質(zhì)量。史博軒等[27]使用ZooKeeper構(gòu)建統(tǒng)一信任錨模型。Gray等[28]提出了租約機(jī)制Leases方案來提升緩存服務(wù)的性能。Moraru等[29]使用Go語言實(shí)現(xiàn)了分布式租約機(jī)制[30]。Decandia等[31]提出了Dynamo存儲系統(tǒng),部署了NWR算法[32]來調(diào)整讀寫一致性算法執(zhí)行過程中副本數(shù)量n、寫入副本數(shù)量w和讀取副本數(shù)量r等參數(shù)來適應(yīng)不同的分布式存儲系統(tǒng)應(yīng)用場景。王華進(jìn)等[32]分析了NWR算法在不同參數(shù)情況下隊(duì)列解析開銷和數(shù)據(jù)寫入時(shí)延。Huang等[33]使用排隊(duì)論分析可能導(dǎo)致Cassandra數(shù)據(jù)庫短時(shí)間數(shù)據(jù)不一致的原因。朱濤等[34]總結(jié)了讀寫一致性算法和數(shù)據(jù)可用性的關(guān)系。Wang等[35]通過測試HBase[36]和Cassandra[37]2種常用數(shù)據(jù)庫系統(tǒng)來分析副本數(shù)據(jù)對數(shù)據(jù)讀寫操作性能的影響。類似工作還有Scatter[38]、ZooNet[39]、COPS(Clusters of Order-Preserving Servers)[40]、WPaxos[41]、Spanner-RSS(Spanner Regular Sequential Serializability)[42]、PaxosLease[43]和Volume leases[44]等。

    為了提升存儲系統(tǒng)軟件的可靠性,研究人員使用多種方法來降低基于消息傳遞的讀寫一致性算法的實(shí)現(xiàn)復(fù)雜度。如Lamport等[45]使用了可重設(shè)置狀態(tài)機(jī)來實(shí)現(xiàn)讀寫一致性算法,并證明了其算法的正確性。Ongaro等[6]提出了Raft算法來實(shí)現(xiàn)主節(jié)點(diǎn)選舉和主從節(jié)點(diǎn)數(shù)據(jù)同步過程。Lampson[4]分別總結(jié)了Paxos在經(jīng)典讀寫一致性問題、磁盤讀寫一致性問題和拜占庭讀寫一致性問題場景的案例。這些讀寫一致性機(jī)制也被部署到了ZooKeeper[23]和Chubby[46]等分布式讀寫一致性管理系統(tǒng)中。

    在此基礎(chǔ)上,研究人員針對各種分布式存儲系統(tǒng)應(yīng)用場景提出了相應(yīng)的讀寫一致性算法性能優(yōu)化方案。如Li等[47]提出了NOPaxos(Network Ordered Paxos),使用網(wǎng)絡(luò)層廣播協(xié)議來減少讀寫一致性算法執(zhí)行過程的數(shù)據(jù)傳輸開銷。Mahmoud等[48]提出了Replicated Commit來提升跨數(shù)據(jù)中心通信性能。Nawab等[49]推導(dǎo)出了跨數(shù)據(jù)中心數(shù)據(jù)提交過程消耗時(shí)間下限。Guo等[50]設(shè)計(jì)了面向SQL語義的讀寫一致性方案來提升并行化事務(wù)處理性能。類似工作還有Dynamo[31]、Cassandra[37]、MegaStore[51]、Spanner[52]、FSS (File Storage Service)[53]、Volley[54]、Harp[55]、Mencius[56]、etcd[57]和MDCC(Multi-Data Center Consistency)[58]等。雖然能保證讀寫數(shù)據(jù)的一致性,基于副本的讀寫一致性算法在執(zhí)行過程中需要傳輸大量的用戶數(shù)據(jù),會帶來較大的數(shù)據(jù)傳輸開銷。為了保障數(shù)據(jù)讀寫操作的執(zhí)行效率,糾刪碼作為一種能減少傳輸開銷的機(jī)制被用于減少讀寫過程中的傳輸開銷。

    4.3 基于糾刪碼的讀寫一致性算法性能優(yōu)化

    糾刪碼作為一種常見的數(shù)據(jù)可靠性保障機(jī)制被廣泛部署到了分布式存儲系統(tǒng)中來保存用戶數(shù)據(jù)。如Reed等[59]提出了RS(Reed-Solomon)編碼來保證數(shù)據(jù)可靠性。Dimakis等[60]提出了再生碼來減少數(shù)據(jù)修復(fù)操作的網(wǎng)絡(luò)傳輸開銷。Shum等[61]提出了合作再生編碼來減少多節(jié)點(diǎn)失效時(shí)數(shù)據(jù)修復(fù)操作的網(wǎng)絡(luò)傳輸開銷。Huang等[62]提出了LRC (Local Reconstruction Codes)來減少單存儲節(jié)點(diǎn)數(shù)據(jù)失效情況下數(shù)據(jù)修復(fù)操作的網(wǎng)絡(luò)開銷。Shen等[63]使用網(wǎng)絡(luò)編碼來加速云際存儲系統(tǒng)數(shù)據(jù)寫入操作的性能。類似的工作還有Core[64]、CaCo(Cauchy Coding)[65]、PUSH[66]、AONT-RS(All-Or-Nothing Transform with Reed-Solomon coding)[67]、CAONT-RS(Convergent AONT-RS)[68]、CDStore[69]、UniDrive[70]和RDOR(Row-Diagonal Optimal Recovery)[71]等。

    為了保證數(shù)據(jù)讀寫操作的執(zhí)行效率,研究人員提出了基于糾刪碼的讀寫一致性算法來減少數(shù)據(jù)讀寫過程中傳輸?shù)臄?shù)據(jù)量。如Mu等[72]提出了RS-Paxos算法,引入了糾刪碼機(jī)制來減少Paxos算法執(zhí)行過程中數(shù)據(jù)傳輸量。Wang等[73]提出了CRaft算法來將Raft算法部署到糾刪碼存儲系統(tǒng)中。由于基于選舉的讀寫一致性算法需要通過主節(jié)點(diǎn)讀寫數(shù)據(jù),會降低網(wǎng)絡(luò)傳輸性能,Uluyol等[7]提出了Pando方案來高效部署Paxos算法,優(yōu)化糾刪碼存儲系統(tǒng)跨數(shù)據(jù)中心的數(shù)據(jù)讀寫時(shí)延,且已被應(yīng)用到了聯(lián)邦學(xué)習(xí)[74]等場景中。通過傳輸編碼后的用戶數(shù)據(jù),基于糾刪碼的讀寫一致性算法能夠有效減少執(zhí)行數(shù)據(jù)讀寫操作過程中網(wǎng)絡(luò)帶寬資源的消耗量。然而,糾刪碼也帶來了數(shù)據(jù)修復(fù)操作帶寬消耗量大和數(shù)據(jù)讀寫操作消耗時(shí)間長等一系列問題[75]。

    為了保證數(shù)據(jù)可靠性,提升用戶讀寫數(shù)據(jù)的效率,研究人員提出了多種性能優(yōu)化方案提升在各個(gè)應(yīng)用場景中糾刪碼存儲系統(tǒng)執(zhí)行數(shù)據(jù)修復(fù)操作和數(shù)據(jù)讀寫操作的性能。Chen等[76]提出了Giza來保證跨數(shù)據(jù)中心的糾刪碼對象存儲系統(tǒng)的數(shù)據(jù)讀寫一致性。Chen等[77]提出了副本和糾刪碼混合存儲方案來提升內(nèi)存對象存儲系統(tǒng)的數(shù)據(jù)讀寫操作性能。Sathiamoorthy等[75]將再生碼部署到HDFS存儲系統(tǒng)中,以減少數(shù)據(jù)修復(fù)操作的網(wǎng)絡(luò)傳輸開銷。Shen等[78]提出了跨機(jī)架的路由方案來加速多個(gè)存儲節(jié)點(diǎn)的數(shù)據(jù)寫入過程。Shi等[79]設(shè)計(jì)了UMR-EC(Unified and Multi-Rail Erasure Coding)編碼架構(gòu)優(yōu)化數(shù)據(jù)讀寫操作的執(zhí)行過程。Renesse等[80]綜述了Paxos算法相關(guān)讀寫一致性算法。

    4.4 讀寫一致性算法性能比較

    為了滿足應(yīng)用場景的存儲需求,開發(fā)人員需要了解讀寫一致性算法的系統(tǒng)開銷和相應(yīng)的實(shí)現(xiàn)機(jī)制。本節(jié)將分析各種讀寫一致性算法的存儲空間和容錯(cuò)性能。本節(jié)將容錯(cuò)節(jié)點(diǎn)數(shù)量定義為在執(zhí)行數(shù)據(jù)讀寫操作過程中容忍失效節(jié)點(diǎn)的數(shù)量,該參數(shù)越大說明讀寫一致性算法可以在越多節(jié)點(diǎn)失效的情況下執(zhí)行讀寫操作。

    表2比較了主要讀寫一致性算法的存儲開銷、容錯(cuò)節(jié)點(diǎn)數(shù)量及其實(shí)現(xiàn)機(jī)制。表2中,存儲開銷代表存儲數(shù)據(jù)所消耗磁盤空間大小,n為存儲節(jié)點(diǎn)的數(shù)量,r為設(shè)定讀取節(jié)點(diǎn)的數(shù)量,k為數(shù)據(jù)節(jié)點(diǎn)的數(shù)量。假設(shè)用戶將數(shù)據(jù)量為M字節(jié)的文件保存到n個(gè)存儲節(jié)點(diǎn)中。分布式存儲系統(tǒng)能夠使用副本和糾刪碼機(jī)制通過以下步驟完成數(shù)據(jù)讀寫操作:

    在副本存儲情況下,每一個(gè)節(jié)點(diǎn)的數(shù)據(jù)量為M字節(jié)。由于存在n個(gè)節(jié)點(diǎn),分布式存儲系統(tǒng)共存儲了n*M字節(jié)數(shù)據(jù)。由于所有節(jié)點(diǎn)都保存和傳輸重復(fù)數(shù)據(jù),副本機(jī)制通常會消耗大量存儲空間和網(wǎng)絡(luò)帶寬,影響數(shù)據(jù)讀寫操作的性能。在糾刪碼存儲情況下,用戶端設(shè)備將文件分成k個(gè)數(shù)據(jù)分片,將數(shù)據(jù)分片編碼生成m個(gè)校驗(yàn)分片,并存儲到n=k+m個(gè)存儲節(jié)點(diǎn)中。其中,每一個(gè)存儲節(jié)點(diǎn)將保存M/k字節(jié)數(shù)據(jù),所以n個(gè)存儲節(jié)點(diǎn)共保存(n*M)/k字節(jié)數(shù)據(jù)。

    Table 2 Comparison of performance of different consensus algorithms

    由于糾刪碼機(jī)制將數(shù)據(jù)編碼保存到多個(gè)存儲節(jié)點(diǎn),相較于副本機(jī)制,分布存儲系統(tǒng)能夠在消耗更小的存儲空間的前提下保存相同的數(shù)據(jù)內(nèi)容。然而,基于糾刪碼的讀寫一致性算法需要更多在線節(jié)點(diǎn)和更大計(jì)算開銷才能正確地完成數(shù)據(jù)讀寫操作,降低了存儲數(shù)據(jù)的可用性。

    5 應(yīng)用場景對讀寫性能的影響

    本節(jié)將比較2種應(yīng)用場景(即單數(shù)據(jù)中心分布式存儲系統(tǒng)和跨數(shù)據(jù)中心云際存儲系統(tǒng))中影響讀寫一致性算法性能的因素。

    5.1 讀寫一致性算法的應(yīng)用場景

    開發(fā)人員需要充分了解各種算法的性能,才能選擇適合當(dāng)前存儲應(yīng)用場景的讀寫一致性算法。具體來說,讀寫一致性算法部署在以下2種分布式存儲應(yīng)用場景:

    (1)單數(shù)據(jù)中心分布式存儲系統(tǒng):在寫入數(shù)據(jù)量較大的情況下,前端服務(wù)器數(shù)據(jù)寫入和數(shù)據(jù)同步過程消耗的時(shí)間占數(shù)據(jù)寫入時(shí)間的很大一部分[8]。為了保證讀寫數(shù)據(jù)的性能,開發(fā)人員需要優(yōu)化讀寫操作執(zhí)行流程,以減少數(shù)據(jù)讀寫過程中的網(wǎng)絡(luò)通信開銷。

    (2)跨數(shù)據(jù)中心云際存儲系統(tǒng):為了避免單數(shù)據(jù)中心可能出現(xiàn)的數(shù)據(jù)泄露和丟失等問題,跨數(shù)據(jù)中心云際存儲系統(tǒng)將數(shù)據(jù)存儲在多個(gè)數(shù)據(jù)中心。由于數(shù)據(jù)被存儲在不同地理位置的云存儲節(jié)點(diǎn),需要充分考慮各個(gè)云存儲節(jié)點(diǎn)之間的傳輸時(shí)延。

    5.2 單數(shù)據(jù)中心分布式存儲系統(tǒng)

    由于單數(shù)據(jù)中心需要運(yùn)行多種業(yè)務(wù),存儲節(jié)點(diǎn)之間的可用帶寬通常非常有限。圖9展示了包括1個(gè)用戶和4個(gè)存儲節(jié)點(diǎn)的分布式存儲系統(tǒng)的數(shù)據(jù)寫入操作的執(zhí)行過程:

    在圖9a中,不同的存儲節(jié)點(diǎn)之間帶寬具有較大的差異性,需要充分利用用戶端設(shè)備和存儲節(jié)點(diǎn)之間的帶寬資源。

    圖9b展示了傳統(tǒng)數(shù)據(jù)寫入方案的路由。由于用戶端設(shè)備直接將數(shù)據(jù)寫入到存儲節(jié)點(diǎn),寫入過程通常會受到瓶頸鏈路帶寬的限制。

    在圖9c中,通過合理設(shè)計(jì)數(shù)據(jù)傳輸路由,分布式存儲系統(tǒng)可以有效避開網(wǎng)絡(luò)拓?fù)涞钠款i鏈路,保證數(shù)據(jù)寫入操作的性能。

    5.3 跨數(shù)據(jù)中心云際存儲系統(tǒng)

    為了保證在跨數(shù)據(jù)中心場景中數(shù)據(jù)讀寫操作的性能,部署讀寫一致性算法時(shí),存儲系統(tǒng)設(shè)計(jì)人員需要注意以下要點(diǎn):

    (1)為了保證用戶訪問的性能,前端服務(wù)器應(yīng)當(dāng)盡量靠近存儲節(jié)點(diǎn),減少網(wǎng)絡(luò)傳輸時(shí)延。

    (2)任意2個(gè)前端服務(wù)器至少需要訪問1個(gè)公共的存儲節(jié)點(diǎn)來保證數(shù)據(jù)一致性。

    圖10展示了跨數(shù)據(jù)中心數(shù)據(jù)讀寫過程。

    Figure 9 Example of the route strategies for the write operations in distributed storage systems

    Figure 10 I/O process of the consensus algorithms between multiple data centers

    在實(shí)際的云際存儲系統(tǒng)中,前端服務(wù)器訪問保存在不同存儲節(jié)點(diǎn)的數(shù)據(jù)的傳輸時(shí)延往往存在著較大差異性,因此,前端服務(wù)器需要選擇訪問傳輸時(shí)延較小的存儲節(jié)點(diǎn),以保證對用戶數(shù)據(jù)訪問操作的服務(wù)質(zhì)量。

    6 讀寫一致性算法部署建議和展望

    本節(jié)將總結(jié)部署讀寫一致性算法需注意的要點(diǎn)以及學(xué)術(shù)研究和工業(yè)領(lǐng)域亟需解決的問題。

    6.1讀寫一致性算法部署建議

    在實(shí)際的生產(chǎn)系統(tǒng)中,開發(fā)人員在部署讀寫一致性算法時(shí)應(yīng)當(dāng)注意以下方面:

    (1)根據(jù)應(yīng)用場景中數(shù)據(jù)寫入請求數(shù)據(jù)量大小的差異,開發(fā)人員需要分析讀寫一致性算法中各個(gè)階段在數(shù)據(jù)讀寫操作中的時(shí)間占比。為了保證數(shù)據(jù)讀寫操作的執(zhí)行效率,分布式存儲系統(tǒng)需要根據(jù)數(shù)據(jù)讀寫操作的特征部署合適的讀寫一致性策略和性能優(yōu)化方案。

    (2)根據(jù)分布式存儲系統(tǒng)的數(shù)據(jù)存儲機(jī)制,開發(fā)人員需要選擇合適的讀寫一致性算法來滿足存儲應(yīng)用的性能需求。由于副本和糾刪碼存儲機(jī)制有較大的差異,分布式存儲系統(tǒng)需要部署對應(yīng)的讀寫一致性算法來適應(yīng)各種存儲機(jī)制下數(shù)據(jù)讀寫操作的性能。

    (3)根據(jù)應(yīng)用網(wǎng)絡(luò)環(huán)境的特性,包括傳輸時(shí)延和網(wǎng)絡(luò)帶寬,開發(fā)人員需要優(yōu)化讀寫一致性算法的通信機(jī)制來減小數(shù)據(jù)傳輸帶來的開銷。針對不同的存儲應(yīng)用場景,分布式存儲系統(tǒng)需要引入相應(yīng)的傳輸策略來減小讀寫一致性算法數(shù)據(jù)讀寫操作的傳輸開銷。

    6.2 讀寫一致性算法研究工作展望

    雖然當(dāng)前讀寫一致性算法能保證數(shù)據(jù)讀寫操作的性能,但是當(dāng)前讀寫一致性算法依然存在諸多問題,如網(wǎng)絡(luò)適應(yīng)能力弱和難以適應(yīng)不同大小的數(shù)據(jù)讀寫請求。為了滿足用戶讀寫性能需求,需要部署以下優(yōu)化方案:

    (1)高自適應(yīng)存儲機(jī)制:隨著承載服務(wù)類型的增加,業(yè)務(wù)系統(tǒng)通常提供多種不同的在線服務(wù)。由于單獨(dú)使用副本機(jī)制和糾刪碼機(jī)制適合的應(yīng)用場景有限,分布式存儲系統(tǒng)需部署多種存儲機(jī)制融合的讀寫一致性算法,動(dòng)態(tài)調(diào)整其存儲機(jī)制,以適應(yīng)日益復(fù)雜的應(yīng)用場景。

    (2)動(dòng)態(tài)調(diào)整網(wǎng)絡(luò)路由策略:由于存儲節(jié)點(diǎn)之間的網(wǎng)絡(luò)通常存在較大異構(gòu)性,讀寫一致性算法需要根據(jù)分布式存儲系統(tǒng)的網(wǎng)絡(luò)狀態(tài)調(diào)整存儲節(jié)點(diǎn)之間的網(wǎng)絡(luò)路由策略,以保證分布式存儲系統(tǒng)數(shù)據(jù)讀寫操作的性能。

    (3)構(gòu)建智能讀寫一致性算法:在執(zhí)行當(dāng)前讀寫一致性算法過程中,存儲節(jié)點(diǎn)通常使用固定通信協(xié)議來保證讀寫操作的正確性,難以滿足服務(wù)質(zhì)量需求。通過引入人工智能方案分析過往的用戶行為和存儲集群狀態(tài),智能讀寫一致性算法能夠有效提升數(shù)據(jù)讀寫操作的性能。

    6.3 工業(yè)界讀寫一致性算法性能優(yōu)化展望

    雖然當(dāng)前工業(yè)界已廣泛部署了讀寫一致性組件庫(如ZooKeeper[23])來保證分布式存儲系統(tǒng)執(zhí)行數(shù)據(jù)讀寫操作的正確性,但是這些組件庫存在應(yīng)用場景單一和讀寫開銷較大等問題,依然有以下值得進(jìn)一步開展研究的方向:

    (1)測試讀寫一致性算法性能: 雖然研究人員已開展了大量的讀寫一致性算法性能優(yōu)化工作,但現(xiàn)有研究中依然缺少對讀寫一致性算法的性能定量測試比較工作。根據(jù)讀寫一致性算法的實(shí)現(xiàn)機(jī)制,亟需構(gòu)建大量定量系統(tǒng)性實(shí)驗(yàn)來充分測量讀寫一致性算法的性能,便于開發(fā)人員選擇適合存儲應(yīng)用場景的讀寫一致性算法。

    (2)構(gòu)建副本和編碼混合讀寫一致性機(jī)制:由于不同存儲機(jī)制適用的應(yīng)用場景具有較大的差異,現(xiàn)有適用單一存儲機(jī)制的讀寫一致性算法難以滿足多種用戶的數(shù)據(jù)讀寫需求,設(shè)計(jì)副本和編碼混合的讀寫一致性算法將會有效擴(kuò)大讀寫一致性算法的適用范圍。

    (3)引入新硬件設(shè)備減少讀寫開銷:隨著新的時(shí)鐘硬件(如銫原子鐘[81])在數(shù)據(jù)中心的應(yīng)用,存儲節(jié)點(diǎn)可精確地獲取當(dāng)前時(shí)間,更容易實(shí)現(xiàn)時(shí)鐘同步操作。如何構(gòu)建適應(yīng)新存儲硬件設(shè)備的讀寫一致性方案也將成為提升讀寫操作性能的重要研究方向。

    7 結(jié)束語

    本文綜述了分布式存儲系統(tǒng)中的讀寫一致性算法的實(shí)現(xiàn)機(jī)制,并分析了這些算法適宜的應(yīng)用場景,從而為開發(fā)人員部署讀寫一致性算法提供了相應(yīng)的理論依據(jù)。在總結(jié)讀寫一致性算法挑戰(zhàn)性的基礎(chǔ)上,還總結(jié)了讀寫一致性算法主要的實(shí)現(xiàn)方案,綜述了相關(guān)的性能優(yōu)化工作。在此基礎(chǔ)上,本文分析了單數(shù)據(jù)中心分布式存儲系統(tǒng)和多數(shù)據(jù)中心云際存儲系統(tǒng)2種應(yīng)用場景中各種參數(shù)對讀寫一致性算法數(shù)據(jù)寫入操作性能的影響,并給出了在這些應(yīng)用場景中部署讀寫一致性算法需注意的要點(diǎn),展望了未來可能的性能優(yōu)化方案。

    猜你喜歡
    一致性
    注重整體設(shè)計(jì) 凸顯數(shù)與運(yùn)算的一致性
    遼寧教育(2022年19期)2022-11-18 07:20:42
    關(guān)注減污降碳協(xié)同的一致性和整體性
    公民與法治(2022年5期)2022-07-29 00:47:28
    商用車CCC認(rèn)證一致性控制計(jì)劃應(yīng)用
    注重教、學(xué)、評一致性 提高一輪復(fù)習(xí)效率
    對歷史課堂教、學(xué)、評一體化(一致性)的幾點(diǎn)探討
    IOl-master 700和Pentacam測量Kappa角一致性分析
    基于CFD仿真分析的各缸渦流比一致性研究
    ONVIF的全新主張:一致性及最訪問控制的Profile A
    方形截面Rogowski線圈的一致性分析
    電測與儀表(2016年7期)2016-04-12 00:22:18
    基于事件觸發(fā)的多智能體輸入飽和一致性控制
    黄色一级大片看看| 午夜福利网站1000一区二区三区| 国产欧美日韩综合在线一区二区| 中国国产av一级| 日韩免费高清中文字幕av| 97精品久久久久久久久久精品| videos熟女内射| 亚洲精品美女久久av网站| 国产免费一级a男人的天堂| 亚洲欧美成人综合另类久久久| 国产精品一区二区在线不卡| 少妇 在线观看| 亚洲国产毛片av蜜桃av| 美女脱内裤让男人舔精品视频| 91国产中文字幕| 国产男女内射视频| 免费日韩欧美在线观看| 少妇精品久久久久久久| 国产有黄有色有爽视频| 亚洲av男天堂| 日韩欧美精品免费久久| 国产爽快片一区二区三区| 日日摸夜夜添夜夜添av毛片| 一级,二级,三级黄色视频| 桃花免费在线播放| 91在线精品国自产拍蜜月| 久久久久国产精品人妻一区二区| 国产精品国产av在线观看| 免费观看在线日韩| 99久久中文字幕三级久久日本| 啦啦啦中文免费视频观看日本| 午夜激情福利司机影院| 国产午夜精品一二区理论片| 男的添女的下面高潮视频| av免费在线看不卡| 亚洲精品国产av成人精品| 亚洲人成网站在线播| 亚洲国产精品999| 久久久久久久久久久久大奶| 亚洲一级一片aⅴ在线观看| 亚洲,一卡二卡三卡| 久久久久国产精品人妻一区二区| 夜夜爽夜夜爽视频| 亚洲国产精品一区二区三区在线| 久久人人爽人人爽人人片va| av不卡在线播放| 丝瓜视频免费看黄片| 伊人久久精品亚洲午夜| av福利片在线| 国产免费视频播放在线视频| 亚洲图色成人| 免费高清在线观看日韩| 精品国产乱码久久久久久小说| 黄片播放在线免费| 亚洲欧美日韩另类电影网站| 99久久人妻综合| 国产日韩欧美视频二区| 国产 一区精品| 久久久久久久久久久久大奶| 亚洲精品日韩在线中文字幕| 91aial.com中文字幕在线观看| 人人妻人人澡人人看| 日韩三级伦理在线观看| 伦理电影免费视频| 国产综合精华液| 好男人视频免费观看在线| 精品久久久精品久久久| 日韩 亚洲 欧美在线| 成人二区视频| 国产日韩欧美亚洲二区| 亚洲精品久久成人aⅴ小说 | 老女人水多毛片| 国产一区二区三区综合在线观看 | 男人操女人黄网站| 久久 成人 亚洲| 如何舔出高潮| 国产男女超爽视频在线观看| 黑人高潮一二区| 99久久精品国产国产毛片| 涩涩av久久男人的天堂| 在线看a的网站| 九九久久精品国产亚洲av麻豆| 亚洲内射少妇av| 美女xxoo啪啪120秒动态图| 亚洲精品国产av成人精品| 精品亚洲乱码少妇综合久久| 日本-黄色视频高清免费观看| 国产成人91sexporn| 91精品国产国语对白视频| 欧美亚洲日本最大视频资源| 亚洲成色77777| 一区二区av电影网| 亚洲精品久久午夜乱码| 晚上一个人看的免费电影| 在线精品无人区一区二区三| 国产精品偷伦视频观看了| 国产视频首页在线观看| 在线免费观看不下载黄p国产| 日韩精品免费视频一区二区三区 | 亚洲精品日韩av片在线观看| 亚洲成人手机| 欧美精品高潮呻吟av久久| 国产熟女欧美一区二区| 精品久久久久久久久av| 成年人午夜在线观看视频| 亚洲av成人精品一区久久| 亚洲第一区二区三区不卡| 97超视频在线观看视频| 亚洲欧美一区二区三区国产| 久久久久久久久久成人| 免费观看a级毛片全部| 亚洲美女视频黄频| av不卡在线播放| 欧美一级a爱片免费观看看| 寂寞人妻少妇视频99o| 精品久久蜜臀av无| 亚洲精品第二区| 另类亚洲欧美激情| 男人操女人黄网站| 最后的刺客免费高清国语| 国产日韩欧美亚洲二区| a级毛片在线看网站| 久久ye,这里只有精品| 久久人人爽人人片av| 久久亚洲国产成人精品v| 一区二区三区精品91| 人人澡人人妻人| 国产黄色视频一区二区在线观看| 国产精品99久久久久久久久| 99热网站在线观看| 精品人妻熟女av久视频| 伊人久久精品亚洲午夜| 又大又黄又爽视频免费| 亚洲综合精品二区| 男女无遮挡免费网站观看| 男女啪啪激烈高潮av片| 有码 亚洲区| 国产精品99久久99久久久不卡 | 18禁在线播放成人免费| 亚洲av综合色区一区| 国产在线视频一区二区| 国产精品国产三级国产av玫瑰| 亚洲av免费高清在线观看| 老女人水多毛片| 亚洲av日韩在线播放| 日本猛色少妇xxxxx猛交久久| 欧美精品亚洲一区二区| 人妻制服诱惑在线中文字幕| 成人国产麻豆网| 色视频在线一区二区三区| 亚洲欧美清纯卡通| 水蜜桃什么品种好| 国产深夜福利视频在线观看| 国产午夜精品一二区理论片| 肉色欧美久久久久久久蜜桃| 26uuu在线亚洲综合色| 国产日韩一区二区三区精品不卡 | 久久婷婷青草| 最近中文字幕2019免费版| 欧美日韩视频精品一区| 亚洲欧洲日产国产| 久久韩国三级中文字幕| 久久99热6这里只有精品| 国产色婷婷99| 亚洲人成77777在线视频| 成人黄色视频免费在线看| 国产精品欧美亚洲77777| a级毛色黄片| 亚洲精品美女久久av网站| 亚洲伊人久久精品综合| 最近2019中文字幕mv第一页| 五月开心婷婷网| 我的女老师完整版在线观看| 久久人人爽人人片av| 不卡视频在线观看欧美| 精品久久蜜臀av无| 丝袜在线中文字幕| 满18在线观看网站| av在线播放精品| av黄色大香蕉| av在线观看视频网站免费| 国产成人免费无遮挡视频| 精品人妻一区二区三区麻豆| 这个男人来自地球电影免费观看 | 国产精品久久久久久久电影| av天堂久久9| 亚洲av不卡在线观看| 亚洲成色77777| 欧美精品国产亚洲| 丝袜在线中文字幕| 欧美精品一区二区大全| 久久综合国产亚洲精品| 精品亚洲成国产av| 一级,二级,三级黄色视频| 亚洲精品久久午夜乱码| 亚洲av成人精品一区久久| 亚洲精品日韩在线中文字幕| 一区二区三区乱码不卡18| 精品视频人人做人人爽| 人人妻人人澡人人看| 99久国产av精品国产电影| 久久毛片免费看一区二区三区| 国产一区二区三区av在线| av卡一久久| 精品久久久噜噜| 这个男人来自地球电影免费观看 | 91久久精品电影网| 日日爽夜夜爽网站| 赤兔流量卡办理| 最黄视频免费看| av电影中文网址| 欧美变态另类bdsm刘玥| 少妇人妻久久综合中文| 人妻系列 视频| 少妇高潮的动态图| 国产亚洲欧美精品永久| 在线亚洲精品国产二区图片欧美 | 国产乱来视频区| 成人免费观看视频高清| 精品久久久久久久久av| 伊人久久国产一区二区| 国产精品偷伦视频观看了| 18禁在线无遮挡免费观看视频| 国产淫语在线视频| 国产一区二区在线观看日韩| 曰老女人黄片| 欧美最新免费一区二区三区| 美女xxoo啪啪120秒动态图| 日日啪夜夜爽| 亚洲美女黄色视频免费看| 一区二区三区乱码不卡18| 午夜免费男女啪啪视频观看| 一本色道久久久久久精品综合| 久久精品夜色国产| 国产熟女欧美一区二区| 国产黄片视频在线免费观看| 日韩精品免费视频一区二区三区 | 各种免费的搞黄视频| 少妇熟女欧美另类| 看十八女毛片水多多多| av天堂久久9| av黄色大香蕉| 成人手机av| 一区二区三区免费毛片| 国产毛片在线视频| 久久人人爽人人爽人人片va| 99久久人妻综合| 男女边摸边吃奶| 在线观看免费高清a一片| 国产无遮挡羞羞视频在线观看| 黑丝袜美女国产一区| 亚洲精品国产色婷婷电影| 99热这里只有精品一区| 人体艺术视频欧美日本| av免费在线看不卡| 国产精品人妻久久久久久| 亚洲成人av在线免费| 欧美日韩在线观看h| 亚洲国产av新网站| 国产片内射在线| 男人爽女人下面视频在线观看| 如何舔出高潮| 中国美白少妇内射xxxbb| 亚洲精品久久久久久婷婷小说| 多毛熟女@视频| 色婷婷久久久亚洲欧美| 国产高清三级在线| 高清黄色对白视频在线免费看| 五月伊人婷婷丁香| 久久鲁丝午夜福利片| 亚洲一区二区三区欧美精品| 国产视频首页在线观看| 秋霞在线观看毛片| 午夜影院在线不卡| 91久久精品电影网| 九色成人免费人妻av| 久久久久网色| 男女无遮挡免费网站观看| 日韩熟女老妇一区二区性免费视频| 久久精品人人爽人人爽视色| 亚洲熟女精品中文字幕| 欧美日韩视频高清一区二区三区二| 三级国产精品片| 久久亚洲国产成人精品v| 在线观看免费日韩欧美大片 | 晚上一个人看的免费电影| 精品少妇黑人巨大在线播放| 91国产中文字幕| 免费观看性生交大片5| 国产精品蜜桃在线观看| 国产在线免费精品| 草草在线视频免费看| 最后的刺客免费高清国语| 又黄又爽又刺激的免费视频.| 成人手机av| 国产老妇伦熟女老妇高清| 亚洲国产精品999| 久久久久视频综合| 亚洲av在线观看美女高潮| av在线观看视频网站免费| 欧美 亚洲 国产 日韩一| 久久鲁丝午夜福利片| 国产精品欧美亚洲77777| 国产乱人偷精品视频| 91国产中文字幕| 国产精品久久久久久精品电影小说| 亚洲成色77777| 美女xxoo啪啪120秒动态图| 男人添女人高潮全过程视频| 亚洲一级一片aⅴ在线观看| 特大巨黑吊av在线直播| 国产午夜精品久久久久久一区二区三区| 亚洲av免费高清在线观看| 成人免费观看视频高清| 日本爱情动作片www.在线观看| 精品视频人人做人人爽| av又黄又爽大尺度在线免费看| 久久久久久久大尺度免费视频| 天天躁夜夜躁狠狠久久av| 亚洲国产最新在线播放| 国产精品.久久久| 久久久久人妻精品一区果冻| 日韩一区二区视频免费看| 久久久久久伊人网av| 免费看av在线观看网站| 婷婷色麻豆天堂久久| 最后的刺客免费高清国语| 国产探花极品一区二区| 搡老乐熟女国产| 午夜影院在线不卡| 色吧在线观看| 久久精品国产a三级三级三级| 国产一区二区三区av在线| 狂野欧美激情性bbbbbb| 成人毛片a级毛片在线播放| 一级毛片我不卡| 欧美日本中文国产一区发布| 亚洲情色 制服丝袜| 久热这里只有精品99| 亚洲怡红院男人天堂| 国产精品嫩草影院av在线观看| 免费黄频网站在线观看国产| 人妻人人澡人人爽人人| 晚上一个人看的免费电影| 99国产精品免费福利视频| 一区二区三区精品91| 国产精品女同一区二区软件| 欧美 日韩 精品 国产| 人人妻人人澡人人爽人人夜夜| 五月玫瑰六月丁香| 51国产日韩欧美| 日韩,欧美,国产一区二区三区| 日日撸夜夜添| 人妻少妇偷人精品九色| 麻豆成人av视频| 国产精品秋霞免费鲁丝片| 午夜老司机福利剧场| 欧美97在线视频| 午夜日本视频在线| 最近中文字幕高清免费大全6| 亚洲少妇的诱惑av| 亚洲精品乱码久久久久久按摩| 国产高清有码在线观看视频| 欧美日韩视频高清一区二区三区二| 一级二级三级毛片免费看| 在现免费观看毛片| 久久婷婷青草| 寂寞人妻少妇视频99o| 欧美少妇被猛烈插入视频| 一边摸一边做爽爽视频免费| 国产在线视频一区二区| 18禁裸乳无遮挡动漫免费视频| 最近2019中文字幕mv第一页| 人妻制服诱惑在线中文字幕| 日韩三级伦理在线观看| 少妇熟女欧美另类| 女人久久www免费人成看片| 中国三级夫妇交换| 免费黄色在线免费观看| 国产精品.久久久| 一边亲一边摸免费视频| 超碰97精品在线观看| 精品国产一区二区三区久久久樱花| 日本猛色少妇xxxxx猛交久久| 亚洲国产欧美日韩在线播放| av网站免费在线观看视频| 中文字幕精品免费在线观看视频 | 午夜日本视频在线| 大香蕉97超碰在线| 久久久久久久久久人人人人人人| 亚洲高清免费不卡视频| 久久国产精品大桥未久av| 精品少妇内射三级| 久久久久久久久久久免费av| 大片免费播放器 马上看| 少妇被粗大的猛进出69影院 | 在现免费观看毛片| 国产在线一区二区三区精| 两个人的视频大全免费| 91精品伊人久久大香线蕉| 国产又色又爽无遮挡免| 免费播放大片免费观看视频在线观看| 少妇熟女欧美另类| 精品熟女少妇av免费看| 中国国产av一级| 黑人巨大精品欧美一区二区蜜桃 | 亚洲欧美精品自产自拍| 亚洲av电影在线观看一区二区三区| 自线自在国产av| 日韩一本色道免费dvd| 免费观看性生交大片5| 精品视频人人做人人爽| av福利片在线| 丝袜脚勾引网站| 大香蕉久久网| 国产精品免费大片| 蜜桃久久精品国产亚洲av| 母亲3免费完整高清在线观看 | 欧美老熟妇乱子伦牲交| av福利片在线| 欧美精品亚洲一区二区| 午夜福利在线观看免费完整高清在| 国产亚洲精品久久久com| 夜夜看夜夜爽夜夜摸| 性色avwww在线观看| 熟女电影av网| 国产老妇伦熟女老妇高清| 欧美精品一区二区大全| 国产成人aa在线观看| 久久久亚洲精品成人影院| 午夜激情福利司机影院| 成人手机av| 美女视频免费永久观看网站| 久久久久精品久久久久真实原创| 97在线人人人人妻| 成人国产av品久久久| 成人国产av品久久久| 国产精品免费大片| 18+在线观看网站| 久久久久人妻精品一区果冻| 精品少妇黑人巨大在线播放| 卡戴珊不雅视频在线播放| 波野结衣二区三区在线| 最近手机中文字幕大全| 国产一区二区三区综合在线观看 | 中国国产av一级| 丝袜喷水一区| av免费观看日本| 人妻少妇偷人精品九色| 久久国产精品大桥未久av| 色视频在线一区二区三区| 狂野欧美激情性bbbbbb| 一个人看视频在线观看www免费| 国产男人的电影天堂91| 99热这里只有精品一区| 亚洲精品日韩在线中文字幕| 婷婷色综合www| 国产在线视频一区二区| 2018国产大陆天天弄谢| 成年av动漫网址| 大香蕉久久成人网| 五月天丁香电影| 亚洲经典国产精华液单| 丰满迷人的少妇在线观看| 夜夜爽夜夜爽视频| 精品国产一区二区久久| 在线观看www视频免费| 纵有疾风起免费观看全集完整版| 春色校园在线视频观看| 欧美精品人与动牲交sv欧美| 国产69精品久久久久777片| 最黄视频免费看| 亚洲av在线观看美女高潮| 亚洲精品乱久久久久久| 黑人巨大精品欧美一区二区蜜桃 | 狂野欧美白嫩少妇大欣赏| 91精品三级在线观看| 日韩av免费高清视频| 在线观看人妻少妇| 亚洲国产av影院在线观看| 国产无遮挡羞羞视频在线观看| 亚洲欧美精品自产自拍| 国产av国产精品国产| 亚洲精华国产精华液的使用体验| 97超视频在线观看视频| 久久久久久人妻| 国产精品一国产av| 国产精品久久久久成人av| 十八禁网站网址无遮挡| 综合色丁香网| videosex国产| 亚洲精品日本国产第一区| freevideosex欧美| 狠狠精品人妻久久久久久综合| 国产成人免费观看mmmm| 国产亚洲精品第一综合不卡 | 亚洲内射少妇av| 熟女av电影| 久久青草综合色| 色网站视频免费| 人妻人人澡人人爽人人| 久久女婷五月综合色啪小说| 国产成人a∨麻豆精品| av.在线天堂| 性色avwww在线观看| 国产精品一区二区三区四区免费观看| 久久久久久久精品精品| 插逼视频在线观看| 日韩 亚洲 欧美在线| 男人操女人黄网站| videos熟女内射| 一级a做视频免费观看| 熟女av电影| 久久韩国三级中文字幕| 人妻夜夜爽99麻豆av| 国产精品国产三级国产专区5o| 男女啪啪激烈高潮av片| 曰老女人黄片| 亚洲精品国产av成人精品| 久久久精品免费免费高清| 精品久久蜜臀av无| 亚洲国产精品国产精品| 少妇丰满av| 久久久久久人妻| 成人国产麻豆网| 热re99久久精品国产66热6| 满18在线观看网站| 亚洲高清免费不卡视频| 亚洲国产日韩一区二区| 亚洲,一卡二卡三卡| 精品少妇黑人巨大在线播放| 午夜激情久久久久久久| 免费少妇av软件| 免费播放大片免费观看视频在线观看| 免费看av在线观看网站| 2022亚洲国产成人精品| 最近2019中文字幕mv第一页| 我的老师免费观看完整版| 欧美 亚洲 国产 日韩一| 一级毛片黄色毛片免费观看视频| 欧美日韩国产mv在线观看视频| 91久久精品电影网| 国产精品久久久久久久久免| 亚洲欧美色中文字幕在线| 国产片内射在线| 成人免费观看视频高清| 精品一区二区三区视频在线| 男人操女人黄网站| 欧美精品高潮呻吟av久久| 成人18禁高潮啪啪吃奶动态图 | 菩萨蛮人人尽说江南好唐韦庄| 久久精品熟女亚洲av麻豆精品| 黄片播放在线免费| 在线天堂最新版资源| 亚洲精品成人av观看孕妇| 少妇人妻 视频| 美女中出高潮动态图| 精品少妇久久久久久888优播| 国产精品久久久久久久电影| 国产乱来视频区| 日本vs欧美在线观看视频| 久久久精品免费免费高清| 日日爽夜夜爽网站| 国产女主播在线喷水免费视频网站| 婷婷成人精品国产| 国产精品人妻久久久影院| 国产成人一区二区在线| 夜夜骑夜夜射夜夜干| 在线观看免费日韩欧美大片 | 亚洲精品国产色婷婷电影| 国产免费现黄频在线看| 精品人妻熟女av久视频| 最新中文字幕久久久久| 午夜免费观看性视频| 亚洲,一卡二卡三卡| 两个人的视频大全免费| 亚洲av不卡在线观看| 啦啦啦在线观看免费高清www| 国产探花极品一区二区| 国产精品熟女久久久久浪| 制服诱惑二区| 精品久久久噜噜| 精品少妇久久久久久888优播| 午夜福利在线观看免费完整高清在| 欧美3d第一页| 国产精品人妻久久久影院| 亚洲在久久综合| 一本一本综合久久| 欧美人与性动交α欧美精品济南到 | 日韩大片免费观看网站| 国产伦理片在线播放av一区| 人妻人人澡人人爽人人| 久久99精品国语久久久| 免费黄频网站在线观看国产| 国产精品女同一区二区软件| 天堂中文最新版在线下载| 欧美亚洲日本最大视频资源| 自拍欧美九色日韩亚洲蝌蚪91| 亚洲精品美女久久av网站| 中文乱码字字幕精品一区二区三区| 欧美日韩视频精品一区| 中文字幕久久专区| 一二三四中文在线观看免费高清| 91久久精品电影网| 内地一区二区视频在线| 国产亚洲午夜精品一区二区久久| 成人免费观看视频高清| 午夜激情福利司机影院| 七月丁香在线播放| 91精品一卡2卡3卡4卡| 精品久久久精品久久久| av播播在线观看一区| 免费少妇av软件| 日日摸夜夜添夜夜爱| 精品人妻偷拍中文字幕|