什么是数据库分片? | 您所在的位置:网站首页 › 论数据分片技术及其应用 › 什么是数据库分片? |
数据库分片方法对分片键应用不同的规则,以确定特定数据行的正确节点。以下是常见的分片架构。 基于范围的分片基于范围的分片(或动态分片)根据值的范围拆分数据库行。然后,数据库设计人员将分片键分配给相应的范围。例如,数据库设计人员根据客户名称中的第一个字母对数据进行分区,如下所示。
名称 分片键 以 A 开头到以 I 开头 A 以 J 开头到以 S 开头 B 以 T 开头到以 Z 开头 C
在将客户记录写入数据库时,应用程序会通过检查客户的名称确定正确的分片键。然后,应用程序将键与其物理节点进行匹配,并将该行存储在该计算机上。同样,应用程序在搜索特定记录时执行反向匹配。 优点和缺点根据数据值,基于范围的分片可能会导致单个物理节点上的数据过载。在我们的示例中,分片 A(包含以 A 开头到以 I 开头的名称)包含的数据行数可能比分片 C(包含以 T 开头到以 Z 开头的名称)多得多。但是,它更容易实现。 哈希分片哈希分片通过使用称为哈希函数的数学公式将分片键分配给数据库的每一行。哈希函数从行中获取信息并生成哈希值。应用程序使用哈希值作为分片键,并将信息存储在相应的物理分片中。 软件开发人员使用哈希分片在多个分片之间均匀分布数据库中的信息。例如,该软件将客户记录分成两个分片,其替代哈希值分别为 1 和 2。 名称 哈希值 John 1 Jane 2 Paulo 1 Wang 2 优点和缺点尽管哈希分片会导致物理分片之间的数据分布均匀,但它不会根据信息的含义来分离数据库。因此,在向计算环境中添加更多物理分片时,软件开发人员可能会遇到重新分配哈希值的困难。 目录分片目录分片使用查找表将数据库信息与相应的物理分片进行匹配。查找表类似于电子表格中的表,它将数据库列与分片键关联。例如,下图显示了服装颜色的查找表。 颜色 分片键 蓝色 A 红光 B 黄色 C 黑色 D 当应用程序将服装信息存储在数据库中时,它会参考查找表。如果一件衣服是蓝色的,应用程序会将信息存储在相应的分片中。 优点和缺点软件开发人员之所以使用目录分片,是因为它非常灵活。每个分片都是数据库的有意义的表示,不受范围的限制。但是,如果查找表包含错误信息,目录分片会失败。 地理分片地理分片根据地理位置拆分和存储数据库信息。例如,一个约会服务网站使用数据库存储来自各个城市的客户信息,如下所示。 名称 分片键 John 加利福尼亚州 Jane 华盛顿州 Paulo 亚利桑那州 软件开发人员使用城市作为分片键。他们将每个客户的信息存储在地理位置位于相应城市的物理分片中。 优点和缺点由于分片与提出请求的客户之间的距离较短,因此地理分片允许应用程序更快地检索信息。如果数据访问模式主要基于地理位置,则效果很好。但是,地理分片也可能导致数据分布不均匀。 |
CopyRight 2018-2019 实验室设备网 版权所有 |