Quorum (分布式系统)

✍ dations ◷ 2025-12-10 06:51:33 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 昭君出塞王昭君(前51年-前15年),名嫱,字昭君,西汉南郡秭归(今湖北省兴山县)人,汉元帝时期的宫女、和亲女性,古代四大美人的落雁,成语中“沉鱼落雁”、“画工弃市”记载她的生平典故。晋朝时为避
  • 突尼斯全国对话四方集团突尼斯全国对话四方集团(阿拉伯语:الحوار الوطني‎;法语:Quartet du dialogue national)是突尼斯四个公民团体组成的对话联盟,其目标是计划在2011年茉莉花革命发生后,
  • 噶玛兰族噶玛兰族(噶玛兰语:Kebalan、Kbalan。书写系统制定前惯以 Kavalan 拼音),为台湾的平埔族原住民,主要分布于:冬山河域、三星乡、壮围乡、宜兰县的宜兰市、罗东镇的罗东、苏澳镇的苏
  • 符号上位效应异位(上位)显性是一个基因表现与另外一个或者几个基因改变的现象。决定表现型的基因叫做“上位”,而表型与其它基因改变的基因叫做“下位”。异位(上位)显性与一般的显性不同,一般
  • 工漂族“工漂族”是指近年来农民工群体尤其是新生代劳动力务工周期短、频繁换工的一种现象。职业流动是指劳动者在不同职业之间的变动,是劳动者放弃又获得劳动角色的过程。工漂族的
  • 第六装甲军团第六铁臂军团(英语:Legio VI Ferrata)古罗马军队建制名称。建立于公元前52年并存在了两个世纪。该军团曾先后参加蒙达战役(英语:Battle of Munda)、罗马-波斯战争等一系列相关军事
  • 中国下一代互联网示范工程中国下一代互联网示范工程(英语:China Next Generation Internet,简称CNGI)启动于2003年,是中国大陆的IPv6的启动工程,也是目前世界上最大的纯IPv6互联网。其核心网由中国教育网(CE
  • 察隅假毛蕨察隅假毛蕨(学名:)为金星蕨科假毛蕨属下的一个种。
  • 秘鲁总督辖区秘鲁总督辖区(西班牙语:Virreinato del Perú),是西班牙在美洲的四个总督辖区之一。1533年西班牙征服秘鲁,于1542年成立秘鲁总督辖区,首府利马,统治西属南美洲。1718年从秘鲁总督辖
  • 2016年大韩民国反朴槿惠示威结束示威队2016年10月29日 12,000(警方估计) 30,000 (组织者和媒体估计) 2016年11月5日 45,000(警方估计) 200,000 (组织者和媒体估计) 2016年11月12日 260,000(警方估计) 1,000,000 (