Quorum (分布式系统)

✍ dations ◷ 2025-09-09 17:21:19 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 乏燃料池乏核燃料是经受过辐射照射、使用过的核燃料,通常是由核电站的核反应堆产生。这种燃料无法继续维持核反应。乏核燃料中仍然包含有大量的放射性元素,因此具有放射性,如果不加以妥
  • 中北美洲及加勒比海运动会中美洲及加勒比海运动会(英语:Central American and Caribbean Games)是一个中美洲及加勒比海地区综合性运动会,每四年举行一次。首届中美洲及加勒比海运动会于1926年于墨西哥的
  • span class=nowrapRhClsub3/sub/span三氯化铑(化学式:RhCl3),IUPAC名称氯化铑(III),是最常见和最稳定的铑的氯化物,室温下为暗红色的固体。它是从其他铂系元素中分离铑时的产物。无水三氯化铑为聚合分子,与氯化铝类质
  • 自尊心自我肯定(英语:Self-esteem)的定义为:“自我能力和自我喜爱程度”,即自尊。在心理学上,自尊感可以是个体对他人形象的主观感觉,可以是过分的或不合理的。一般来说,心理健康的人自尊
  • 梦的解析梦的解析(德语:Die Traumdeutung)(或译作释梦)是西格蒙德·弗洛伊德的一本著作,第一版出版于1899年11月。该书开创了弗洛伊德的“梦的解析”理论,被作者本人描述为“理解潜意识心理
  • 船长船长是船舶上拥有航行执照中最高阶的航海指挥官。船长的职责在于维护全船的安全及有效的运作,包括乘载货物的管理维护、航行、船员管理以及确保船舶符合港口国及国际公约之规
  • 局部态密度局部态密度(Local density of states) (LDOS)是指在实空间分布的态密度。它可以通过扫描隧道显微镜得到,也可以在已知晶体结构和材料特性的情况下,通过计算机仿真得到,比如密度
  • 万松书院万松书院位于中国浙江省杭州市上城区凤凰山西麓孔家山万松岭上,三面环山,左江右湖,为明弘治十一年(1498)浙江右参政周木以报恩寺故址(始建于唐贞元年间)改建,因其地而得名。清康熙十
  • 安蒂莎·赫维沙娃安蒂莎·赫维沙娃(Antisa Khvichava,1880年7月8日-2012年9月30日) 据称是世界史上最长命的人,但存有争议。赫维沙娃年轻时以采摘茶叶和粟米维生,有一个60岁儿子米哈伊尔、12名孙儿
  • 曹可凡曹可凡(1963年7月27日-),SMG上海文广新闻传媒集团电视节目主持人、同济大学客座教授、上海慈善基金会形象大使。曹可凡自1987年相继在上海电视台及东方电视台主持《大学生节目》