Question

Mon application exige des tables de base de données d'archivage entre sybase et db2 et vice-versa un et à l'intérieur (db2 db2 et sybase à sybase) en utilisant java.

Je suis en train de comprendre les meilleures stratégies autour en termes de performance, la mise en œuvre, la facilité d'utilisation et l'évolutivité.

Voici mon processus actuel -

  • tables source et de destination avec les paramètres acceptables (de Java) sont définies dans des documents XML. [Requête réelle est placé à l'intérieur du xml parce que parfois à des paramètres sont acceptées à partir java (pour un état où la clause par exemple)]
  • l'application lit la source et la destination des configurations et de les exécuter de manière séquentielle.
  • destination est parfois facultative lorsque la source est tout simplement la suppression de données à partir d'une table spécifique ou lorsque la source est simplement appeler une procédure stockée.
  • ensemble de données entre la source et la destination est extrêmement importante (en millions)

Du haut de ma tête, il semble que je peux définir des dépendances entre sources multiples et la combinaison de destination et de les exécuter en parallèle dans plusieurs bandes de roulement. Mais cette amélioration toute performance (je l'espère)?

Y a-t-il des frameworks open-source pour l'archivage des données en utilisant java? Toute autre pensée du côté des outils sera vraiment utile.

Merci

Était-ce utile?

La solution

Le framework open source la plus puissante pour Java est la persistance Hibernate. Vous pouvez inverser le modèle ingénieur Java DB existant (voir Outils Hibernate) et effectuer une réplication à l'aide Session.replicate (). Vous pouvez affiner optimiser les performances en utilisant des sessions sans état et la mise en cache de second niveau, le cas échéant. La documentation est

Autres conseils

Regardez certains outils de réplication de base de données (nous utilisons Shadowbase ). Ils pourraient avoir Java API.

En outre, consultez cette whitepaper :

  

[IBM] offrent une solution en utilisant JDBC et   la norme SyncML pour atteindre générique   la réplication des données de base de données.

Pentaho Data Integration a un support robuste pour copier des données entre ou bases de données. De plus, il est Open Source et vous permet d'écrire des plugins en Java.

Migrer d'Oracle vers MySQL

La chose la plus importante que vous devez faire est de désactiver l'auto-validation dans JDBC, comme vous le feriez autrement engager après chaque insertion dans la table de base de données. Cela ruine la performance.

Mais vous avez essentiellement à comprendre votre système de synchronisation afin que vous puissiez identifier les enregistrements doivent être copiés avant de pouvoir décider de la façon de le faire réellement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top