dbproxy 简介

这里所提及的dbproxy,是PHP和Mysql服务器之间的一个联系桥梁... ...

正常情况下的PHP应用程序中(包括其它非PHP的数据库应用),,每个请求或者说进程/线程均直接与MySQL服务器对话直接查询,并维护这条连接直到程序或请求结束,但是在高并发或大量持久连接(应用程序为持久进程)时,对于MYSQL等各类数据库服务器来说负载相当重。

这里的dbproxy的想法就是:让PHP直接与dbproxy对话, 而dbproxy与MYSQL直接对话,起到一个中介代理作用。
PHP ---> dbproxy ---> mysql 

dbproxy本身是一个单进程轮循服务的守护程序,它维护着一条MYSQL连接(暂时只访问一个库),大量来自PHP的数据库查询请求均由dbproxy进行代理查询,所以看起来一般情况下用dbproxy的效率反而会比直接与MYSQL相连来得差。但dbproxy针对各类查询设计了一套缓冲系统,有效的降低了数据库的负荷,避免某些高并发的应用经常出现 too many connections 的错误,一个dbproxy可以方便的允许大量并发连接的起起落落而不影响到 MYSQL 服务器本身。
1> 对于SELECT缓冲策略: 针对完整的SQL语句求出 md5值,将查询结果句柄缓存,最多缓存 1000个, 超出后删除最早进来的,取缓存时对比时间戳记和md5值,缓冲有效时间可以自己设定。
2> 对于UPDATE/INSERT... 类的缓存策略:是将SQL语句放到一个队列中,等主进程比较闲的时候再把数据统一发向数据库,会造成写入延迟,对于不太重要的数据可以这么操作。

dbproxy作为一个中间件,需要常驻内存,如果开发一个dbproxy中间件,最好用C/C++语言来开发守护程序。由于PHP多数用于web请求(一个进程/线程一会儿就结束了),并没有大规模用于长驻进程,用PHP做长驻程序可能效果不好甚至可能有重大隐患。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCloudb介绍 什么是OpenCloudb?简单的说,OpenCloudb就是: • 一个彻底开源的,面向企业应用开发的“大数据库集群” • 支持事务、ACID、可以替代Mysql的加强版数据库 • 一个可以视为“Mysql”集群的企业级数据库,用来替代昂贵的Oracle集群 • 一个融合内存缓存技术、Nosql技术、HDFS大数据的新型SQL Server • 结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品 • 一个新颖的数据库中间件产品 OpenCloudb的目标是:低成本的将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题。 OpenCloudb的关键特性: • 支持Mysql集群,可以作为Proxy使用 • 自动故障切换,高可用性 • 支持全局表,数据自动分片到多个节点,用于高效表关联查询 • 支持独有的基于E-R 关系的分片策略,实现了高效的表关联查询 • 多平台支持,部署和实施简单 OpenCloudb的优势: • 基于阿里开源的Cobar产品而研发,Cobar的稳定性、可靠性、优秀的架构和性能,以及众多成熟的使用案例使得OpenCloudb一开始就拥有一个很好的起点,站在巨人的肩膀上,我们能看到更远。 • 广泛吸取业界优秀的开源项目和创新思路,将其融入到OpenCloudb的基因中,使得OpenCloudb在很多方面都领先于目前其他一些同类的开源项目,甚至超越某些商业产品。 • OpenCloudb背后有一只强大的技术团队,其参与者都是5年以上资深软件工程师、架构师、DBA等,优秀的技术团队保证了OpenCloudb的产品质量。 • OpenCloudb并不依托于任何一个商业公司,因此不像某些开源项目,将一些重要的特性封闭在其商业产品中,使得开源项目成了一个摆设。 OpenCloudb的长期路线规划: • 在支持Mysql的基础上,后端增加更多的开源数据库和商业数据库的支持,包括原生支持PosteSQL、FireBird等开源数据库,以及通过JDBC等方式间接支持其他非开源的数据库如Oracle、DB2、SQL Server等 • 实现更为智能的自我调节特性,如自动统计分析SQL,自动创建和调整索引,根据数据表的读写频率,自动优化缓存和备份策略等 • 实现更全面的监控管理功能 • 与HDFS集成,提供SQL命令,将数据库装入HDFS中并能够快速分析 • 集成优秀的开源报表工具,使之具备一定的数据分析的能力
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值