Quorum (分布式系统)

✍ dations ◷ 2025-04-04 11:26:08 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 冷却塔冷却塔(Cooling tower),火力发电厂、核能发电厂、大型空调设备和制冷设备的循环水冷却装置,冷却水塔又称冷却塔,是一种排热装置,利用将水流冷却到较低的温度,再将系统中的热量排放
  • 美因茨大学约翰内斯·谷登堡-美因茨大学(德语:Johannes Gutenberg-Universität Mainz),简称美因茨大学,位在德国莱茵兰-普法尔茨州首府美因茨市,以西方活字印刷术发明人约翰内斯·谷登堡之
  • 末端裸子植物末端裸子植物(学名:Acrogymnospermae)指的是由松柏门、苏铁门、银杏门、买麻藤门四个类群组成的现生裸子植物演化支,按照目前的研究,其在演化上构成单系群。
  • 西澳洋流西澳洋流(英语:West Australian Current或Western Australian Current),是位于南冰洋及南印度洋表面的寒流,具季节性,于冬季较弱,夏季较强,而且受当地风势影响。西澳寒流位于澳大利
  • 君子协定《君子协定》(英语:Gentleman's Agreement)是一部于1947年上映的美国剧情电影,由伊利亚·卡赞执导。本片改编自劳拉·Z·霍布森(英语:Laura Z. Hobson)的畅销同名小说《君子协定(英
  • 南头南头(英语:Nam Tau/Nantou)是一个位于中国深圳南山区的治所,是一座历史古城,又是附近区域市中心。自公元331年设城起,有千多年的历史,在南方海防及政治都有重要地位。南头位于南头半
  • 符腾堡王国符腾堡王国 (德语:Königreich Württemberg)为1806年至1918年间的德国一成员邦国,位于现今巴登-符登堡邦。这个王国是由符腾堡公国(1495年至1806年)升格而来。公元1495年以前,符腾
  • 依恩奥酒店依恩奥酒店(英语:Eastern & Oriental Hotel,泰米尔语:கிழக்கு மற்றும் ஓரியண்டல் விடுதி,简称E&O酒店),又称槟城东方大酒店、槟城东家酒店,是一座具有
  • 我们从何处来?我们是谁?我们向何处去?《我们从何处来?我们是谁?我们向何处去?》(法语:)是保罗·高更于1897年12月完成的一幅布上油画,仍然以塔希提岛为背景。此画是高更最大幅、最有名的杰作。据画家所言,它是“直接画在
  • 小银芋小银芋(学名:)为竹芋科肖竹芋属下的一个园艺栽培种,多年生草本。叶丛生,长椭圆形。叶面银灰色,中肋及侧脉为浅绿,叶背及叶柄则是红褐色。叶柄具短毛茸,在同属中显得相当特殊。