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

数据库读写分离研究

阅读更多

如何提高大型网站的访问速度,根据理解和经验一般常用的方法如SQL优化、缓存、集群等等,NewEgg的专家提示说做过大型网站的话应该知道数据库读写分离的。

 

读写分离(Read/Write Splitting)”,基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。

对于大访问量的网站,一般会采用读写分离,比如ebay的读写比率是260:1,也就是大型的电子商务网站的。

网上看到说采用读写分离有如下工具:
1,oracle的logical standby
2, Quest公司的SharePlex
3, DSG公司的RealSync

 

MySQL Replication可以将master的数据复制分布到多个slave上,然后可以利用slave来分担master的读压力。那么对于前台应用来说,就要考虑如何将读的压力分布到多个slave上。如果每个应用都需要来实现读写分离的算法,一则成本太高,二来如果slave增加更多的机器,应用就要随之修改。明显的,如果在应用和数据库间加一个专门用于实现读写分离的中间层,则整个系统的架构拥有更好的扩展性。MySQL Proxy就是这么一个中间层代理,简单的说,MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQL Proxy是完全透明的,应用则只需要连接到MySQL Proxy的监听端口即可。当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器做为冗余,在应用服务器的连接池配置中配置到多个proxy的连接参数即可。

分享到:
评论
1 楼 A5121612886 2012-01-20  
说的好!

相关推荐

    数据库读写分离demo.rar

    数据库读写分离是一种常见的优化策略,特别是在高并发、大数据量的场景下,为了提升系统性能和可用性。在这个"数据库读写分离demo.rar"中,我们可以看到一个基于SQL Server 2016、ASP.NET Core 2.1和Entity ...

    数据库读写分离架构

    数据库读写分离是一种常见的数据库架构优化策略,主要是为了应对数据量大、读写操作频繁导致的性能瓶颈。在读写分离架构中,主库负责处理所有的写操作,而从库则处理读操作。主库与从库之间的数据同步通常通过主库的...

    C# Redis数据库读写分离

    在IT行业中,数据库读写分离是一种常见的优化策略,主要用于提高系统的并发处理能力和数据读取效率。Redis作为一款高性能的键值存储系统,被广泛应用于缓存、消息队列等场景。在C#环境下,我们可以利用各种客户端库...

    springboot数据库读写分离

    springboot数据库读写分离,代码实现一主两从的读写分离,业务代码不影响,正常写就可以。可以根据自己需要修改

    在应用层透过spring解决数据库读写分离

    在应用层透过Spring解决数据库读写分离 数据库读写分离是指将数据库的读取和写入操作分开处理,以提高数据库的性能和可用性。在应用层解决数据库读写分离可以通过Spring框架来实现,本文将介绍如何使用Spring解决...

    数据库读写分离解决方案--DG实施方案.docx

    "数据库读写分离解决方案--DG实施方案" 本文将详细介绍 Oracle Data Guard 实施方案,旨在实现数据库读写分离解决方案。该方案通过 DG 实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求...

    数据库读写分离:提升性能与可用性的策略与实践

    本文将详细介绍数据库读写分离的概念、实现方法、以及在不同数据库系统中的实践应用。 数据库读写分离是一种有效的架构策略,可以显著提升数据库的性能和可用性。通过本文的探讨,我们了解到了读写分离的重要性、...

    使用Oracle Active Data Guard实现PMS2.0数据库读写分离初探.pdf

    本文研究了使用Oracle Active Data Guard实现PMS2.0数据库读写分离,以解决PMS2.0业务系统中数据库I/O吞吐量和资源耗用的性能瓶颈问题。本文首先介绍了读写分离的技术原理,接着介绍了Oracle Active Data Guard(ADG...

    数据库读写分离demo

    数据库读写分离是一种常见的优化策略,它通过将数据的读取操作和写入操作分散到不同的数据库服务器上,以提高系统的并发处理能力和响应速度。在大型应用系统中,由于读操作通常远多于写操作,读写分离可以显著降低主...

    springaop多数据库读写分离

    在IT行业中,数据库读写分离是一种常见的优化策略,主要用于提高系统的并发处理能力和数据读取效率。Spring AOP(面向切面编程)与MyBatis框架的结合应用,可以帮助我们实现这一目标。以下将详细讲解如何利用Spring ...

    springboot+mybatis+druid+redis实现数据库读写分离和缓存

    在现代Web应用开发中,数据库读写分离和缓存技术是提高系统性能和可扩展性的关键策略。本项目采用SpringBoot、MyBatis、Druid和Redis这四个核心技术来实现这一目标。以下将详细讲解这些组件如何协同工作,以及它们...

    数据库读写分离(aop方式完整实现)

    最近项目要支持读写分离, 网上找了很多,但都是不太完整,我自己整理了下供大家参考。 我的项目使用的框架: springMvc+spring+hibernate+springJPA+maven, 数据库连接池用阿里的druid。

    基于JAVA springboot的SPI的数据库读写分离starter+源码+项目文档(毕业设计&课程设计&项目开发)

    基于JAVA springboot的SPI的数据库读写分离starter+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于JAVA springboot的SPI的...

    AOP动态实现MYSQL数据库读写分离

    在现代的高并发、大数据量的应用系统中,数据库的读写分离是一种常见的优化策略,它能够有效提升系统的处理能力和响应速度。本示例通过Java的面向切面编程(AOP)技术来实现实现MySQL数据库的读写分离,旨在帮助...

    数据库双活容灾和读写分离典型方案

    数据库双活容灾和读写分离是一种数据库架构设计,旨在提供数据高可用性、灾难恢复能力和高效的数据库访问性能。SQL SERVER数据库作为常见的商业关系型数据库管理系统,其双活容灾和读写分离方案具备以下关键知识点:...

    JAVA数据库读写分离项目源码(MYSQL)

    在Java开发领域,数据库读写分离是一种常见的优化策略,它能显著提高系统性能,尤其是在高并发环境下。本项目源码是基于MySQL数据库实现的,利用SSM(Spring、SpringMVC、MyBatis)框架进行开发,旨在帮助开发者快速...

    数据库读写分离配置Amoeba和Mycat.docx

    ### 数据库读写分离配置Amoeba和Mycat #### 一、数据库读写分离概念及重要性 数据库读写分离是一种常见的数据库优化技术,主要用于提高系统的整体性能和扩展能力。随着业务量的增长,单一数据库往往难以承受大量的...

    在应用层通过spring特性解决数据库读写分离代码

    在现代企业级应用中,数据库读写分离是一种常见的优化策略,它可以提高系统的读取性能,减轻主数据库的压力,保证数据的稳定性和可用性。Spring框架提供了丰富的特性来支持这一实践,使得开发者能够在应用层轻松实现...

    mysql数据库读写分离负载均衡

    【MySQL 数据库读写分离与负载均衡】 MySQL 数据库的读写分离是一种常见的优化策略,旨在提高系统的可扩展性和性能。在大型应用中,数据库往往成为性能瓶颈,尤其是在高并发的场景下,读写操作混杂可能导致服务器...

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

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

Global site tag (gtag.js) - Google Analytics