MongoDBsharding算法

2015-07-21 16:26:13 · 作者: · 浏览: 0

主要是两种,一种是用数值进行范围划分,一种是hash,有点类似于memcached集群机制。

下表对比了优缺点

?

sharding算法 范围查询性能 数据分布
ranged based 强, 容易集中在一个shard上的多个chunks 不均匀, 影响scale out
hash based 一般,需要查询多个shard才能获得结果 均匀

?

MongoDB还提供了可以自定义算法的机制,叫做tag aware sharding.

管理员创建一些拥有范围划分的tags, 并把这些tags制定到各个shards.

?