数据分片

  • Post author:
  • Post category:其他


数据分片是用于扩展数据库最常见的技术手段。

分片是将大数据表分解为较小的表的过程,这些分片分布在多个数据库集群节点上。

分片可以是水平分片(按行分),也可以垂直分片(按列分)。



分片算法

哈希分片

首先获取分片键,然后根据特定的哈希算法计算它的哈希值,最后使用哈希值确定数据应被防置在那个分片中。

比较适合随机读写,不利于范围扫描。

范围分片

根据数据值或键空间的范围对数据进行划分,相邻的分片键更有可能落入相同的分片上。

非常适合进行范围查找,但随机读写性能较弱。

融合算法

上层使用哈希分片,在分片内部则按顺序存储。

地理位置算法

一般用于NEWSQL,提供全球范围内分布数据的能力。

数据被映射到特定的分区,然后在给定区域内,使用哈希或范围分片对数据进行分片。

比如:根据用户表的国家列,将其映射到就近的区域内。



手动分片 vs 自动分片

手动分片:设置静态规则来根据分片算法将数据分散到数据库节点。缺点是数据分布不均匀

自动分片:自动化的、弹性的分片



版权声明:本文为qq_37813928原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。