什么是数据库的读写分离

什么是数据库的读写分离,第1张

数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。对于大访问量的网站,一般会采用读写分离,比如ebay的读写比率是260:1,也就是大型的电子商务网站的。网上看到说采用读写分离有如下工具:1,oracle的logical standby2, Quest公司的SharePlex3, DSG公司的RealSyncMySQLReplication可以将master的数据复制分布到多个slave上,然后可以利用slave来分担master的读压力。那么对于前台应用来说,就要考虑如何将读的压力分布到多个slave上。如果每个应用都需要来实现读写分离的算法,一则成本太高,二来如果slave增加更多的机器,应用就要随之修改。明显的,如果在应用和数据库间加一个专门用于实现读写分离的中间层,则整个系统的架构拥有更好的扩展性。MySQLProxy就是这么一个中间层代理,简单的说,MySQLProxy就是一个连接池,负责将前台应用的连接请求转发给后台的数据库,并且通过使用lua脚本,可以实现复杂的连接控制和过滤,从而实现读写分离和负载平衡。对于应用来说,MySQLProxy是完全透明的,应用则只需要连接到MySQLProxy的监听端口即可。

实现Oracle数据库的读写分离的方法:

DSG RealSync同步软件的实现方案:

利数据库同步复制软件是实施关键系统灾备工程的一个重要组成部分,当生产系统出现异常或故障时,备份系统的数据库能够完全代替生产系统的Oracle 数据库管理系统,以实现关键系统的正常运行。

1、充分利用投入的资源:

平时灾备数据库可以作为查询库来使用,方便的实现了读写分离,降低了主生产系统的压力。可以充分的把灾备资源利用起来,不至于浪费投入。

2、将查询、报表、统计等查询 *** 作业务全部割接到备份数据库,主库只用于写 *** 作。新写入的数据在三秒左右会同步到备份库。

读写分离的实现后,业务性能远远超过用户估计。

3、业务功能实现:

在关键业务应用系统的数据库上安装复制软件代理程序,通过代理程序获取数据库的交易,实现数据变化的实时跟踪。抓取的数据通过1000Mbps以太网进行实时传输,实现系统数据同步到备份系统上的实时传输。

4、技术实现:

复制软件是采用交易复制的方式进行数据同步;灾备数据库上的Oracle数据库处于OPEN状态,可提供实时数据访问。数据复制的时延可以控制在3秒左右。

读写分离,基本的原理是让主数据库处理事务性增、改、删 *** 作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询 *** 作。数据库复制被用来把事务性 *** 作导致的变更同步到集群中的从数据库。

为什么要读写分离呢?

因为数据库的“写”(写10000条数据到oracle可能要3分钟) *** 作是比较耗时的。

但是数据库的“读”(从oracle读10000条数据可能只要5秒钟)。

所以读写分离,解决的是,数据库的写入,影响了查询的效率。

数据库不一定要读写分离,如果程序使用数据库较多时,而更新少,查询多的情况下会考虑使用,利用数据库 主从同步 。可以减少数据库压力,提高性能。当然,数据库也有其它优化方案。memcache 或是表折分,或是搜索引擎。都是解决方法。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9898647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存