主要内容包括:
1.数据库性能测试的目的及范围 2.数据库的常用架构
3.数据库主从同步的工作原理 4.数据库分库分表的设计方法
数据库性能测试的目的
发现数据库相关的性能瓶颈
sql语句-慢查询
资源使用率
数据库架构的合理性
数据库的性能指标
数据库常用架构
一主多从
最长说的读写分离 master主要负责数据的写入和更新和删除(但是删除很少,一般都有一个字段用于标记删除),通过主从从复制,将数据同步到从库上,从库的任务就是读。
优点:读写分离,分担了单台服务器的压力情况,所有的读操作都在不同的服务器上,主服务器承担了数据写入和更新操作。
缺点:主从延迟,当主服务器上写入数据的时,如果发生网络延迟10s,那么这十秒在从库上是没有主库上写入数据的,此时发 生读的时,就读取不到数据。master挂了,就只能进行浏览不能插入,修改。
双机热备
VIP指的是虚拟Ip,跟之前的都在同一数据库上,然后会把数据复制到slave上。
优点:弥补了延迟问题,master挂掉之后,VIP会立刻将从数据同步到主数据。并变成master,对前面无感觉。
缺点:1.靠硬件上抗,读取慢 2.master挂掉又恢复之后,slave并不会将期间的数据自动同步到master上去。
主从同步原理
master将改变记录到二进制日志(binary log)中
slave将master的binary log events拷贝到它的中继日志relay log中
slave重做中继日志中农的时间,将改变反应它自己的数据。
数据库的分库分表设计方法
原因:1.单表或单库数据量太大
2.硬件不能升级或无法升级
分库分表方案:
1.业务拆分 用户、订单、商品放到不同的数据库上
2.垂直拆分 商品表来说,可以按照商品按照商品类型进行拆分
3.水平拆分-一致性哈希算法(取模多少,主键自增的情况) 对三个表进行查分