• Lynn Pettis (8/9/2012)


    That's where you build a database agnostic DAL and your actual database layer is written to support the RDBMS of choice. To provide a system that performs well on both Oracle and SQL Server, for instance, you should have to separate code bases at the database layer. This allows you to code each to make the best use of the RDBMS features available.

    Extra cost, probably. Better performance for the application on both systems, probably. If a customer were to change the RDBMS would you be in a better position to retain the customer, (again) probably.

    Agreed on all counts, especially when it comes to the actual application code. In terms of the basic schema design though, it's still a case of working out the closest possible fits in terms of data types and a few small sacrifices for the sake of consistent data across the platforms isn't so awful (although good luck finding consistent data types for dates/times).