Quorum (分布式系统)

✍ dations ◷ 2025-12-02 03:08:32 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 衣原体衣原体门(学名:Chlamydiae)是一门细菌。它们的生长完全在其它生物的细胞内进行,是专性寄生菌。衣原体原先多被归入衣原体属(Chlamydia),随着分子生物学发展,目前根据系统发育树分
  • 口服避孕药避孕药,全称口服避孕药,通常是指一类给女性服用用于生育控制的药物。男用口服避孕药正在研究中,尚未商品化。有两种广泛使用的女用口服避孕药:另外还有事后使用的紧急避孕药:其
  • 波米叔叔的前世今生《能召回前世的布米叔叔》(泰语:ลุงบุญมีระลึกชาติ,英语:Uncle Boonmee Who Can Recall His Past Lives),于2010年5月在戛纳电影节首映,由泰国导演阿彼察邦·韦拉
  • 蒙特塞拉特·卡芭叶玛丽亚·德蒙特塞拉特·维维安娜·康塞普西翁·卡芭叶-富尔克(加泰罗尼亚语:María de Montserrat Viviana Concepción Caballé i Folc,1933年4月12日-2018年10月6日),常简称蒙
  • 乔迪·威廉斯乔迪·威廉斯(英语:Jody Williams,1950年10月9日-),是一位美国教师和社会活动家,也是1997年诺贝尔和平奖获得者。1972年威廉斯在佛蒙特大学获得学士学位,之后几年她先后在墨西哥和英
  • SAAB 210SAAB 210 () 是瑞典的SAAB公司为了开发 J35 龙式,验证二重三角翼机概念而制造的缩小型的测试平台。虽然SAAB对于本机并没有给予"龙"这个官方名以外的任何其他名字,但是在SAAB
  • 玛丽·特蕾丝·路易丝 (朗巴勒亲王妃)玛丽·特蕾丝·路易丝·德·萨伏伊-卡里尼亚南,朗巴勒亲王妃(法语:Marie Thérèse Louise de Savoie-Carignan, princesse de Lamballe,1749年9月8日-1792年9月3日),是意大利萨伏
  • 智利风铃草智利风铃草(学名:),又称戈比爱野百合,是垂花科智利风铃草属的植物。原产于智利南部的森林里,是智利的国花。智利风铃草属内只有智利风铃草这一个种。长绿性的攀缘植物,攀附在其他树
  • 湖南科学技术出版社湖南科学技术出版社是一家中国湖南省的出版社,1979年成立于长沙,侧重出版科学类和技术类图书。除主打的科学技术类图书外,该社出版的图书还涵盖医学、经管、生活及教材等领域,年
  • 间歇性神经病间歇性神经病是一个法律概念,而不是精神医学概念。医学上的精神病,会有不同时期的间歇期,当间歇期结束,精神病症状完全消失才能认为是精神正常;在法律上就具有完全责任能力少数呈