Si j'ai la possibilité d'utiliser .Net et que je peux effectuer des transformations de données parfaitement dans .Net, quand aurais-je besoin de SSIS? Existe-t-il une tâche pour laquelle SSIS conviendrait mieux? Les avantages supplémentaires de la transparence en valent-ils la peine? Est-ce juste ce avec quoi je suis plus à l'aise? Quelles sont les meilleures pratiques pour déterminer cela?
Réponses
Trop de publicités?bonne question.
si le montant de transfert de données énorme? êtes-vous le traitement de plusieurs fichiers de données et les transactions nécessité (à la fois au niveau du système de fichiers et de la base de données)? êtes-vous à faire face à de multiples sources de données à différents endroits (par ftp par exemple, le système de fichiers local, base de données)?
si les réponses sont oui, alors aller de l'avant avec ssis. fondamentalement .net est cool avec les petits de données importation / exportation des emplois, mais quand vous avez quelque chose de plus complexe, ssis est un vainqueur définitif
l'autre chose que je regarde est - vaut-il écrit .net code quand tout est disponible à l'intérieur de ssis. (ne me erreur - j'aime codage) cependant, tout ce que vous code, vous devez assurer :-)
Je pense que du temps de projet/contraintes de budget et de l'utilisation d'un outil standard sont quelques-uns des plus grands arguments pour l'utilisation de SSIS. Création d'un package SSIS est la plupart du temps de manière plus rapide que d'essayer de coder quelque chose de similaire .NET.
Mais, avec cela dit, il semble comme SSIS ont beaucoup de points de la douleur qui parfois pourrait aller à l'encontre de cet argument. Il l'a fait pour moi lors de l'élaboration d'une solution nécessaire à l'exécution dans des environnements différents à de nombreux clients différents. SSIS simplement regardé trop douloureux le plus, j'ai évalué pour le projet. Une architecture correcte .NET solution est plus facile à déployer, plus fiable, plus souple, plus facile à comprendre et peut aussi réaliser de très bonnes performances.
Mon humble avis: pensez à utiliser SSIS pour les projets que vous avez seulement besoin de déployer de l'une ou peut-être deux dans la maison environnements SQL Server. Sinon, l' .NET approche va rapidement devenir plus attrayant.
Je suppose que ça dépend de ce que vous faites. SSIS est très puissant, comme de vieilles DTS. Si vous chargez beaucoup d'articles et s'attendent à avoir des changements constants, je voudrais aller SSIS tout le chemin. Si vous êtes à la recherche de charger uniquement quelques éléments et c'est pour beaucoup de clients, je voudrais le mettre dans le code. Je préfère SSIS dans la maison des processus ETL, mais je l'utilise .Net au client des magasins quand j'ai besoin de charger des données depuis un ancien système dans une base de données SQL. Maintenant, comme je l'ai dit avant, si vous avez beaucoup de transformations et de beaucoup de différents silos de données à charger, je pense que vous serait fou pour faire cela .Net et j'irais SSIS. Si vous avez seulement quelques éléments à charge et c'est pour une seule application, et peut être installé en tant que partie d'une application à différents clients, j'irais .Net tout le chemin. Juste mes 2 cents.
J'ai beaucoup d'expérience avec SSIS de petits projets pour les grands, complexes ETL. Sans entrer dans les détails, c'est mes conseils pour vous: a) Si vous êtes administrateur et que vous n'êtes pas familier avec .NET, ou si vous êtes un développeur assez familier avec SSIS, alors vous pouvez utiliser les includes à petit, simple, assez simple, extraire,transformer, charger (ETL) des tâches. ' b) SSIS est très étrange, et il ya de nombreux pièges, pièges, et ce qui pourrait être considéré d'emblée bugs. Il est extrêmement puissant si vous êtes intimement familier. c) C# a maintenant TPL Dataflow. Simple de performance des tests de mettre de l'avant de la SSIS. (par exemple http://mymemoryleaks.blogspot.cz/2013/10/ssis-vs-tpldataflow.html) d) Si vous voulez faire quelque chose au-delà de trivial, et si vous pouvez utiliser .NET de compétences, d'utiliser .NET au lieu de SSIS.
SSIS possède de nombreuses méthodes intégrées pour effectuer des transformations à partir de différentes sources de données et vous pouvez les chaîner de manière à les rendre très personnalisables. Ils ont intégré des optimisations qui les rendent rapides.
Vous pouvez également utiliser .NET pour créer vos propres transformations personnalisées afin de tirer parti de la rapidité et de la répétabilité d'un travail SSIS.