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的源代码;写的很清晰:
推荐阅读
-
paxos算法和zookeeper领导者选举 博客分类: 分布式
-
paxos算法和zookeeper领导者选举 博客分类: 分布式
-
mysql分布式架构和DAL设计 博客分类: 分布式
-
mysql分布式架构和DAL设计 博客分类: 分布式
-
分布式日志收集系统Apache Flume的设计介绍 博客分类: 架构研究
-
大型网站运维探讨和心得 博客分类: 网站架构 网络应用应用服务器企业应用设计模式互联网
-
聊一聊分布式锁的设计 博客分类: 分布式
-
手机QQ公众号亿级消息实时群发架构 博客分类: linux kernel线程与网络云/分布式/虚拟化 MongoDBHBase
-
JAVA线程池管理及分布式HADOOP调度框架搭建 博客分类: java架构hadoopjeetask 分布式线程池java架构hadoop
-
分布式架构下的会话追踪实践【基于Cookie和Redis实现】 博客分类: NoSQL/Redis/MongoDB session共享rediscookie分布式架构session