Subject Re: [firebird-php] Which DB abstraction to use with Firebird (if any)?
Author Milan Babuskov
Will Gibson wrote:
> Firebird is probably a reasonably settled choice of database - so is using an abstraction layer relevant? Each approach probably has pros and cons: any thoughts from you experienced people on most important factors and considerations would be welcome.

If you (even remotely) plan to port your apps. from Firebird to some
other DBMS, then some abstraction layer can save you a lot of work
later. Also, it gives you more flexibility. Suppose you wish to add a
feature to log all executed SQL statements in some text file. With
abst. layer, you just make change in one place, all other code is
untouched, and also unaware of it.

I myself use generators to create PHP code, so if I decide the port
apps. to something else, I'll just switch the stuff in generators and
regenerate. However, making a good generator could be a huge
undertaking, much bigger than simple abstraction layer, esp. since you
have many freely available abs. layers around.

As for performance, the thin abs. layers are usually not the
bottleneck of web application. It's the database structure and volume
of data that could make users "wait" for page to load.

To conclude: you have potentially a lot to gain, and very little to
lose if you use abstraction layers.

Milan Babuskov