Quorum (分布式系统)

✍ dations ◷ 2025-11-20 02:50:24 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 大气河流大气河流是大气中由高浓度水蒸气形成的狭窄区域。大气河流经由狭窄通路输送水蒸气,通常沿着大面积的分散表面空气流动的边界,包括与在海洋上形成的热带气旋相关的一些额外区域
  • 冲突冲突,是指两个个体的需求、价值观念和利益引致实际或想像的反对表现。冲突可以是内部(自己内心)或外部(两个或以上的个人或团体)的。尽管所有的文化都注重和平,和平是普世价值之一
  • 居里居里(英语:Curie,符号:Ci),表示单位时间内发生衰变的原子核数。根据衰变,有:− d N N
  • Missoni米索尼(Missoni)是意大利的一个奢侈针织品品牌,总部位于意大利瓦雷泽。1953年,它由奥塔维奥·米索尼和罗西塔·米索尼(Rosita Missoni)创立于意大利加拉拉泰。经过安娜·皮亚姬的
  • 唱片音乐专辑(英语:Album),或简称为“专辑”,也有部分地区称呼为“大碟”,指的是多个音频录音作品以CD、唱片、录音带等介质为载体发布的单个项目的统称,一般指含有至少10个音轨的唱片
  • 降雨降水是指在大气中冷凝的水汽以不同方式下降到地球表面的天气现象。大气中的水汽几乎全部集中于对流层中,温度越高,大气可以容纳的水汽含量就越多,反之就越少。一定温度下,当空气
  • 鸟卫一哈勃望远镜/第三代广域照相机S/2015 (136472) 1是柯依伯带矮行星鸟神星已知唯一的卫星,昵称MK 2,尚未正式命名,按照卫星命名习惯推定正式中文名称将为“鸟卫一”。2015年4月,研
  • 脑穹窿脑穹窿(英文:Fornix of the brain),是起自海马内侧的连合纤维,弓形向后上至胼胝体下方,在中线两侧合成穹窿体,再向前分开形成两侧的穹窿柱,分别止于乳头体。穹窿破坏术是颞叶癫痫手
  • 埼玉县第10区埼玉县第10区是日本众议院的选区,设立于1994年。北海道 13 | 山形县 4 | 静冈县 9 | 岛根县 3 | 大分县 4福井县 3 | 山梨县 3 | 德岛县 3 | 高知县 3 | 佐贺县 3青森县 4 |
  • 巴塞勒·阿萨德巴塞勒·阿萨德(阿拉伯语:باسل الأسد‎,1962年3月23日-1994年1月21日)是叙利亚军事和政治人物,是已故前总统哈菲兹·阿萨德的长子,现任总统巴沙尔·阿萨德的哥哥,已在一场