加入收藏 | 设为首页 | 会员中心 | 我要投稿 淮安站长网 (https://www.0517zz.com.cn/)- 数据开发、人脸识别、智能机器人、图像处理、语音技术!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

啥是数据库读写分离架构?

发布时间:2021-02-23 14:42:48 所属栏目:外闻 来源:互联网
导读:一主多从,读写分离,主动同步,是一种常见的数据库架构,一般来说: 主库,提供数据库写服务 从库,提供数据库读服务 主从之间,通过某种机制同步数据,例如mysql的binlog 一个组从同步集群通常称为一个分组。 分组架构究竟解决什么问题? 大部分互联网业务

一主多从,读写分离,主动同步,是一种常见的数据库架构,一般来说:

  • 主库,提供数据库写服务
  • 从库,提供数据库读服务
  • 主从之间,通过某种机制同步数据,例如mysql的binlog

一个组从同步集群通常称为一个“分组”。

分组架构究竟解决什么问题?

大部分互联网业务读多写少,数据库的读往往最先成为性能瓶颈,如果希望:

  • 线性提升数据库读性能
  • 通过消除读写锁冲突提升数据库写性能

此时可以使用分组架构。

一句话,分组主要解决“数据库读性能瓶颈”问题,在数据库扛不住读的时候,通常读写分离,通过增加从库线性提升系统读性能。

什么是数据库水平切分?

 

水平切分,也是一种常见的数据库架构,一般来说:

  • 每个数据库之间没有数据重合,没有类似binlog同步的关联
  • 所有数据并集,组成全部数据
  • 会用算法,来完成数据分割,例如“取模”

一个水平切分集群中的每一个数据库,通常称为一个“分片”。

水平切分架构究竟解决什么问题?

大部分互联网业务数据量很大,单库容量容易成为瓶颈,如果希望:

  • 线性降低单库数据容量
  • 线性提升数据库写性能

此时可以使用水平切分架构。

一句话总结,水平切分主要解决“数据库数据量大”问题,在数据库容量扛不住的时候,通常水平切分。

我为什么不喜欢读写分离?

对于互联网大数据量,高并发量,高可用要求高,一致性要求高,前端面向用户的业务场景,如果数据库读写分离:

  • 数据库连接池需要区分:读连接池,写连接池
  • 如果要保证读高可用,读连接池要实现故障自动转移
  • 有潜在的主库从库一致性问题

 

(编辑:淮安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读