Sharding 与 Partitioning 的区别

本文对比了Sharding(水平分区,横向扩展)和Partitioning(狭义上的分区,包括垂直分区,纵向扩展)。Sharding是数据库Schema复制到多实例,按ShardKey分配数据;而Partitioning涉及单实例内表的分割,提升性能和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sharding 与 Partitioning 的区别

Partitioning(广义)可以分为两种方式:水平分区(Horizontal Partition)和垂直分区(Vertical Partition)。

水平分区(Horizontal Partition)

水平分区(Horizontal Partition),也称为分片(Sharding)。这里的水平可以理解为横向扩展(Scale Out)。

分片将数据库Schema复制并分布在多个实例或服务器上。一个数据库进行分片时,会创建一个Schema的副本,然后根据Shard Key将数据存储在相应分片中。

垂直分区(Vertical Partition)

垂直分区(Vertical Partition),也就是常说的分区(Partitioning,狭义)。这里的垂直可以理解为纵向扩展(Scale Up)。

分区指将数据库实例中的表分成更小的子表或分区的过程。一个数据库进行分区时,会将Schema和数据都进行分割。这些分区可以单独访问和管理,可以存在于不同的磁盘上,以提高数据库的性能、可维护性和可用性。

Sharding和Partitioning的区别

ShardingPartitioning
范围集群/多个实例/多个服务器一个实例
分区方式Horizontal PartitioningVertical Partitioning
扩展类型横向扩展(Scale Out)纵向扩展(Scale Up)
对Schema的操作replicatingdividing
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值