Quorum (分布式系统)

✍ dations ◷ 2025-12-06 06:00:07 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 丹尼尔·克莱普纳丹尼尔·克莱普纳(英语:Daniel Kleppner,1932年10月16日-),美国物理学家。他是麻省理工学院纪念莱斯特·沃尔夫物理学教授和麻省理工学院 - 哈佛超冷原子中心的共同主任。克莱普纳
  • 治具治具是一个木工、铁工、以及其他一些手工艺品的大类工具,主要是作为协助控制位置或动作(或两者)的一种工具。此名称是由英文“jig”音译而成的日文汉字“治具”而来。同样的工
  • II型干扰素结构 / ECOD II型干扰素只有干扰素伽玛(干扰素-γ, Interferon-γ)一个成员。 成熟的干扰素伽玛蛋白是反平行二聚体,可以与结合到干扰素伽玛受体(IFNGR),干扰素伽玛受体由两个亚基
  • 欧猪五国欧猪五国(英语:PIIGS),亦作黑猪五国或五小猪国,是国际经济界媒体对欧洲联盟五个相对较弱的经济体的贬称。这个称呼涵盖葡萄牙(Portugal)、意大利(Italy)、爱尔兰(Ireland)、希腊(Greece)
  • 合股线合股线是一种细绳或粗线,它由两股或多股更细的纱线缠绕而成。可用于制造合股线的天然纤维(英语:Natural fiber)包括羊毛、棉花、剑麻、黄麻、麻、黄条龙舌兰和椰子纤维。也可以
  • 2NB2NB (韩语:투앤비)是韩国Friday娱乐于2006年3月成立的女子二人重唱团体。2NB的意思为“两色的R&B”,号称是女子版的“Fly to the Sky”。原始成员为金嘉熙与许率智。2007年金嘉
  • 深度同源性在演化发育生物学中,深度同源性被用以形容生物体的生长(英语:Cell growth)和分化过程受控于一类同源基因机制的情况,这一类机制在不同物种之间具有高度保守性。1822年,法国动物学
  • 杰佛瑞·伯比奇杰佛瑞·罗纳德·伯比奇,FRS(英语:Geoffrey Ronald Burbidge,1925年9月24日-2010年1月26日),英国天文学家,最后工作地点是美国圣地牙哥加利福尼亚大学。妻子是天文学家玛格丽特·伯
  • 多维尔菊石见内文多维尔菊石(学名:),又名多味蕾角石,是生存在白垩纪海洋中的一属菊石,为多维尔菊石亚科的模式属。它们的游泳能力很差。其化石分布全世界,在非洲、亚洲、欧洲和美洲都有发现。
  • 省 (阿尔及利亚)省(阿拉伯语:ولاية‎,wilāya;法语:wilaya;英语:province)是阿尔及利亚的一级行政单位,下辖区(دائرة‎)及市镇(مدينة‎)。阿尔及利亚共有58个省份,各省以省会城市名称命名