Я думаю, что здесь было бы лучше использовать ORM.Что-то вроде ActiveRecord в Ruby, класса Perl: DBI или DBIx :: Class или даже Hibernate в Java.
ActiveRecord в Ruby уже предлагает встроенную поддержку работы с MySQL, PostgreSQL, SQLite, Oracle, SQLServer и DB2, в то время как hibernate, похоже, работает с гораздо большим количеством БД ( Поддерживаемые базы данных Hibernate * )
Работая с ORM, у вас есть унифицированный способ работы с БД.Конечно, запросы должны быть написаны на языке ORM (Ruby, Perl, Python, Java и т. Д.), А не на SQL.Но таким образом, вы также получаете уверенность в том, что эквивалентные операции выполняются во всех механизмах БД, и вам нужно только поддерживать один файл инструкций 'DDL / DML' для всех БД.
Надеюсь, это поможет