Comparing DBI and Alternatives

# Comparing DBI and Alternatives(Attempting the Impossible!)

“Power”

“Effort”

Command Line

Native API

ODBC/

JDBC

and

drivers

DBI

and

Drivers

Precompilers

Win32::ODBC

TCL

(oratcl, sybtcl)

Please note: This chart is correct only for some values of correct!

Sybase::DBlib

Previous slide | Next slide | Back to first slide | View graphic version

Notes:

Native API’s will generally offer the most power, e.g., Oracle OCI.

But take a lot of effort to learn and use.

Knowledge is rarely portable to other APIs

Generic application language interfaces: ODBC and JDBC.

Still lots of effort to learn

Knowledge is portable to other APIs

Power is dependant on quality of ODBC driver

Pre-compilers for C (where SQL is embedded in C and ‘precompiled’)

Simpler than a raw C API but typically less power. Hard to debug.

Command line access - Just type it in!

Generate SQL from scripts etc.

Not robust - hard to check for and respond to errors

Script Languages

TCL (oratcl, sybtcl) generally much slower. Binary data hard.

Win32::ODBC - a bottom-up approach - thin layer over raw ODBC calls. DBI is higher level but DBD::ODBC doesn’t yet have the same breadth of ODBC specific functionality. Recommended for existing users and people who need that degree of control.

DBI+DBD::ODBC can run over twice as fast as Win32::ODBC.

Sybase - and other database specific perl extensions

Can gain some performance advantage if well written but loose out on the DBI extras: portable apps & knowledge, tools, subclasses etc.