简单分片技术解析一

2018年7月7日

1.数据如何平均分布到多台实例上

为了分担单个实例的查询和更新压力,一般我将大量的数据分布到后端多台数据实例上。

2.分片平均算法

instance_num = 10 #实例数量
router_id = (user_id / instance_num % instance_num) + 1;#路由ID
config = “redis_config_”.router_id;#配置文件
以上这种算法是简单的硬分片技术。简单来说就是在应用程序中做即可,简单方便快捷,性能高。少了中间的网络交换环节,不用关心Router节点挂掉的风险。但是方便的同时也会带来不好的地方,数据如何做到可以动态的迁移。硬分片是做不到的。下一节我将介绍如何实现一个可以做到动态迁移数据的算法。

3.思考题

我们如何自己设计一个像TiDB、MongoDB、Redis Cluster等开源数据库中分片算法?

发表评论

电子邮件地址不会被公开。 必填项已用*标注