Regarding performance, given that creating tables is such an infrequent thing, and even when done, it only affect a few tables, the performance cost of the new abstraction layer is negligible. I am sort of conflicted on this new abstraction layer thing. I agree that will make things much easier for everyone, and hence has merit. However, unless we go totally SQL-less (i.e. no one can write direct SQL in Drupal modules, think ORM, e.g. Active Record), this will only take part of the issue (database portability) away, and not all of it. People can still write non-portable SQL, although the table creation part was taken care of. So, this may give a false sense of total abstraction, while we do not have it yet. For an alternate view on abstraction (that I do not fully support mind you, I think abstraction has merits), read Jeremy Zawodny's Database Abstraction Layers Must Die. http://jeremy.zawodny.com/blog/archives/002194.html His main points are: 1. With abstraction layers, performance cannot be gained. 2. Changing databases is never easy for a large site.