Quorum (分布式系统)

✍ dations ◷ 2025-11-16 00:17:09 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 偶极矩在电磁学里,有两种偶极子(dipole):偶极子的性质可以用它的偶极矩描述。电偶极矩( p {\displaystyle \mathbf {p} }
  • 奇虎360360(全称“三六零安全科技股份有限公司”)(上交所:601360)是中国大陆的一家主营安全相关的互联网公司,由周鸿祎于2005年9月成立。公司口号是“引领中国互联网开放潮流” 旗下的产
  • 木桶桶是一种圆柱形的容器,传统上以木材制成,称为木桶,但现时不少桶都是以金属或塑胶制成。桶通常用作盛载液体之用,如啤酒、原油等。
  • 汉代汉代音系,是指公元一、二世纪的汉朝时期的上古汉语(中原汉语,即官方语言)的音韵体系。“汉语”之名也由此而来。汉朝前期的西汉在时间上距离秦朝不远,而现有历史资料无法充分考证
  • 关税联盟欧洲(深灰)  —比荷卢联盟(前称比荷卢经济联盟,也经常称呼为荷比卢)是由3个相邻的君主立宪西欧国家:荷兰、比利时和卢森堡组成的联盟,为低地国。原名Benelux是一混成词,由三国的名
  • 亚马孙亚马逊可以指:
  • 詹姆斯·赫克曼詹姆斯·约瑟夫·赫克曼(英语:James Joseph Heckman,1944年4月19日-),美国芝加哥大学经济学家,芝加哥经济学派成员。由于他在计量经济学和微观经济学的贡献与丹尼尔·迈克尔法登一
  • 熔岩台地熔岩台地或称熔岩高原,通常是由高流动性的岩浆由一大群裂缝中渗透出来形成,渐渐流动而平坦覆盖在地表上,如:澎湖玄武岩方山。
  • 韦恩·奥德斯尼克韦恩·奥德斯尼克(Wayne Odesnik,1985年11月21日-)是一位美国职业网球运动员,2004年转职业。
  • KaitoKAITO是山叶以VOCALOID语音合成引擎为基础开发CRYPTON FUTURE MEDIA贩售的虚拟歌手软件第二作,或此软件的印象角色(这只是软件的象征,不会在实际使用时出现)。于2006年2月发售,开