Quorum (分布式系统)

✍ dations ◷ 2025-04-03 11:34:05 #投票,算法

Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。

在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝。但是同一时刻一个数据对象的多份拷贝只能用于读或者用于写。

该算法可以保证同一份数据对象的多份拷贝不会被超过两个访问对象读写。

算法来源于。 分布式系统中的每一份数据拷贝对象都被赋予一票。每一个读操作获得的票数必须大于最小读票数(read quorum)(Vr),每个写操作获得的票数必须大于最小写票数(write quorum)(Vw)才能读或者写。如果系统有V票(意味着一个数据对象有V份冗余拷贝),那么最小读写票数(quorum)应满足如下限制:

第一条规则保证了一个数据不会被同时读写。当一个写操作请求过来的时候,它必须要获得Vw个冗余拷贝的许可。而剩下的数量是V-Vw 不够Vr,因此不能再有读请求过来了。同理,当读请求已经获得了Vr个冗余拷贝的许可时,写请求就无法获得许可了。

第二条规则保证了数据的串行化修改。一份数据的冗余拷贝不可能同时被两个写请求修改。

在分布式系统中,冗余数据是保证可靠性的手段,因此冗余数据的一致性维护就非常重要。一般而言,一个写操作必须要对所有的冗余数据都更新完成了,才能称为成功结束。比如一份数据在5台设备上有冗余,因为不知道读数据会落在哪一台设备上,那么一次写操作,必须5台设备都更新完成,写操作才能返回。

对于写操作比较频繁的系统,这个操作的瓶颈非常大。Quorum算法可以让写操作只要写完3台就返回。剩下的由系统内部缓慢同步完成。而读操作,则需要也至少读3台,才能保证至少可以读到一个最新的数据。

Quorum的读写最小票数可以用来做为系统在读、写性能方面的一个可调节参数。写票数Vw越大,则读票数Vr越小,这时候系统读的开销就小。反之则写的开销就小。

相关

  • 音位音位(英语:Phoneme),又译音素,是人类语言中能够区别意义的最小声音单位,是音位学分析的基础概念。一个字或词可由一至数个音节组成,一个音节可由一至数个“音段”(元音、辅音等)组成
  • dsDNA脱氧核糖核酸病毒(英语:DNA virus),又称DNA病毒,其遗传物质为DNA。一般为正链DNA病毒。医学导航: 病毒病病毒(蛋白质)/分类cutn/syst (hppv/艾滋病, 流感/疱疹/人畜共患)/人名体
  • 社会统计调查社会统计调查有时也被称作“社会调查”或“调查研究”,但它与中文里的“社会调查”是有区别的,社会调查泛指针对特定的议题收集相关的社会资料与数据的过程,而统计调查则专指对
  • 怪兽卡车怪兽卡车(英语:monster truck)是一种改装车,为配上巨型轮胎和引擎的皮卡车,70年代末美国对皮卡车改装的热潮方兴未艾,其中轮胎商鲍勃钱德勒创造了怪兽卡车的原型,当时听说美军要采
  • 凯旋站 (台湾)凯旋站是高雄捷运红线的捷运车站,位于高雄市前镇区中山四路及凯旋四路路口,邻近前镇聚落,站点在古代近前镇庄的顶社(又称顶厝仔、顶前镇)、中社聚落;而站名即取自凯旋四路,在规划
  • 磷酸锂磷酸锂是一种无机化合物,化学式为Li3PO4,难溶于水,更难溶于氨水。可溶性锂盐和磷酸盐反应,可以得到磷酸锂沉淀:磷酸锂可以用作一些有机反应的催化剂。
  • 广播控股公司广播控股公司(日语:放送持株会社/ほうそうもちかぶがいしゃ)是控股公司的一种,指的是日本拥有广播免许执照(日语:無線局免許状)的广播台旗下的纯粹控股公司。为了防止一家广播公司控
  • 120元之春 ¥120 Stories《120元之春 ¥120 Stories》(120円の春 ¥120Stories)是Interchannel于2005年2月24日发售的PlayStation 2用电子小说类型美少女游戏。《120元之春 ¥120 Stories》是由《120
  • 像猪一样的女子《像猪一样的女子》(韩语:돼지 같은 여자;英语:My Sister, The Pig Lady)是2015年9月上映的一部韩国电影。讲述一个因为白带鱼消失的没落渔村,剩下来的三名年轻女子与一位年轻青年
  • 宝恩宝恩(1777年-1802年),满洲爱新觉罗氏。清朝睿慎亲王。豫通亲王多铎五子多尔博后裔、豫恪亲王如松之孙、睿恭亲王淳颖之长子。第四任睿亲王(1801年-1802年)。乾隆四十三年(1778年),清高