eBay的分布式数据访问实践

eBay的分布式数据访问实践 
 
 
      由祝文兵讲解的《eBay的分布式数据访问实践》实际上就是一个数据访问中间层与之前曹政讲的《分布式数据库及反范式设计》有相似之处,下面我将大会上的简要内容加上我个人的一些理解与大家进行分享。
 
      此数据库访问中间层实际上就是水平划分多个数据库,根据不同的策略选择不同的数据源进行操作。
具体选择策略有以下二种方法如下:
 
 
1、主键是字符型,根据"ID(序列)%数据库个数"来确定将数据插入到哪个库中,然后将主键定义为:ID序列+数 据库编号。
2、随机轮询多个数据库,随机抽取一个数据库出来,供插入数据,然后修改主键为:ID序列+数据库编号。
3、根据用户ID%数据库个数来选取不同的数据库,这样用户就固定在某个数据库中,也就是根据用户来划分数据库,在数据库中有一张路由表,字段大概是用户ID,数据库编号达到对应关系。
4、还是根据主键来判断在哪个库,策略是给每个主键取一个值范围段,ID主键为数字型,比如:A库的主键范围是1-10000,B库的主键是20000-30000等。
5、采用的映射关系,针对每一条记录都会对应一个分区,在数据库中有专门的分区维护表来维护这种对应关系,优点是可以方便的实现数据迁移。
附:
这个方案的不足之处是没有进行分布式数据库的事务处理,也没有明确说明这个方案的效率到底是如何。
 

猜你喜欢

转载自flychao88.iteye.com/blog/1514624