我们在搭建MySQL数据库服务器的开始阶段就合理的规划,可以避免以后的很多问题的产生,大大节省我们的时间和精力,在一定幅度上降低成本。当然,这会涉及很多方面。比如机器的选型、业务评估和系统规划等。
所有的设计都是跟具体的需求相关的,我们首先要做的就是对业务进行整体评估。我在下面分享一个具体的例子。
一、业务需求要求指标
响应时间查询和操作请求ms级别返回
数据总量1年内大约有500GB的数据量
每秒请求量每秒有3W次请求
读写比读写比是1:1
重要程度核心业务,P1级别故障
其他说明数据具有时效性,历史数据访问较少,一般处理最近7天内的数据,数据总体长度约为1K
二、业务评估
step1:1年的数据量大约是500GB
结果:每秒产生的数据量为500*1024*1024/(365*24*60*60)=17KB。
step2:每秒3W次请求;读写比是1:1
结果:每秒的读请求是15000次;每秒的写请求是15000次。
step3:记录的长度大约为1KB
结果:根据step1得出的结果,每秒insert的数据写入大约为17KB;根据step2得出的结果,每秒写入的请求为15000次,可知14083次为update和delete操作。由于MySQL写入操作按照页来处理,页大小为16KB,假设每次操作的页都不相同,那么每秒写操作的数量为16KB*15000=234MB。每秒读操作的数量为16KB*15000=234MB。
step4ÿ