Quorum (分布式系统)

✍ dations ◷ 2025-11-23 16:54:21 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 茴香醛茴香醛,是一种芳香醛,无色透明油状液体,易溶于乙醇;乙醚;丙酮;氯仿等,溶于苯,不溶于水。能随水蒸汽挥发。
  • 当选2005年伊朗总统选举是伊朗总统穆罕默德·哈塔米任期届满后进行的一次例行的总统选举,是伊朗历史上第九次总统选举,根据宪法,总统任期四年,最多可连任一次。千名初始候选人经宪法
  • 末昂语末昂语别称么昂语、末昂话、么昂话,是彝族的支系末昂人使用的本民族语言。末昂人自称“.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","
  • 曲面在数学(拓扑学)中,一个曲面(surface)是一个二维流形。三维空间中的例子有三维实心物体的边界。流体的表面,例如雨滴或肥皂泡是一种理想化的曲面。关于雪花的表面,它有很多精细的结
  • 栗是壳斗科栗属(学名:)中的乔木或灌木总称,大约有八九种,原生于北半球温带地区,大部分种类栗树都是20-40米高的落叶乔木,只有少数是灌木。各种栗树都结可以食用的坚果,单叶,椭圆或长
  • 东郊及伊拉瓦拉线东郊及伊拉瓦拉线(英语:Eastern Suburbs & Illawarra Line)是一条来往悉尼东区与伊拉瓦拉的区域铁路,为悉尼城市铁路所管理。它亦同时接驳一条通往卧龙岗(Wollongong)的南海岸线。
  • 司马相司马相(?-?),字邦柱,浙江绍兴府会稽县人,儒籍,明朝政治人物。浙江乡试第五十四名。正德十六年,登进士第二甲第八十三名。官至按察使司佥事。曾祖父司马敬;祖父司马坛;父亲司马公�。母张氏
  • 萨尔瓦托雷·阿卡多萨尔瓦托雷·阿卡多(Salvatore Accardo,1941年9月26日-),意大利小提琴家、作曲家。阿卡多精于演奏帕格尼尼、巴赫与韦华第作品。曾获得帕格尼尼小提琴大赛。是第一个录制帕格尼尼
  • 联合国安理会1817号决议联合国安理会1817号决议是联合国安全理事会于2008年6月11日在第5907次会议上通过的一项决议。该决议关切阿富汗的安全局势,塔利班等组织进行的持续暴力和恐怖活动、以及非法
  • TTG岩石奥长花岗岩-英云闪长岩-花岗闪长岩或TTG岩石是侵入岩,典型具有花岗质组分(石英或长石)只含少量钾长石。奥长花岗岩、英云闪长岩、花岗闪长岩指示了类似的岩石成因(英语:petrogene