欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mysql分布式架构和DAL设计 博客分类: 分布式  

程序员文章站 2024-03-25 22:23:52
...

简单的列子:

    一张用户表 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的源代码;写的很清晰: