分片放置策略
关于分片放置策略的详细信息。
在Redis企业版软件中,主分片和副本分片在集群节点上的位置可能会影响数据库和节点的性能。 为了数据弹性,主分片及其对应的副本分片总是放置在不同的节点上。 分片放置策略有助于保持最佳性能和弹性。
除了分片放置策略外,决定分片放置的考虑因素还有:
- 主分片和副本分片的分离
- 可用的持久性和自动分层存储
- Rack-zone awareness
- 数据库完全填充时主机可用的内存
分片放置策略如下:
dense
- 尽可能将分片放置在最小数量的节点上,以减少代理和数据库分片之间的延迟;推荐用于RAM数据库上的Redis,以优化内存资源sparse
- 将分片尽可能分散在集群中的多个节点上,以便将流量分散到集群节点上; 建议用于启用了自动分层的数据库,以优化磁盘资源
当您创建Redis Enterprise Software集群时,默认的分片放置策略(dense
)会分配给您在集群上创建的所有数据库。
你可以:
- 将集群的默认分片放置策略更改为
sparse
,以便集群将此策略应用于您创建的所有数据库 - 在数据库创建后更改每个数据库的分片放置策略
分片放置策略
密集分片放置策略
在密集策略中,集群将数据库分片尽可能少地放置在节点上。 当节点无法承载所有分片时,一些分片会被移动到另一个节点以保持节点的最佳健康状态。
例如,对于一个在具有三个节点的集群上具有两个主分片和两个副本分片的数据库,采用密集分片放置策略时,两个主分片托管在一个节点上,而两个副本分片则托管在另一个节点上。
对于未启用OSS集群API的Redis内存数据库,使用密集策略来优化性能。

图:三个节点,其中有两个主分片(红色)和两个副本分片(白色),采用密集放置策略
稀疏分片放置策略
在稀疏策略中,集群将分片放置在尽可能多的节点上,以将数据库的分片分布在所有可用节点上。 当所有节点都有数据库分片时,分片会均匀分布在节点上,以保持最佳的节点健康状态。
例如,对于一个在具有三个节点的集群上具有两个主分片和两个副本分片的数据库,以及一个稀疏分片放置策略:
- 节点 1 托管其中一个主分片
- 节点2承载第一个主分片的副本
- 节点3托管第二个主分片
- 节点 1 承载主分片 2 的副本分片
对于启用了OSS集群API的Redis内存数据库以及启用了自动分层的数据库,使用稀疏策略来优化性能。

图:三个节点,两个主分片(红色)和两个副本分片(白色),采用稀疏放置策略
相关文章
你可以配置分片放置策略为每个数据库。