Quorum (分布式系统)

✍ dations ◷ 2025-11-22 14:39:03 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • S/TICD-10 第十九章:损伤、中毒和外因的某些其他后果,即国际疾病与相关健康问题统计分类第十版的第十九个编码分系统(从S00-T98),其中包括了损伤、中毒和某些确定外因的后果,及其分类
  • 白血症白血病(拉丁语:leukemia,/luːˈkiːmiːə/)是一群癌症种类的统称,英文名称来自于古希腊语,λευκός(leukos,白色)与αἷμα(haima,血液)的组合。 它通常发病于骨髓,造成不正常白血
  • 科学方法科学方法(英语:scientific method)指的是检查自然现象、获取新知识或修正与整合先前已得的知识,所使用的一整套技术。为了合乎科学精神,这方法必须建立于收集可观察、可经验(empir
  • 运输部坐标:40°6′33″N 125°53′47″E / 40.10917°N 125.89639°E / 40.10917; 125.89639 (Onjong-ri)英国交通部(英语:Department for Transport,通常叫作DfT)是英国负责英格兰海
  • 金郡金县(英语:King County)是美国华盛顿州的一个县,县都西雅图。根据美国商务部2017年人口普查估算,县人口为2,188,649人,其中高加索人占61.1%、亚裔占17.4%、拉丁裔占9.5%、非裔占6.
  • 三多商圈高雄三多商圈,以三多路以及中山路为商圈主要干道,和梦时代商圈、五福商圈、巨蛋商圈并列高雄四大商圈,为台湾高雄市在1990年代至2000年代开始兴起的商圈。在新光三越百货和太平
  • 旧金山四十九人国家橄榄球联盟(1950年至今)联会冠军(7)分区冠军(21)旧金山四九人(San Francisco 49ers,又译旧金山淘金者) 是美国国家橄榄球联盟球队。成立于1946年,最初作为全美橄榄球联合会(AAFC)
  • 黑龙江城瑷珲新城遗址位于中国黑龙江省黑河市爱辉区瑷珲镇,即清康熙二十三年(1684年)所建黑龙江城,亦称瑷珲新城。1683年至1684年,清政府在精奇里江与黑龙江交汇的瑷珲河畔,明朝忽里平寨旧
  • 宗贞国宗贞国(1422年-1494年8月18日),幼名彦七,日本室町时代中期至战国时代武将,对马国守护大名,宗氏第11代当主,官位刑部少辅。他是第9代当主宗贞盛之弟宗盛国次子,后被第十代当主宗成职过
  • 辽南专区辽南专区,中华人民共和国辽宁省已撤销的行政区,在今辽宁省南部。1965年置,专员公署驻盖县(今盖州市)。辖原属营口市的盖县、营口2县;原属旅大市的金县、新金、复县3县及原属鞍山市