[DB-SIG] Uittests for Python Database API Specification 2.0

Michael Scharf Michael_Scharf@gmx.de
Wed, 27 Nov 2002 18:39:56 +0100


Gerhard Häring wrote:
 > That'd mostly be useful for comparing different DB-API
 > modules for the same database, as the DB-API wrappers have
 > overhead, too. Sometimes quite considerable overhead. But
 > for many applications, this is not a problem at all.

Well that's good. It would tests DB-engine + DB-API. That's
what you get as user anyway, and you somehow don't care
where exactly the performance bottleneck is. If there are
different DB-API's to choose, I think the tradeoff might be
speed for functionality. With a set of tests you can see
what's important for your application (thread safety, speed,
salability,...)

 >>What's also interesting sometimes it the disk space (% of wasted disk
 >>space given a data set) and (maximum) memory usage of a database.
 >>Finally, installation size is important sometimes.
 >
 > These are all characteristica of the RDBMS used.

Indeed, but what matters most of the time is the TOTAL
performance. If a high speed DB-engine appears very slow
because of a bad DB-API implementation, testing the
DB-engine itself is not very helpful, if you want to use
it from python (and you depend on the DB-API).

 > And unfortunately, it's hard to get such data, because it
 > fall in the benchmark category. And the commercial RDMBS
 > vendors are such losers that they all forbid publishing
 > benchmark results in their license agreements.

OH, I didn't know that. Therefore it's even more important
to have such tests, so everybody can run his own tests and
compare ;-)

 > Even fairly comparing open-source implementations is
 > difficult enough, as can be seen by the numerous flamings
 > between the PostgreSQL and the MySQL camp, for example.

OK, each implementation could contribute tests that make
their DB look good. If the tests explain what they do, a
user can decide if this is what he needs.

Michael