`
annan211
  • 浏览: 462308 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

mysql 读写分离方法

阅读更多

 数据库的读写分离方案很多,这里介绍基于mysql数据库的读写分离方案。
 比较常见的读写分离方案如下:
 1 基于查询分离
   最简单的分离方法是将读和写分发到主和从服务器上,这种策略很容易实现,但是仅限于一些能够容忍查询脏数据的操作。
   举个例子来说,用户写入了一条评论,发往主库保存,查询的时候则是从从库拉取数据,由于主从数据库存在复制延迟,
   用户很可能看不到自己的最新评论,这就是脏数据。
   
 2 基于脏数据分离
   这种策略并不关心从库是不是100%跟上了主库,这种策略让应用检查复制延迟,以确定从库是否太旧。
   
 3 基于会话分离
   另一个决定能否从从库读取数据的稍微复杂一点的方法是判断用户自己是否修改了数据。用户不需要看到其他用户的最新
   数据,但需要看到自己的更新。可以再会话层设置一个标记位,表明做了更新,就将该用户的查询在一段时间内
   总是指向主库。这是推荐的一种做法,因为他是在简单和有效性之间的一种很好的妥协。
   我们还可以把基于会话的分离方法和复制延迟监控结合起来,如果用户在10秒前更新了数据,而所有备库延迟在5秒内,
   就可以安全的从备库中读取数据,但为整个会话选择同一个备库是很好的主意,否则用户可能会奇怪有些备库的数据比较慢。
   
 4 基于版本分离
   这种策略与基于会话的分离方法相似,你可以跟踪对象的版本号或者时间戳,通过从备库读取对象的版本或时间戳来判断数据是否足够新。
   如果备库的数据太旧,可以从主库获取最新的数据。
   
 5 基于全局版本/会话分离
   这个办法是基于版本分离和会话分离的变种.当应用执行写操作时,在提交事务后,执行一次show master status操作。然后在缓存中存储主库日志坐标,
   作为被修改对象以及/或者会话的版本号。的那个应用连接到备库时,执行show slave status 并将备库上的坐标和缓存中的版本号对比,如果备库相比记录点更新,则
   可以安全的读取备库数据。
   
   

   请尊重知识,请尊重原创 更多资料参考请见  http://www.cezuwang.com/listFilm?page=1&areaId=906&filmTypeId=1

分享到:
评论

相关推荐

    springboot+mysql读写分离

    springboot结合mysql主从来实现读写分离 一、实现的功能 1、基于springboot框架,application.yml配置多个数据源,使用AOP以及AbstractRootingDataSource、ThreadLocal来实现多数据源切换,以实现读写分离。mysql...

    spring mysql 读写分离

    Spring与MySQL读写分离** Spring作为一个灵活的Java应用程序框架,提供了多种方式来支持数据库的读写分离。通过配置数据源、事务管理器以及AOP(面向切面编程)等机制,Spring可以帮助我们透明地处理读写操作的路由...

    mysql 读写分离软件

    常见的MySQL读写分离软件有MySQL Proxy、MaxScale、HAProxy、AMQP等。每款软件都有其特点和适用场景,比如MySQL Proxy轻量级但功能相对简单,MaxScale是MySQL公司官方出品,功能强大且易于集成,HAProxy则常用于网络...

    springboot实现mysql的读写分离的案例源码

    读写分离就是对于一条SQL该选择哪一个数据库去执行,至于谁来做选择数据库这件事,有两个,要么使用中间件帮我们做,要么程序自己做。一般来说,读写分离有两种实现方式。第一种是依靠中间件MyCat,也就是说应用程序...

    基于SpringBoot,来实现MySQL读写分离技术.zip

    基于SpringBoot,来实现MySQL读写分离技术.zip基于SpringBoot,来实现MySQL读写分离技术.zip基于SpringBoot,来实现MySQL读写分离技术.zip基于SpringBoot,来实现MySQL读写分离技术.zip基于SpringBoot,来实现MySQL...

    springboot 实现mysql读写分离

    在IT行业中,数据库读写分离...总之,通过SpringBoot实现MySQL读写分离,不仅提高了系统的可扩展性和稳定性,还降低了单点故障的风险。在实际项目中,需要根据业务需求和系统规模,灵活选择合适的技术方案和配置策略。

    使用mysql-proxy实现mysql读写分离

    ### 使用mysql-proxy实现MySQL读写分离 随着业务规模的不断扩大,数据库系统往往成为整个系统中的瓶颈之一。为了提高系统的响应速度以及数据处理能力,一种常用的技术手段就是采用**读写分离**的方式。读写分离的...

    mysql与mycat的读写分离

    本文介绍了MySQL与Mycat读写分离的基本概念及其实现过程,包括MySQL主从配置、表创建策略以及Mycat读写分离机制的启用方法。通过这种方式,不仅可以提高系统的整体性能,还可以增强系统的稳定性和可扩展性。在实际...

    mysql读写分离的中间件

    在linux下用于部署读写分离的中间件maxscale。它是实现mysql数据库的读写分离的

    实现mysql读写分离+使用视频

    本教程将通过一系列视频和文档,详细讲解如何在MySQL环境中实现读写分离。 首先,我们来看“11-主从复制的原理.avi”。主从复制是实现读写分离的基础,它是指在一个MySQL集群中,一个节点(主节点)负责数据的写入...

    spring之mysql读写分离

    本文将深入探讨如何利用Spring AOP(面向切面编程)实现应用层的MySQL读写分离,并结合一主多从的配置来进行详细讲解。 首先,我们需要理解MySQL的主从复制机制。在主从复制中,数据的写操作(INSERT、UPDATE、...

    mysql读写分离实现

    ### MySQL读写分离实现 #### 一、MySQL读写分离概述 MySQL的读写分离是一种常用的数据库优化技术,主要用于提高数据库系统的并发处理能力和可用性。它通过将数据查询(读操作)与数据更新(写操作)分布在不同的...

    MySQL读写分离

    MySQL 读写分离实现原理和解决方案 MySQL 读写分离是指将数据库的读写操作分离到不同的服务器上,以提高数据库的性能和可用性。MySQL 读写分离可以通过主从复制实现,即一个主库和多个从库。主库负责写操作,从库...

    突破Java面试(50)-MySQL读写分离及主从同步延时解决方案.docx

    ### MySQL读写分离及主从同步延时解决方案 #### 一、引言 在现代互联网应用中,随着用户量的增长和业务复杂度的提高,单一数据库服务器往往难以满足高并发场景下的性能需求。为了有效应对这种挑战,许多企业选择了...

    基于Mycat实现Mysql读写分离以及分库分表.doc

    基于Mycat实现Mysql读写分离以及分库分表详解 本文档详细介绍了基于Mycat实现Mysql读写分离以及分库分表的技术,涵盖了Mycat安装、配置、读写分离、分库分表等多方面的知识点。 一、读写分离 Mycat读写分离是指将...

    mysql读写分离配置

    在进行MySQL读写分离配置前,我们需要确保有一个稳定的环境。本次配置环境为CentOS 7.2,并使用MySQL 5.7版本。 - **主数据库服务器(Master)**:192.168.206.100 - **从数据库服务器(Slave)**:192.168.206.200...

    Mybatis读写分离 mysql数据库 Druid连接池

    Mybatis读写分离,支持n多的从库,简单的负载均衡。数据库是mysql,采用druid连接池。 读写分离采用插件的形式实现的,优点是不需要写源注解,不需要写分开的Mapper.xml。 如果只有主库的话,那么会创建两个地址相同...

    MySQL读写分离集群最佳实践

    ### MySQL读写分离集群最佳实践 #### 一、概述 在现代互联网应用中,随着数据量的不断增长以及用户访问量的激增,单一数据库服务器往往难以满足高性能、高可用性的需求。为了应对这一挑战,一种常见的解决方案是...

    mysql 读写分离案例

    mysql 读写分离案例 mysql 读写分离案例

Global site tag (gtag.js) - Google Analytics