首页  »  云计算知识  »  什么数据库分片

什么是数据库分片?

数据库分片与数据库分区概念相关,其利用数据分片技术既可以优化数据存储,又能够快速有效地处理数据。
分片技术的原理是将数据库进行水平分区,使每个分区可存储在单独的服务器实例中,分布式的数据库的优势在于,使原本集中在一个数据库中的工作负载被多个水平分区所分担。这意味着各分片间可以不共享任何相同的数据和服务器资源,可实现灵活扩展。

新用户享受中国区域 12 个月免费套餐

什么是数据库分片

首页  »  云计算知识  »  什么数据库分片

什么是数据库分片

什么是数据库分片?

数据库分片与数据库分区概念相关,其利用数据分片技术既可以优化数据存储,又能够快速有效地处理数据。
分片技术的原理是将数据库进行水平分区,使每个分区可存储在单独的服务器实例中,分布式的数据库的优势在于,使原本集中在一个数据库中的工作负载被多个水平分区所分担。这意味着各分片间可以不共享任何相同的数据和服务器资源,可实现灵活扩展。

新用户享受中国区域 12 个月免费套餐

数据库分片的技术优势

数据库分片的技术优势

简化数据库横向扩展工作

横向扩展是指通过投入更多的服务器资源实现负载分散,横向扩展的最终目的是为了能承载更多的流量、实现更快的响应速度。
而纵向扩展通过增加计算机硬件配置来获得收益,这种非分布式的数据库容易被计算机的存储容量和算力所限制。

提高查询响应速度

对于只拥有单个数据库且十分庞大的应用来说,随着数据量的不断增长,每次执行数据查询时返回结果集的响应速度会越来越慢,因为这个检索过程要遍历表中所有行才能找到需要的数据。
而分片技术的本质是将数据分散到多个表,这相当于多个表同时检索,并且缩小了每个表的检索范围和数量,从而能更快地返回查询结果。

降低宕机的影响

在分片的数据库中,服务器宕机造成的影响可控制在其中一个分片的范围内。宕机发生时,虽然应用的某些功能或页面暂时无法被用户访问,但相对整个系统掉线而言,这种局部功能不可用所造成的影响明显要小很多。

简化数据库横向扩展工作

横向扩展是指通过投入更多的服务器资源实现负载分散,横向扩展的最终目的是为了能承载更多的流量、实现更快的响应速度。
而纵向扩展通过增加计算机硬件配置来获得收益,这种非分布式的数据库容易被计算机的存储容量和算力所限制。

提高查询响应速度

对于只拥有单个数据库且十分庞大的应用来说,随着数据量的不断增长,每次执行数据查询时返回结果集的响应速度会越来越慢,因为这个检索过程要遍历表中所有行才能找到需要的数据。
而分片技术的本质是将数据分散到多个表,这相当于多个表同时检索,并且缩小了每个表的检索范围和数量,从而能更快地返回查询结果。

降低宕机的影响

在分片的数据库中,服务器宕机造成的影响可控制在其中一个分片的范围内。宕机发生时,虽然应用的某些功能或页面暂时无法被用户访问,但相对整个系统掉线而言,这种局部功能不可用所造成的影响明显要小很多。

常用数据库分片架构

常用数据库分片架构

基于键的数据库分片_数据库分片架构

基于键的数据库分片

也被称为基于哈希的分片。就是在每个数据库分片中,新写入一列用于索引分片存储位置 ID 的数据,而通常这组索引数据是利用哈希函数来赋值的。
这种策略的特点在于它必须预设数据库分片的数量,并通过算法将数据进行平均分配,这样就可以有效避免出现数据热点(应用反应慢和网络崩溃)的情况。

基于范围的数据库分片_数据库分片架构

基于范围的数据库分片

基于给定数据范围值来对数据做分片处理。通过应用程序代码读取数据并判断数据值的区间,然后将其写入对应的分区。这种策略的最大好处是规则明确,执行相对简单。每个分片与原始数据库有着不同的模式,且保存着不同的数据集。

基于目录的数据库分片_数据库分片架构

基于目录的数据库分片

实现基于目录的数据库分片,首先要创建一个存储分片目录数据的表。在分片目录表中,分片的主键记录着数据的保存位置。这比基于范围的数据库分片架构更加灵活,因为它使用固定的哈希函数作为分片键值,而不需要制定值的区间。

基于键的数据库分片_数据库分片架构

基于键的数据库分片

也被称为基于哈希的分片。就是在每个数据库分片中,新写入一列用于索引分片存储位置 ID 的数据,而通常这组索引数据是利用哈希函数来赋值的。
这种策略的特点在于它必须预设数据库分片的数量,并通过算法将数据进行平均分配,这样就可以有效避免出现数据热点(应用反应慢和网络崩溃)的情况。

基于范围的数据库分片_数据库分片架构

基于范围的数据库分片

基于给定数据范围值来对数据做分片处理。通过应用程序代码读取数据并判断数据值的区间,然后将其写入对应的分区。这种策略的最大好处是规则明确,执行相对简单。每个分片与原始数据库有着不同的模式,且保存着不同的数据集。

基于目录的数据库分片_数据库分片架构

基于目录的数据库分片

实现基于目录的数据库分片,首先要创建一个存储分片目录数据的表。在分片目录表中,分片的主键记录着数据的保存位置。这比基于范围的数据库分片架构更加灵活,因为它使用固定的哈希函数作为分片键值,而不需要制定值的区间。

亚马逊云科技热门云产品

亚马逊云科技热门云产品

Amazon MemoryDB for Redis

Amazon MemoryDB for Redis

与 Redis 兼容的、持久的内存数据库服务,可实现超快性能

Amazon DocumentDB

Amazon DocumentDB

快速、可扩展、高度可用的 MongoDB 兼容数据库服务

Amazon Kinesis

Amazon Kinesis

轻松地实时收集、处理和分析视频和数据流

欢迎加入亚马逊云科技培训中心

从 0 到 1 轻松上手云服务,获取更多官方开发资源及培训教程

准备好体验亚马逊云科技提供的云服务了吗?

新用户享受中国区域 12 个月免费套餐