
On Wed, Jan 11, 2012 at 10:46 PM, mloskot <mateusz@loskot.net> wrote:
I'd really like to see CppDB proposed for review. This would be a great opportunity to resurrect discussion on design and implementation of super-duper C++ library for communication with DBMS.
A generic RDBMS library using typesafe modern C++ is great, but one thing to keep in mind is performance and not fall into the most-common-denominator pitfall. For example, using Oracle OCI, I see a 5x performance improvement on inserts from using array operations (like OCIBindArrayOfStruct and co.) and minimizing round-trips to the server, compared to doing "scalar" inserts, as most wrapper libraries I know of perform. Blob read/write can similarly be greatly optimized via array-ops (from 4x to > 20x depending in size and number of blobs). Unless the community decides the high-performance use cases are out-of-bounds as too DB-vendor specific, but let that be a conscious decision at least, not an unforeseen consequence of the library's design/API. --DD