Quorum (分布式系统)

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

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

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

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

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

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

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

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

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

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

相关

  • 砷DNA砷生物化学是指利用砷及其化合物(如砷酸盐)的生物化学过程。砷在地壳中丰度属中等。尽管砷的化合物毒性很强,许多生物都能产生、代谢各种无机和有机砷化物。砷和其他元素(例如硒
  • 硝酸盐还原酶硝酸盐还原酶(英语:Nitrate reductase,EC 1.7.1.3)是将硝酸盐(NO−3)还原成亚硝酸盐(NO−2)的一种含钼辅因子的酶。 硝酸还原酶存在于细胞质当中,是一种可溶性的钼黄素蛋白,由黄素腺嘌
  • 叻武里府 small(叻丕府)/small叻武里府(泰语:จังหวัดราชบุรี,皇家转写:Changwat Ratchaburi,泰语发音:),一译拉差武里府,是泰国中部之一个府。华人称其为叻丕府。叻武里府自古代以来即为一繁荣城市,
  • 第2周期元素第2周期元素是元素周期表中第二行(即周期)的元素。列表如下:
  • 哈里发国哈里发国(阿拉伯语:خلافة‎,意为“继承”)是由最高宗教和政治领袖哈里发领导的伊斯兰国,穆斯林世界存在的穆斯林帝国通常被称为哈里发国。从概念上说,哈里发国是代表全部虔诚
  • 有柄树舌Ganoderma gibbosum (Bl. and Nees)有柄树舌(英语:Ganoderma applanatum)是多孔菌目灵芝科灵芝属的一种真菌。分布于 广东、云南等地。
  • 裘毓芳裘毓芳 (1871年-1904年)字梅侣,笔名梅倡女史,是一位清朝记者,中国第一位女报人。1871年出生于江苏无锡沙巷。1898年裘廷梁创办《无锡白话报》,由她担任编务。同年6月担任中国第一
  • 大环拟锥螺大环拟锥螺(学名:)为巴蜗牛科拟锥螺属的动物,是中国的特有物种。分布于四川、云南、祁连山一带等地,生活环境为陆地,多见于山区树林内潮湿的灌木草丛中、住宅、寺庙、农田附近多腐
  • 下疝畸形下疝畸形(英语:Arnold–Chiari malformation),又称为Chiari畸形或小脑扁桃体下疝畸形,是一种脑部构造上的畸形。它分别有I,II,III及IV型,最普遍为I型,变化及受影响症状范围亦为最广,因
  • 瓦尔兴湖瓦尔兴湖(德语:Walchensee),是德国的湖泊,位于该国东南部,由巴伐利亚负责管辖,长6.7公里、宽4.9公里,面积16.3平方公里,海拔高度801米,平均水深81米,最大水深190米。