What is the benefit of having an 'asynchronous DB driver' when the asynchronicity is simulated by use of a thread pool over simply having worker threads for your application logic and using a synchronous DB driver? In the end, either way you are using a thread pool.
The only potential benefits I can think of are: 1) Your thread pool could be smaller if your application spends very little time performing DB work and your application logic takes the majority of your processing time. But, here again, having a thread pool for your application logic would probably be a 'Good Thing' so you can take advantage of multiple cores for your application logic. 2) You have implemented an application that supports multiple data sources (i.e. you can point them to different data sources, not multiple sources at the same time). Some of those data sources are truly asynchronous and thus your application is built expecting any data source to be asynchronous. An asynchronous JDBC wrapper would allow your application to work unmodified with an SQL DB. But, how many applications are built with this expectation and support multiple data sources? It's probably better to build your application to use worker threads and expect to block during data access. 3) This is a 'bridge' technology until actual asynchronous DB drivers can be implemented for the various DB's. Some sort of 'standardized' call-back API would also have to be implemented and accepted in the industry. Are there other benefits I haven't thought of? Or are my assertions for #1 & #2 above incorrect? Thanks Rob ----- Original Message ---- From: 이희승 (Trustin Lee) <[EMAIL PROTECTED]> To: [email protected] Sent: Tuesday, March 11, 2008 10:50:15 PM Subject: Re: [OT] Asynchronous database drivers I think this is a great idea considering every bottleneck we find out eventually is often a backend such as database. I'd like to ping my colleagues who are trying to store web documents into MySQL database. Cheers, 2008-02-04 (월), 12:12 -0700, Mike Heath 쓰시길: > This past weekend I made a release of the asynchronous database driver > project I've been working on for the past few months. I've been working > on this project as part of my master's thesis. > > I call the project Asynchronous Database Connectivity in Java (ADBCJ), > http://adbcj.org/. I've implemented asynchronous MySQL and Postgresql > drivers using MINA. I've also implemented a driver that wraps JDBC and > achieves asynchronism using a thread pool. The API and drivers are > still a bit immature and incomplete but I thought that making this > project more public would help with getting some feedback before I get > too far. > > I have a simple tutorial for using ADBCJ at > http://code.google.com/p/adbcj/wiki/Tutorial. > > Once I'm close to finishing my thesis, I would like to move ADBCJ over > to Apache and get these drivers production ready but that's a ways down > the road. > > > -Mike -- Trustin Lee - Principal Software Engineer, JBoss, Red Hat -- what we call human nature is actually human habit -- http://gleamynode.net/ ____________________________________________________________________________________ Looking for last minute shopping deals? Find them fast with Yahoo! Search. http://tools.search.yahoo.com/newsearch/category.php?category=shopping
