mysql分布式架构和DAL设计

简单的列子:

    一张用户表 id, name, xxx  ,上千万级别单台的mysql肯定也扛不住查询的压力,一般这个时候我们会做

mysql主从,对用户板分区, 1主多从;读写分离,

     可以减少读库的压力,然后对用户表进行垂直切分,按照业务做相关索引表等;

当用户上亿的时候这个时候,这个时候也扛不住了

就必须考虑要水平切分数据库了

     把user表 按照某种规则分到 db1, db2, db3,,,,,, dbn个数据库上;

 

规则: 分区标记字段,  按大小 分,  取摸, hash(partionId) ,弄一个库高一张记录对应表

 

当这个时候你的db2挂了,该这么办呢?

 

   我们分过去的数据肯定有问题了?面试的时候这个问题 没答的很好,一直皎洁路由规则去了

呆的公司没有如此庞大的用户量

 

所以我们可以考虑ha 了;

 

   对每一个db做一个备份数据库,当db1挂了自动迁移到db1的备份数据库

 

有个很详细的blog:http://zhengdl126.iteye.com/blog/419850

可以找到大概的术语很等

 

为了能够加深理解和对整体的把握

 

可以参考: 阿狸的 cobar和cobarclient

 

cobar是独立部署的服务,这里主要学习下 cobarclient的思想和方法:

 

有关章节同时可以参考: 《大型网站和java中间件 》 数据库设计部分:

 

 今天看了下cobarclient的源代码;写的很清晰:

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值