Bonjour,
J'ai hésité entre Développement et Réplication. Désolé si j'ai choisis le mauvais endroit.
"Mes" développeurs me demandent une solution pour copier certaines tables d'une base OLTP sur une base remote OLAP, ceci afin de créer un environnement d'archivage pour ces tables et de permettre de faire du reporting dessus.
Ce n'est donc pas une image de tables que l'on veut. Si tel avait été le cas, j'aurais alors choisis un système de réplication. Là, ils veulent récupérer toutes l'activité (insert, update et delete) de certaines tables d'une instance oltp sur une instance olap remote et garder sur ces tables remote olap les données lors de purge sur les table source oltp. La gestion de la purge pourra se faire avec un simple flag dans une table que va gérer l'opérateur des purges. Si le flag purge est à oui alors ne pas prendre en compte le delete sur les table remote olap.
Je pensais mettre en place du triggering. Pas le triggering de base car il risquerait de perturber les tables oltp en cas de problème mais le triggering asynchrone avec le service Broker.
J'ai fait un test avec une table et qq données et cela fonctionne très bien. J'ai trouvé sur le net une solution qui explique ce mécanisme.
https://blog.actorsfit.com/a?ID=0010...c-81950f4665ae
Le trigger insert, update ou delete enregistre toutes les informations au format xml dans la queue en local sur l'instance oltp. Un process associé à la queue se charge en asynchrone d'envoyer l'opération (insert, update ou delete) sur l'instance olap via un linked server. Ca marche bien et ça répond vite... mais j'ai très peu de données dans mon jeu d'essai.
On m'a dit que le service Broker fonctionne toujours avec la base msdb pour stocker les informations et ensuite les transmet à la base locale concernée. En cas de charge trop importante, il paraît qu'il peut y avoir des blocages à plusieurs niveaux (msdb / base locale) et que cela peut perturber l'instance SQL Server. Ce qui pourrait être gênant dans mon cas car c'est une instance oltp de prod.
De plus, on m'a dit que le débogage en cas de problème n'est pas évident sur service Broker.
Quel est votre avis, quelle est votre position sur cette solution ?
Vous me la conseillez ? Vous pensez plutôt à une autre solution, un autre mécanisme ?
Merci par avance pour votre aide sur le sujet
Cdlt,
Franck
Partager