J'ai créé un ETL qui a grandi pour remplir environ 250 tables (tableaux, Tableaux Mise en scène Dimension et des tables de faits). J'ai obtenu le modèle de conception ETL de Stacia Meisner, son modèle de conception ETL était basé sur la création d'un package de modèle pour charger une table de transfert, charger une table de dimension puis charger une table de faits. L'idée est d'utiliser des variables que vous définissez dans un package spécifique qui appellent alors les procédures stockées appropriées, créer la lignée et les données d'audit, remplir les tables correctes etc en utilisant des expressions, de sorte que vous venez de copier et coller le package de modèle dans votre solution, modifier la variable et aussi longtemps que vous avez les procédures stockées en place pour la source des données et les noms de tables correctes, tout fonctionne parfaitement.SQL Server Integration Services - Hors d'exception mémoire
qui est ... jusqu'à ce que j'atteint 250 tables. Quand je lance l'ETL dans BIDS, il consomme de la RAM comme un fou. Lorsque je déploie l'ETL et l'exécute en SQL, ce n'est pas le cas. Un ETL Run sur mon ordinateur portable va probablement consommer environ 3 à 4 gigaoctets de RAM car il ouvre chaque paquet enfant de la mine d'un paquet parent. Il y a maintenant 250 paquets dans ma solution. Je peux stocker la RAM dans mon ordinateur portable (actuellement installé à 8 Go ou en RAM), mais il y a certainement des alarmes d'avertissement dans ma tête qui me font penser que 250 tâches de flux de données auraient peut-être été mieux choisies.
Comprendre la faille dans ce modèle de conception maintenant, je suppose alors mes questions sont les suivantes
- était-BIDS jamais censé avoir tant de paquets d'exécution au sein d'un ETL?
- Est-il possible que je peux réduire la consommation de mémoire vive quand je lance l'ETL au sein de l'IDE?
- est la consommation de RAM à attendre, et si oui, comment les développeurs ne traitent normalement avec elle. Je pourrais facilement contourner en jamais l'exécution de l'ETL entier dans mon IDE, mais le tester dans ses parties, puis le déployer dans son intégralité
- Dois-je pas loin de l'emballage 1 par modèle de conception de table et mettre en œuvre des tâches de flux de données 3 paquets (1 pour le chargement des tables de transfert, 1 pour le chargement des dimensions et 1 pour le chargement de mes tables de faits)
Merci pour votre temps, j'apprécierais votre contribution.
Cordialement,
Jesse
Merci Jo, j'apprécie vraiment vos commentaires. Je suis d'accord avec tout ce que vous avez mentionné. –