随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者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也能实现,不过没有试过。

数据库读写分离(oracle)相关推荐

  1. 跟我学Springboot开发后端管理系统5:数据库读写分离

    在Matrix-web后台管理系统中,使用到了数据库的读写分离技术.采用的开源的Sharding-JDBC作为数据库读写分离的框架.Matrix-Web后台数据库这一块采用的技术栈如下: 使用Myba ...

  2. 学会数据库读写分离、分表分库

    https://www.cnblogs.com/joylee/p/7513038.html 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优 ...

  3. 018:Django商城部署和数据库读写分离

    本章知识点 1.Centos下python3环境的部署 2.Python uwsgi 3.Python uwsgi+nginx部署 4.mysql主从备份介绍 5.Linux下的mysql安装 6.基 ...

  4. 数据库 读写分离 原理

    数据库读写分离(转载) 随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状.读写分离现在被大量应 ...

  5. 一文详解高性能数据库:读写分离

    虽然近十年来各种存储技术飞速发展,但关系数据库由于其 ACID 的特性和功能强大的 SQL 查询,目前还是各种业务系统中关键和核心的存储系统,很多场景下高性能的设计最核心的部分就是关系数据库的设计. ...

  6. 解决数据库读写分离(转)

    如何配置mysql数据库的主从? 单机配置mysql主从:http://my.oschina.net/god/blog/496 常见的解决数据库读写分离有两种方案 1.应用层 http://neore ...

  7. .net core发布 正在发现数据上下文_使用EF Core实现数据库读写分离

    以下文章来源于朝夕Net社区 ,作者Eleven 朝夕Net社区 朝气.丰富.活跃的.Net社区,朝夕教育携百万粉丝共同打造!有技术,有感悟,有新闻,有照片,有故事,还有梦想! [精选转载]| 作者/ ...

  8. 简单好用!利用Spring AOP技术10分钟实现一个数据库读写分离方案

    前言 最近我们的APP在线用户越来越多,接口的响应速度也是越来越慢,经过运维排查发现是由于并发查询太多导致的数据库压力比较大,架构师经过调研给出了数据库读写分离的解决方案,为了快速解决问题,我们最终采 ...

  9. PG SQL数据库读写分离的思路

    PGSQL可以设置一台主多个SLAVE,这样我们需要一个办法能在程序里做到读写分离,查询了互联网,找到了下面的解决思路,请周枫在后继开发中测试下面的思路方案: 在应用层通过spring特性解决数据库读 ...

  10. java spring mysql配置_java相关:mysql+spring+mybatis实现数据库读写分离的代码配置

    java相关:mysql+spring+mybatis实现数据库读写分离的代码配置 发布于 2020-4-4| 复制链接 分享一篇关于关于mysql+spring+mybatis实现数据库读写分离的代 ...

最新文章

  1. ISME:林科院袁志林等-冷杉优势真菌共生发育的基因家族趋同演化及平衡选择机制...
  2. 瀑布模型(经典的生命周期模型)
  3. codeforces 521div3(D Cutting Out)java
  4. html樱花飘落代码_爱心飘落特效
  5. stm32驱动ssd1306配置_STM32 OLED 屏幕 驱动芯片SSD1306 IIC代码
  6. git reset, git checkout, git revert 区别 (译)
  7. python没有联网_无网环境下的 Python 开发指南
  8. ue4蓝图和ai的区别_UE4 AI基础
  9. Android 系统(4)---Android HAL层与Linux Kernel层驱动开发简介
  10. uva 11374(Dijkstra) HappyNewYear!!!
  11. 面试题目_数据分析之hive sql面试题目
  12. Helm 3 完整教程(十七):Helm 流控制结构(1)if / else 语句
  13. 项目部署到自己的IIS上
  14. switch 无法启动软件,请在HOME菜单中再试一次
  15. 魔百盒M301H-九联(JL)代工-强刷固件及教程
  16. 用HTML做窗体程序界面
  17. python 无法使用Ctrl-C终止Python脚本(ctrl+c 退出while True)
  18. Android app本地图片转换成Drawable对象的方法
  19. 基于Python的堆优化单源最短路径
  20. 新的摩尔多瓦投资公民身份计划开放申请

热门文章

  1. 黄章出山的730天:牢牢掌控魅族,绝不放权!
  2. 定时执行命令crontab的使用
  3. Python_Task06:函数与Lambda表达式
  4. Android 切换系统语言功能实现(下)
  5. excel几个表合成一张_如何将几个excel文件合并_多个excel表合并成一个的方法
  6. 在Java中计算各位数字立方和
  7. Openssl 建立双向认证的 SSL/TLS 通信
  8. 1.4总线:并行总线、串行总线、单工、半双工、全双工、总线宽度、总线带宽、总线的分类、数据总线、地址总线、控制总线
  9. QQ2012[QQ圈子]功能试用:按照真实生活将好友分圈
  10. 反思:项目开发中的语言沟通与文档沟通