author:skate
time:2012/08/28
mysql内存原理与数据结构介绍
大概内容如下:
1.Mysql如何完成一个session
2.mysql内存结构
3.mysql数据结构
4.mysql架构设想
........
设计系统时注意点
首先考虑:
系统不同的服务对象的定位,比如保证系统的高稳定、高能,还是对用户的友好型;总要有取舍的。
再次设计系统时必须考虑:
1.控制表的数据量,根据硬件配置给定阀值(如500w或1000w),如果表的数据量预计会
超过阀值,就要设计分库分表(至少分表),这样保证系统的性能和可扩展性,不
会因为数据量增加影响系统,一句话,在线交易系统只处理当前新鲜的交易数据。
2.控制单事务的资源消耗,遇到大事务可以拆解,采用化整为零模式,避免特例影响大众
3.系统削峰设计,
3.1 通过队列设计类似漏斗模式来控制系统,最大的接受请求,平缓处理请求;
3.2 通过数据库 session控制数据最大处理并发量
3.3 削峰要从始至终,从小事务到全局架构层
4.服务降级保护,在访问量突增时,为保证主要业务,暂停次要业务,有开关设置
5.如何应对数据雪崩,数据预热,比如redis,mongodb等,应用主要读nosql库,nosql库宕机再
读取后端rdbms库,nosql与rdbms的一致性可以通过nosql的flush和rdbms的推送。
6.根据数据实时性要求,master和slave数据源选择
7.应用最好不要指定连接串,而是连接数据库连接池(池中都是可用连接)
8.数据库可用连接池:可以把可用的数据库ip放在指定文件中,定时更新这个文件保证ip有效,
程序连接数据库先到这个ip文件取数据库可用ip地址,然后再连接数据库
下载地址:http://download.csdn.net/download/wyzxg/4531291
------end------