iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >面试连环炮系列(二十八):数据库读写分离的目的是什么?
  • 290
分享到

面试连环炮系列(二十八):数据库读写分离的目的是什么?

摘要

数据库读写分离的目的是什么;读写分离会带来什么问题?如何解决;Mysql主从复制的原理清楚吗;读写分离具体怎么实施呢 1. 数据库读写分离的目的是什么? 通常业务系统是读多写少,读写分离是将对

面试连环炮系列(二十八):数据库读写分离的目的是什么?

数据库读写分离的目的是什么;读写分离会带来什么问题?如何解决;Mysql主从复制的原理清楚吗;读写分离具体怎么实施呢

1. 数据库读写分离的目的是什么?

通常业务系统是读多写少,读写分离是将对数据库的读写操作分散到不同的节点上,能够小幅提升写性能,大幅提升读性能。通常采用数据库一主多从的方式,主库可以读写,从库只读。

2. 读写分离会带来什么问题?如何解决?

主库和从库的数据存在延迟。比如写完主库之后,主库的数据同步到从库是需要时间的,这个时间差就导致了主库和从库的数据不一致性问题。解决办法是在不能忍受延迟的场景强制读主库。

3. MySQL主从复制的原理清楚吗?

  • 主库将数据库中数据的变化写入到 binlog
    从库连接主库。
  • 从库会创建一个I/O线程向主库请求更新的 binlog。
  • 主库会创建一个 binlog dump 线程来发送 binlog ,从库中的 I/O 线程负责接收。
  • 从库的 I/O 线程将接收的 binlog 写入到 relay log 中。
  • 从库的 sql 线程读取 relay log 同步数据本地(也就是再执行一遍 SQL )。

4. 读写分离具体怎么实施呢?

常用组件有下面2个:

  • Sharding-JDBC:定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。
  • MyCat:实现了mysql协议的服务器前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分库分表,配合数据库的主从模式还可实现读写分离。

参考(摘抄的文字版权属于原作者):

https://javaguide.cn/high-performance/read-and-write-separation-and-library-subtable.html
Https://time.geekbang.org/column/article/77636
https://zhuanlan.zhihu.com/p/66245006
https://www.codingbrick.com/arcHives/546.html

作者:编码砖家
公众号:编码砖家
出处:https://www.cnblogs.com/xiaoyangjia/
本文版权归作者所有,任何人或团体、机构全部转载或者部分转载、摘录,请在文章明显位置注明作者和原文链接。

原文地址:https://www.cnblogs.com/xiaoyangjia/archive/2022/03/29/16070541.html

您可能感兴趣的文档:

--结束END--

本文标题: 面试连环炮系列(二十八):数据库读写分离的目的是什么?

本文链接: https://www.lsjlt.com/news/9221.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库读写分离指的是什么意思
    这篇文章主要介绍了数据库读写分离指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库读写分离的意思是为了确保数据库产品的稳定性...
    99+
    2024-04-02
  • 数据库的读写分离能解决什么问题
    数据库的读写分离能解决什么问题,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。有一些技术同学可能对于“读写分离”了解不多,认为数...
    99+
    2024-04-02
  • MySQL中数据源管理和关系型分库分表以及列式库分布式计算分别指的是什么
    这篇文章将为大家详细讲解有关MySQL中数据源管理和关系型分库分表以及列式库分布式计算分别指的是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、数据拆...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作