2008-10-16 10 views

Répondre

4

En général, vous devez utiliser DCN pour notifier une application cliente que l'application cliente doit effacer/mettre à jour le cache de l'application. Vous utiliseriez CDC pour le traitement ETL.

DCN serait généralement préférable lorsque vous avez une application OLTP qui doit être immédiatement informé des changements de données dans la base de données. Puisque l'objectif ici est de minimiser le nombre d'allers-retours réseau et le nombre de hits de base de données, vous souhaiterez généralement que l'application utilise DCN pour les requêtes qui sont pour la plupart statiques. Si une grande partie de la requête change régulièrement, il vaut mieux simplement actualiser le cache de l'application sur une fréquence définie plutôt que d'exécuter des requêtes en permanence pour obtenir les données modifiées (DCN ne contient pas les données modifiées, juste le ROWID de la ligne (s) cela a changé). Si l'application tombe en panne, je crois que DCN permet de perdre des modifications.

CDC serait généralement préférable lorsque vous avez une application DSS qui a besoin de tirer régulièrement sur toutes les données modifiées dans un certain nombre de tables. CDC peut garantir que l'abonné a reçu toutes les modifications apportées aux tables sous-jacentes, ce qui peut être important si vous essayez de répliquer des modifications dans une base de données différente. CDC permet à l'abonné de tirer les modifications à sa convenance plutôt que d'essayer d'informer l'abonné qu'il y a des changements, donc vous voudriez certainement CDC si vous vouliez que l'abonné traite de nouvelles données toutes les heures ou tous les jours plutôt qu'en temps quasi réel . (note: DCN a également un mode de livraison garanti, voir les commentaires ci-dessous - Mark Harrison)

+0

Disque vs mémoire essentiellement. –

1

CDC semble être beaucoup plus complexe à configurer que DCN.

Je veux configurer DCN J'enveloppe une sélection dans un début et la fin du bloc DCN puis écrire une procédure à appeler avec Collect des changements. C'est tout.

CDC nécessite des éditeurs et des abonnés et de toute façon, semble plus de travail. DCN peut être mis en mode de garantie de livraison.