转自:http://shiyaobin888.blog.163.com/blog/static/4110683520102684137158/
如何提高大型网站的访问速度,根据理解和经验一般常用的方法如SQL优化、缓存、集群等等,NewEgg的专家提示说做过大型网站的话应该知道数据库读写分离的。
读写分离(Read/WriteSplitting)”,基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。
对于大访问量的网站,一般会采用读写分离,比如ebay的读写比率是260:1,也就是大型的电子商务网站的。
网上看到说采用读写分离有如下工具:
1,oracle的logical standby
2, Quest公司的SharePlex
3, DSG公司的RealSync
MySQLReplication可以将master的数据复制分布到多个slave上,然后可以利用slave来分担master的读压力。那么对于前台应用来说,就要考虑如何将读的压力分布到多个slave上。如果每个应用都需要来实现读写分离的算法,一则成本太高,二来如果slave增加更多的机器,应用就要随之修改。明显的,如果在应用和数据库间加一个专门用于实现读写分离的中间层,则整个系统的架构拥有更好的扩展性。MySQLProxy就是这么一个中间层代理,简单的说,MySQLProxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQLProxy是完全透明的,应用则只需要连接到MySQLProxy的监听端口即可。当然,这样proxy机器可能成为单点失效,但完全可以使用多个proxy机器做为冗余,在应用服务器的连接池配置中配置到多个proxy的连接参数即可。
什么是数据库的读写分离
分享到:
相关推荐
• 读写分离,解决“数据库读性能瓶颈”问题 • 水平切分,解决“数据库...• 对于互联网大数据量,高并发量,高可用要求高,一致性要求高,前端面向用户的业务场景,微服务缓存架构,可能比数据库读写分离架构更合适
springboot数据库读写分离,代码实现一主两从的读写分离,业务代码不影响,正常写就可以。可以根据自己需要修改
本代码为C#语言实现Redis数据库读写分离的实例。
SQLServer 2016,ASP.NET Core 2.1,Entity Framework Core 2.1.1。 读写分离案例
java mysql 读写分离demo mybatis作为数据库访问层,实现数据库读写分离的解决方案
数据库读写分离解决方案--DG实施方案.docx
MYSQL数据库读写分离实验的mysql-proxy包
springaop多数据库读写分离
使用JAVA aop技术,实现mysql 数据库读写分离(密码:111111)
最近项目要支持读写分离, 网上找了很多,但都是不太完整,我自己整理了下供大家参考。 我的项目使用的框架: springMvc+spring+hibernate+springJPA+maven, 数据库连接池用阿里的druid。
springboot+mybatis+druid+redis实现数据库读写分离和缓存
JAVA数据库读写分离项目源码(MYSQL),非常详细的注解,ssm框架开发,能使你快速掌握读写分离技术!!!
读写分离就是对于一条SQL该选择哪一个数据库去执行,至于谁来做选择数据库这件事,有两个,要么使用中间件帮我们做,要么程序自己做。一般来说,读写分离有两种实现方式。第一种是依靠中间件MyCat,也就是说应用程序...
达梦数据库DM8读写分离集群部署
使用Oracle Active Data Guard实现PMS2.0数据库读写分离初探.pdf
基于Oracle数据库的读写分离电子商务系统的设计与实现.docx基于Oracle数据库的读写分离电子商务系统的设计与实现.docx基于Oracle数据库的读写分离电子商务系统的设计与实现.docx基于Oracle数据库的读写分离电子商务...
aop方式实现数据库读写分离
spring+springmvc+mybatis的整合以及数据库读写分离的测试
在应用层通过spring特性解决数据库读写分离代码
数据库读写分离的demo