Quorum (分布式系统)

✍ dations ◷ 2025-06-30 06:03:20 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 颈(neck),又称脖子,是身体的一部分,通常指在生物中,身体连接头和躯干之间的那一部分。假如颈部被折断,该生物便会死亡。颈头钮 别称-颈喉钮 通常别人称恤衫最顶的那一钮叫颈头钮人
  • 量子技术量子技术(英语:Quantum Technology)是一门新兴的物理和工程领域,它的原理基于量子力学的种种特性,如量子纠缠、量子叠加和量子隧穿 ,应用在如量子计算、量子传感器、量子密码学 、
  • 胎龄胎龄可以指:
  • 江东郡江东郡,又称吴郡,中国古郡名。战国时期楚国的宣王十五年(前335年)设立,大约位于钱塘江以西的越国故地,为楚灭越之后设立,治所在吴越故都姑苏。其可能辖境为东至于海,包括今天的苏南
  • 安阳师范学院安阳师范学院,(英语:Anyang Normal University,简称:安阳师院、AYNU),创办于1908年,初称彰德府安阳县师范传习所,此后经过数度整合,1949年7月被平原省人民政府命名为平原省立安阳师范
  • 亨利二世 (法兰西)亨利二世(法语:Henri II,1519年3月31日-1559年7月10日),法国瓦卢瓦王朝国王(1547年—1559年在位)和布列塔尼公爵。弗朗索瓦一世次子,母为法兰西的克洛德。生于巴黎西郊的圣日耳曼昂莱
  • 猫目小僧《猫目小僧》(ねこめこぞう),是楳图一雄的漫画作品。1976年4月1日到9月30日于东京电视台放送。于2006年6月10日公开。主演石田未来,监督井口昇。
  • 吉尔·德·雷英法百年战争吉尔·德·雷男爵(Gilles de Rais,IPA: /ɡil də ʁɛ/, 1405年9月-1440年),又译“吉尔·德·莱斯”,来自布列塔尼、安茹和普瓦图。他是英法百年战争时期的法国元帅,
  • 西岛大介西岛大介(1975年10月5日-),日本漫画家,东京都出身。
  • 松叶佛甲草松叶佛甲草(学名:),又名:墨西哥佛甲草、松叶景天,为景天科佛甲草属下的一个种。