In this new posting from Xaprb's blog today, there's a look at four different types of database abstraction layers, each with their own unique strengths.
Quite a few people have chimed in on a recent discussion about PHP, MySQL, database abstraction layers, and performance. I think enough viewpoints have been covered that I don't need to comment, but one question I don't see answered is "what are the qualities of a good SQL abstraction layer?" I think it's a very interesting — and complicated — question. As it turns out, the term has several meanings, and I think it's important to understand them.
The four types he lists are:
- Libraries that provide access to a database
- Libraries that present a common interface to different server software
- Libraries that write portable SQL
- Object-relational mapping software