为什么数据库连接池异步的少

现状

1、 oracle
ORACLE OCI
有异步。但是没有事件接口。
异步命令发出后,你得自己查询完成。
2、 mysql
libdrizzle可以实现MySQL的异步调用
3、 其他数据库暂时不清楚

分析

个人认为主要原因如下:
1、数据库本身的机制已经将磁盘应用到了比较极限,数据库库都是分配了数据库文件后自己在分配文件里根据自己的数据文件的结构进行存储
2、类tuxedo的中间件已经将关系性数据库的数据库连接发挥到了一个比较高的水平
3、异步处理数据的返回,对于比较复杂的数据操作过程来,即使写好各种回调看起来也会呕吐

第三方意见

  使用TPC(每个连接一个线程)的模式,外加交易管理器,提供线程池。
把应用逻辑和线程池分开。
  使用TPC,可以数据库配连接池(连接数可配置,多少好可以试验),做同步访问。程序简单可靠,不易错。

  tpc服务器不直接对外。所有客户端都连接到交易管理器,可支持上万的同时在线。管理器对服务器有一个连接池,连接数可配置。管理器是线程池的,线程数可配置。就是,线程数,连接数,数据库连接数都是可配置的,你可以通过试验,最佳搭配,都能满足交易要求。
  这样,上万的客户端,到服务器一般只有几十个连接,起到了线程池的作用
交易管理器的处理吞吐量为65000/秒,足够一般的高密度交易了

参考文档

http://bbs.chinaunix.net/thread-4113079-2-1.html

你可能感兴趣的:(数据库,数据库连接池,异步)