MySQL分区(Partition)与分片(Sharding)的差异

本文探讨了Sharding概念,包括其与水平分区的区别,以及在数据库性能优化中的应用。Sharding可跨数据库和物理机器,分为垂直和水平分区,适用于不同系统复杂度。同时介绍了静态和动态Sharding的特点。
部署运行你感兴趣的模型镜像

    有的时候,Sharding 也被近似等同于水平分区(Horizontal Partitioning),网上很多地方也用水平分区来指代 Sharding,但我个人认为二者之间实际上还是有区别的。的确,Sharding 的思想是从分区的思想而来,但数据库分区基本上是数据对象级别的处理,比如表和索引的分区,每个子数据集上能够有不同的物理存储属性,还是单个数据库范围内的操作,而 Sharding 是能够跨数据库,甚至跨越物理机器的

6d815776c1059e5344fdd66b6d4bfe58c9e.jpg

     MySQL5.1提供的分区(Partition)功能确实可以实现表的分区,但是这种分区是局限在单个数据库范围里的,它不能跨越服务器的限制。如果能够保证数据量很难超过现有数据库服务器的物理承载量,那么只需利用MySQL5.1提供的分区(Partition)功能来改善数据库性能即可;否则,还是考虑应用Sharding理念吧,spider storage engine就是一个不错的选择。

    sharding分为垂直分区和水平分区。垂直就是把不同的表分散到不同的数据库或主机。适合耦合度低系统。水平分区以行为单位,将同一个表的数据拆分到不同数据库或主机上,适合复杂系统。

    此外,sharding还可以分为静态和动态。静态即分区键是静态分配的。可能数据不均衡。动态则引入一个字典,然后定位在哪个分片。每次查询要2步,且可能存在单点故障。

转载于:https://my.oschina.net/u/3242075/blog/2960702

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值