- 浏览: 55681 次
- 性别:
- 来自: 北京
最新评论
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。
读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力。主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操作。当主数据库进行写操作时,数据要同步到从的数据库,这样才能有效保证数据库完整性。Quest SharePlex就是比较牛的同步数据工具,听说比oracle本身的流复制还好,mysql也有自己的同步数据技术。mysql只要是通过二进制日志来复制数据。通过日志在从数据库重复主数据库的操作达到复制数据目的。这个复制比较好的就是通过异步方法,把数据同步到从数据库。
主数据库同步到从数据库后,从数据库一般由多台数据库组成这样才能达到减轻压力的目的。读的操作怎么样分配到从数据库上?应该根据服务器的压力把读的操作分配到服务器,而不是简单的随机分配。mysql提供了MySQL-Proxy实现读写分离操作。不过MySQL-Proxy好像很久不更新了。oracle可以通过F5有效分配读从数据库的压力。
ebay的读写分离(网上找到就拿来用了)
mysql的读写分离
上面说的数据库同步复制,都是在从同一种数据库中,如果我要把oracle的数据同步到mysql中,其实要实现这种方案的理由很简单,mysql免费,oracle太贵。好像Quest SharePlex也实现不了改功能吧。好像现在市面还没有这个工具吧。那样应该怎么实现数据同步?其实我们可以考虑自己开发一套同步数据组件,通过消息,实现异步复制数据。其实这个实现起来要考虑很多方面问题,高并发的问题,失败记录等。其实这种方法也可以同步数据到memcache中。听说oracle的Stream也能实现,不过没有试过。
发表评论
-
java.util.SimpleDateFormat String到Date 转换
2010-09-25 10:03 932public class DataFormatCol { ... -
有关Spring AOP的概念理解
2010-07-09 10:51 6151.我所知道的aop ... -
技术开发人员SQL规范
2010-07-09 10:25 577虽然oracle主要的工作是dba所做的事情,不过作为一个普通 ... -
接口和抽象类的区别
2010-07-06 16:21 631请说说接口和抽象类的区别?估计90%的人都答不好 我的答 ... -
java2 核心编程必须掌握的问题,看看你知道多少?
2010-07-06 16:02 660Java2 测试问题列表: 1. 什么叫作抽象? 2. ... -
一个计算机专业学生几年的编程经验汇总(四)
2010-07-06 16:00 618Java杂谈(九)--Struts2 最近 ... -
一个计算机专业学生几年的编程经验汇总(三)
2010-07-06 15:59 606Java杂谈(七)--接口& 组件、容器 ... -
一个计算机专业学生几年的编程经验汇总(二)
2010-07-06 15:58 658Java杂谈(四) 不知不觉已经写到第四篇了 ... -
一个计算机专业学生几年的编程经验汇总(一)
2010-07-06 15:57 554想来学习Java也有两个年头了,永远不敢说多么精通,但也想谈谈 ... -
Java注释规范
2010-07-06 15:02 952定义这个规范的目的是让项目中所有的文档都看起来像一个人 ... -
完全卸载Oracle数据库的方法
2010-06-18 10:11 924很多朋友只用了Oracle的 ... -
Java面试题笔试题大全
2010-05-27 16:43 1178java面试题集 1.C++ ... -
JAVA面试题附答案(三)
2010-05-27 16:41 935101、java中会存在内存泄漏吗,请简单描述。 会。如 ... -
JAVA面试题附答案(二)
2010-05-27 16:37 84651、垃圾回收的优点 ... -
JAVA面试题附答案(一)
2010-05-27 16:31 9901、面向对象的特征有哪些方面 1.抽象: 抽象就是 ... -
Java经典面试题
2010-05-27 16:30 13211. Java中的异常处理机制 ... -
Java面试经典试题及答案
2010-05-27 16:29 1320第一,谈谈final, finally, finalize的区 ... -
Web容器和Web应用程序介绍
2010-05-27 09:40 1127http://hi.baidu.com/westsky/blo ... -
11本入门到精通J2EE书籍推荐
2010-05-14 17:00 2199这些书有的早已被业界人士强烈推荐,成为掌握EJB的必读书籍, ... -
JAVA JVM GC的工作原理
2010-05-14 16:59 1041一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的 ...
相关推荐
• 读写分离,解决“数据库读性能瓶颈”问题 • 水平切分,解决“数据库...• 对于互联网大数据量,高并发量,高可用要求高,一致性要求高,前端面向用户的业务场景,微服务缓存架构,可能比数据库读写分离架构更合适
数据库读写分离解决方案--DG实施方案.docx
springboot数据库读写分离,代码实现一主两从的读写分离,业务代码不影响,正常写就可以。可以根据自己需要修改
本代码为C#语言实现Redis数据库读写分离的实例。
SQLServer 2016,ASP.NET Core 2.1,Entity Framework Core 2.1.1。 读写分离案例
MYSQL数据库读写分离实验的mysql-proxy包
java mysql 读写分离demo mybatis作为数据库访问层,实现数据库读写分离的解决方案
springaop多数据库读写分离
最近项目要支持读写分离, 网上找了很多,但都是不太完整,我自己整理了下供大家参考。 我的项目使用的框架: springMvc+spring+hibernate+springJPA+maven, 数据库连接池用阿里的druid。
使用JAVA aop技术,实现mysql 数据库读写分离(密码:111111)
springboot+mybatis+druid+redis实现数据库读写分离和缓存
JAVA数据库读写分离项目源码(MYSQL),非常详细的注解,ssm框架开发,能使你快速掌握读写分离技术!!!
amoeba和mycat方式实现 数据库读写分离的详细步骤
使用Oracle Active Data Guard实现PMS2.0数据库读写分离初探.pdf
aop方式实现数据库读写分离
spring+springmvc+mybatis的整合以及数据库读写分离的测试
在应用层通过spring特性解决数据库读写分离代码
数据库读写分离mycat-conf内容
数据库读写分离的demo
技术分享:在应用层透过spring解决数据库读写分离