Mysql数据库管理浅谈

来源:互联网 发布:qq邮箱钓鱼源码 编辑:程序博客网 时间:2024/05/16 12:08

Mysql选型及系统规划

简单一句话,除了数据库一致性要求100%的行业之外(银行的核心结算系统),其他所有行业都适用。

Mysql的机器设备选型

机器设备选型,通过业务场景来大概评估。
表1:业务场景

需求 指标 响应时间 读写请求要求MS级返回 数据总量 1TB/年 每秒请求数量 15000/秒 数据读写比例 2:1 重要程度 核心订单系统P1级别故障,积分系统P2级别故障 备注 数据时效性,历史订单查阅较少,一般操作3周以内的数据,数据长度一条大概1KB

开始评估系统

序号 指标 评估 1 1年内产生的数据总量为1TB 推算:每秒产生的数据量,也就是每秒的数据需求为:1*1024*1024*1024/(365*24*60*60)=34kb/秒 2 每秒请求数量为15000/秒,读写比例2:1 推算:每秒读请求15000*2/3=10000/秒。写请求15000*1/3=5000/秒。 3 数据记录长度1KB 根据(1)得出每秒写入34k/秒,数据长度大概为1KB。那么每秒写入34/1=34次。根据(2)得出每秒需写入5000次(update+delete+insert)。那么就得出update+delete=5000-34=4966次。得出mysql读写按照page为单位处理,一页大小为16kb默认(也可以手动设置8k、32k),那么每秒的写请求为5000*16k=80M/秒,读请求为10000*16k=160M/秒 4 处理20天内的数据 那么处理热数据量为(换算1年的总数据大小:1T*1024)/(1年天数:365)*(要求3周以内:20天)=56G 5 操作MS级别返回 MS级返回,那么要求数据尽量存入内存中,那么根据4可以确定Innodb buffer(MyISAM为key buffer)(Mysql存储引擎缓冲区)大小为56GB,而其他组件如OS,application,network需要大约4G内存,因此需要内存大约60GB,根据(3)的读写速率要求,按照超配原则应用服务器和DB服务器之间的读写带宽分别为,写带宽(WBPS)限制为100M/秒,读带宽(RBPS)200M/秒 6 重要程度 根据业务故障P1来定,通过MM的HA技术

分布式扩展评估(应对P1故障级别)
8个节点组规模,所有需求参数/8
推算:单组服务器需求。
内存:60G/8 = 8G
写带宽(WBPS):100M/8 = 12.5M/s
读带宽(RBPS):200M/8 = 25M/s
磁盘:1T/8 = 125G
分布式拓扑
mysql文件系统选择
1. 顺序读写为主
- binlog 日志 写操作
- error 日志 运行状态错误信息
- slow 日志 慢查询日志
- tmp 日志 临时日志,当两个表进行关联产生临时表时存放的日志
- 事务日志
- Double write日志 双写日志放在ibdata文件
- mysql应用程序目录
2. 实际应用,尽量将以下四块放到不同的磁盘上面,减少io操作冲突。
- binlog、error、slow日志一般存放在/log目录下
- tmp 日志存放在/tmp目录
- 数据目录 /data目录
- 软件目录 /usr/local/mysql目录

mysql安装部署

参考:http://blog.csdn.net/mchdba/article/details/35994251

mysql压力测试

参考:http://blog.csdn.net/johnstrive/article/details/46610541#t16


未完待续

0 0
原创粉丝点击