简单的列子:
一张用户表 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的源代码;写的很清晰:
相关推荐
分布式数据层 DAL
Richard认为,设计一个架构或者Framework的时候,开始是接口的定义,定义好各层之间交互的接口,然后才是具体代码的实现。因为在设计Framework的时候,首先要考虑这个Framework的使用者是谁,希望他们怎么样来使用...
三层架构中的DAL层,连接sqlsever数据库,其他数据库也可,因资源确实比较珍惜实用(我做东西一直在用这个),网络上没见过相同的代码,所以资源分比较高,若下载后不能用,请联系我~
c#三层架构入门讲解三层架构入门讲解(c#)UIL、BLL、DAL三层架构入门讲解(c#)UIL、BLL、DAL
当Richard把草图画出来了之后,想到了另外的一...基于这个思想,所以Richard也考虑到了:也许,现在设计的这个DAL,哪一天会作为服务给其他的程序提供数据也不说定。虽然,这个问题对现在来说不是那么的重要,但是在Ric
Cobar Client是一个轻量级分布式数据访问层(DAL)基于iBatis(已更名为MyBatis)和Spring框架实现。主要特性:可以支持垂直和水平数据切分数据库集群的访问;支持双机热备的HA解决方案, 应用方可以根据情况选用数据库...
CodeSmith Dal、Model模版 Dal支持多种数据库
C# 访问数据库架构设计 可在 757293457 revit二开的群中有下载,书也有 (csdn的设置的积分用户是不可控的,最初设置为0,几天后就自动调整到几十)
Ctrip DAL支持流行的分库分表操作,支持Java和C#,支持Mysql和MS SqlServer。使用该框架可以在有效地保护企业已有数据库投资的同时,迅速,可靠的为企业提供数据库访问层的横向扩展能力。整个框架包括代码生成器和...
自己写的一个3层架构,没有用Linq的,就操作一个model。谨供新手学习,可以很快学会类似petshop的3层架构。Model+DAL+IDAL+DALFactory+BLL
我是学这部分的时候,老记不住,所以就写下来是不是看看……
具体介绍三层架构概念和原理,以及它的在实际行业软件开发的效用和规则。有具体的三层架构图解!
CodeGen,一个很好的自动生成DAL. Model层代码的工具源码 大家可以下载下来,根据自己的项目需要进行修改..好东东下载吧
通过.net反射功能实现的通用Bll、通用Dal,极大的减少了重复代码,减少编码工作量
上课时演示的实例,从创建三层架构解决方案开始,内有详细注释,学习三层架构不可多得的例子。
架构演变第一步:物理...架构演变第七步:分表、DAL和分布式缓存 架构演变第八步:增加更多的webserver 架构演变第九步:数据读写分离和廉价存储方案 架构演变第十步:进入大型分布式应用时代和廉价服务器群梦想时代