分片和一致性哈希

news/2024/11/15 0:47:57/

在设计大规模分布式系统时,你可能会遇到两个概念——分片(sharding)和一致性哈希(consistent hashing)。虽然我在网上找到了很多关于这些术语的解释,但它们让我感到有些困惑。我觉得分片和一致性哈希本质上是在讨论同一件事——将数据分布在一组服务器上。

我想—这两个概念是不是相同的,还是有所不同?如果你也有类似的困惑,让我们简要地来解释一下。

分片

想象一下我们有一个数据库,其中数据以行和列的形式存储(就像关系型数据库,尽管分片也适用于NoSQL数据库)。当我们的数据集变得非常庞大时(比如1百万条记录),对庞大数据集进行任何类型的操作(读取、更新、删除、连接等)都会变得非常缓慢。而且随着数据量的增长,由于服务器可能具有的物理空间(HDD/SSD)的限制,将所有数据存储在一个数据库服务器上几乎是不可能的。为了解决这些问题,最合理的方法是将数据集划分为较小的数据集。

想象一下,我们将整个数据集(100万行)划分为10个较小的子集(每个子集有10万行)。这个将数据集水平(或沿着行)划分的过程被称为对数据集进行分片。

除了提高性能外,分片数据集的另一个非常重要的好处是将这些数据分片存储在较小且更便宜的数据库服务器上,而不是将整个百万行存储在一个庞大且非常昂贵的数据库服务器上。

一致性哈希

一致性哈希是一种将庞大的数据集(例如100万行)分割成多个较小的数据子集(存储在一组数据库服务器上)的技术,以确保在集群中的服务器数量发生变化(即添加或删除服务器)时,数据的迁移量最小。在大规模分布式系统设计中,这非常重要,因为服务器故障在数据中心中相当常见。

对于一致性哈希,我们选择两个值M和N,即哈希键空间(根据应用程序需求选择的M)和数据库服务器数量(用N表示)。通常情况下,M >> N。
在这里插入图片描述

算法本身是一个简单的三步过程。

创建一个循环数字线(从0到M-1)。 对数据库服务器ID进行哈希运算,对M取模,并在循环数字线上分配一个位置。 对每个数据行进行哈希(基于其唯一键),对M取模,并在循环数字线上找到其位置。顺时针方向移动,直到找到第一个数据库服务器。将这些数据存储在该服务器上。

好了…那么它们之间有什么真正的区别吗? 尽管分片和一致性哈希看起来都可以将巨大的数据集分割成较小的数据集,但它们之间存在微妙的区别。分片是所有水平数据分区方案的统称。从本质上讲,分片只是将数据集沿着行进行划分的一个花哨的名字。

如果你觉得水平分割(或分片)数据集可能有许多不同的方式,那么你是对的。在许多不同的分片数据集的方式/算法中,一致性哈希是最高效的算法之一。所以,这是一个相当简单但微妙的区别。分片是一个通用术语,而一致性哈希是一种特定类型的算法,用于实现数据分片。


http://www.ppmy.cn/news/532410.html

相关文章

兄弟j220怎么清零_兄弟打印机MFC_J220墨水回收盒满,该如何清零,望大神指教。...

展开全部 兄弟打e69da5e887aa62616964757a686964616f31333365646238印机MFC_J220墨水回收盒满清零方法: 1、首先检查一下打印机当前是否已经被设置为“暂停打印”,如果是的话,无论怎样向打印机发送打印命令,打印机肯定不会接受打印…

兄弟mfc9140cdn无法识别_兄弟Brother MFC-9140CDN打印机驱动

相关软件 软件大小 版本说明 下载地址 每个打印机在使用的时候都会有点小问题,那么这时就需要相对应的驱动来解决了,因此小编给大家带来了一款兄弟MFC-9140CDN驱动程序,欢迎下载! 基本参数 产品定位多功能商用一体机 产品类型彩色…

兄弟打印机Linux驱动安装与CUPS共享

打印机:HL22260D 主机:Ubuntu 16.04 实现的需求:使打印机具备网络打印功能 要点: 兄弟官网下载驱动,见本文件目录下ubuntu16.04上解压,运行安装脚本按照脚本向导,注意选择正确的URL&#xff…

联想win11出现wifi图标消失

联想win11系统出现wifi图标消失,在控制面板的硬件查看是说网卡驱动没安装,但是用联想管家进行驱动检测也没有问题(当没有网的时候,用手机数据线连接电脑开启热点,仅USB)。不要重启,直接关机&…

解决ThinkPad联想 笔记本电脑无法连接隐藏网络问题-提示“无法连接这个网络”

我的是ThinkPad联想 E575 笔记本电脑,连接隐藏的WiFi一直连不起,尝试过之前网络上的很多方法,比如在网络共享中心 设置新的连接或网络>>手动连接到网络 的方式,但是依旧不行。 不过偶然解决了,发现很简单&…

计算机如何连接共享网络设置,联想电脑怎么设置共享网络

笔记本电脑内置有无线网卡,不仅能接收无线网络,还能分享无线网络,这样就充当了路由器的功能,也就是我们常说的热点分享,下面是小编给大家整理的一些有关联想电脑设置共享网络的方法,希望对大家有帮助! 联想…

联想电脑不显示WiFi 列表问题

电脑(win10系统)正用着突然断网 并且不显示WiFi列表 尝试了网上好几种方法:1、网络重置 2、CMD运行命令:netsh winsock..... 3、禁用WLAN wireless后再启用 等等方法。折腾了很久这些都不行 用下面链接的方法终于可以联网了,联想电脑果然不…

怎么查询网络热点事件的舆论热度的办法技巧

现如今,社会事件的产生,舆论起着助推作用。所以,往往舆论热度高的事件,其必然是社会大众重点关注和议论的目标。如当下引发舆论热议的李心草溺亡事件,其就是最初在社交媒体平台引发网民和博主们的关注,再进…