数据库读写分离.doc随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越 来越大,对数据库或者 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也能实现,不过没有试过。
数据库读写分离 来自淘豆网m.daumloan.com转载请标明出处.