Comment Re:If you have abstraction, switching is a LOT eas (Score 1) 622
Clean, well-separated code should be able to be ported to a new database platform at least three times before it starts to approach the break-even point that would have made building your own general purpose database abstraction layer worthwhile. This is the sort of false economy that you commonly find rearing its head with developers who are attempting to solve problems that don't exist yet.
If avoiding vendor lock-in is such an important requirement, it would generally be cheaper to buy a database abstraction framework (or, thinking outside the box here, sticking to standard SQL) rather than attempting to roll your own. However, in practice I think vendor lock-in on the database platform is less of a concern than vendor/technology lock-in on your web application framework, so to my mind it's questionable that you're getting a great deal of value by going down this path.