分片模型:
先将数据映射到分片;再将分片映射到机器;都是多对一的关系。
分片策略:哈希分片和范围分片。
哈希分片通过哈希函数建立key-partition的关系,只支持点查询,不支持范围查询。大部分的kv系统。
范围分片:既可以支持点查询,也可以支持范围查询,如google的bigtable和微软的azure系统。
哈希分片算法:
round robin算法,哈希取模算法。
H(key) =hash(key) mod K ,如果增加一台机器
H(key) =hash(key) mod (K +1),hash函数就有变化了,之前的数据需要重新分配,对在线存储系统的扩容缺乏灵活性。
虚拟桶:virtual buckets,couchbase 是内存分布式nsoql数据库。 大数据日知录.pdf P13
一致性哈希表 consisten hashing
分布式哈希表(DHT),哈希表的分布式扩展,
范围分片(range partition)
将所有记录的主键进行排序,然后在排好序的主键空间里将记录划分成数据分片。