2010-12-11 82 views
1

Je voudrais utiliser Derby en tant que sous-ensemble pour une base de données DB2 donnée qui doit être exécutée dans un Mainframe.Schéma portable entre Derby et DB2

Quels conseils et astuces donneriez-vous lors de la conception de la base de données afin d'être au maximum (au moins DML) entre les deux bases de données?

Répondre

3

Je suppose que par "tout au plus" vous vouliez dire "le plus compatible" dans votre question? En général, je pense que vous avez fait le bon choix avec Derby. C'est la seule base de données que je connaisse, qui applique un typage aussi fort que DB2. Je suppose que ce n'est pas une coïncidence que la version de Derby de la table dual s'appelle SYSIBM.SYSDUMMY1. La meilleure façon d'éviter les problèmes d'incompatibilité DML consiste à utiliser un moyen d'abstraction de base de données dans votre application. Si vous utilisez Java, alors Hibernate ou jOOQ fournissent de telles options. Si l'extraction de votre base de données n'est pas une option pour vous, je vous recommande d'écrire un grand nombre d'exemples de requêtes dans un test d'intégration automatisé. Ce test, vous allez ensuite exécuter à la fois contre Derby et DB2, pour vérifier que le comportement sera identique (par exemple, insérer des enregistrements, les relire en utilisant JOINs, SELECTS imbriqués, etc, etc).

En tant que développeur de jOOQ, je peux vous dire qu'écrire les tests d'intégration vous-même sera assez compliqué, surtout pour Derby et DB2! :-)