Quorum (分布式系统)

✍ dations ◷ 2025-11-24 11:40:16 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • myocardial infarction心肌梗死(Myocardial infarction简称MI、Acute myocardial infarction简称AMI),旧称心肌梗塞,是一种急性及严重的心脏状态。其成因是部分心肌的血液循环突然中断,心肌因无法得到
  • 极端天气极端天气(Extreme weather)包括了非正常、严重、季节性、或者超出历史平均数值的天气。 通常极端天气为以当地过往天气数字为基础,并被订为是基数中最常见的百分之十。 近年
  • 新北客运新北汽车客運股份有限公司(英语:New Taipei Bus Company, Ltd.),简称新北客運,主要经营新北市公车、台北市联营公车、公路客运,目前与基隆客运(已退出)、指南客运、光华巴士、淡水客
  • 科堡 (安大略省)科堡(Cobourg)位于加拿大安大略省东部安大略湖畔,是诺森伯兰县的县治所在,人口约2万(2006年)。
  • 北管北管为一个台湾汉族传统音乐,歌曲及戏剧表演的笼统范畴,各个地区、馆阁包含的音乐范围跟种类可能不尽相同。北管对台湾近代的传统文化影响深远。在21世纪的台湾,虽较少有完整的
  • AltGr键AltGr(也称为Alt Graph或Right Alt )是某些计算机键盘上的修饰键(有时也会在键盘上写作Gr),主要用于键入对于键盘布局的语言环境不常见的字符,例如货币符号和带重音的字母。在典型
  • 红嘴树鸭红嘴树鸭()是分布在美国南端及中美洲热带至南美洲中南部的树鸭属。红嘴树鸭长48-53厘米,头部、喙及双脚都很长。它们的喙是红色的,头部呈淡灰色,身体大部分、颈背及冠都呈栗褐色,
  • ALL FOR YOU (专辑) 除特别注明外,本文所有时间均以东九区时间(UTC+9)为准。《ALL FOR YOU》是韩国男子音乐组合水晶男孩首张迷你专辑,由YG娱乐制作、YG PLUS发行,于2020年1月28日下午6时通过各大
  • 陆星宇陆星宇(1995年8月29日-),艺名麓七。中国内地流行乐男歌手、词曲作家、网络主播。2017年入驻腾讯音乐人后相继推出《初雪告白》、《妄想的月光》、《夏日码头》等原创音乐作品。2
  • 普图伊湖坐标:46°24′7″N 15°53′36″E / 46.40194°N 15.89333°E / 46.40194; 15.89333普图伊湖(斯洛文尼亚语:Ptujsko jezero),是斯洛文尼亚的湖泊,位于该国东部,处于普图伊东南面,长5