数据库设计方案(读多写少)

本文讨论了数据库设计方案中的主从模式,强调了主从库在读写压力下的角色,介绍了主从数据一致性及复制原理,包括同步和异步复制策略。还提到使用缓存、直接读主库、数据冗余和代码层面的解决方案,以及中间件在数据源管理中的应用。
摘要由CSDN通过智能技术生成

数据库设计方案

读多写少:
主从模式,主数据库进行写库,从数据库进行读库
原因:
读数据对数据库的压力大,从库用来读库可以配置多个读库来缓解读库压力
引起的问题:
主从数据一致性,解决主从复制延迟,实现主从库的数据访问
主从库数据一致也就是主从库的复制原理
主数据库接收到客户端的更新操作,首先写入binlog日志,然后提交事务,更新存储引擎中的数据,事务提交完成后,返回给客户端操作成功响应。从数据库有一个线程实时监听主库logdump日志线程,有binlog日志更新的时候将日志写到relaylog的中继日志,返回主从复制成功响应,另外一个线程回放binlog日志,更新存储引擎的数据。实现主从库的最终一致性。一个主库由线程以及网络带宽限制,一般只配备2-3个存库,一主多从的集群架构
主从复制延迟
方式:同步复制(事务线程要等待所有从库的复制响应),异步复制,半同步复制
1.缓存解决。将数据先写入缓存redis,再写入数据库,读取的时候优先从缓存中读取。
2.数据量不大的情况下直接读主库。
3.数据冗余。异步调用审核模块时连同数据一起发送。
代码层面解决主从库的读写问题
1.中间件屏蔽数据源与数据库的联系,代理多个数据库,会跨网络两次传输
2.工程配置所有数据源,每个数据源对应一个主库或从库,代码中判断SQL语句发送至哪个数据源,不利于代码维护

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值