2017-10-06 5 views
0

Je veux connaître les pensées des membres de débordement de pile sur le scénario ci-dessous basé sur leur expérience et leur compréhension. Nous obtenons entre 20 et 30 millions d'enregistrements en entrée (les entrées sont généralement des fichiers csv ou xls et peuvent être téléchargés vers la base de données si cela vous aide) et nous devons traiter ces enregistrements et générer différents fichiers, qui incluent les fichiers de sortie et les erreurs des dossiers. Ainsi, sur la base d'une logique métier, ces enregistrements sont déplacés vers des fichiers de sortie ou d'erreur. Actuellement, le processus en place utilise des packages SSIS et un outil ETL pour effectuer cette tâche. Ces pkgs et l'outil ETL lui-même prend 5 à 15 minutes à traiter, en fonction de la taille d'entrée.Remplacement de packages SSIS et de programmes ETL avec des applications de console .NET (C# .NET)?

Il existe un nombre d'entrées et un nombre de packages SSIS et de programmes ETL pour ceux-ci.

Nous souhaitons remplacer ces programmes SSIS et programmes ETL par une application .NET. Nous sommes préoccupés par la vitesse et les performances de ces applications .net, car les E/S sont généralement lentes en .net.

Ou y a-t-il une meilleure façon de gérer cela?

+0

La question contient beaucoup d'erreurs, d'illusions et de mythes. IO lent dans .NET? Vraiment? L'E/S lente est causée par un code incorrect, de mauvaises requêtes et de mauvais schémas, pas parce que c'est .NET. * Pourquoi * voulez-vous vous éloigner de SSIS? Pensez-vous que vous pouvez reproduire la même fonctionnalité? Y compris la surveillance et l'enregistrement? Y compris le traitement de flux? Pourquoi pensez-vous qu'une application console sera * meilleure *? Quelles sont les exigences * réelles *? –

Répondre

1

Nous avons remplacé nos packages SSIS les plus simples par une application de console .NET qui importe des données avec BULKINSERT. La performance est rapidement satisfaisante.

+0

Vous n'avez pas besoin d'une application console pour exécuter BULK INSERT. C'est ce que fait l'outil 'bcp'. Quant à la vitesse, elle devrait être la même quand vous n'avez pas de transformations - SSIS, BULK INSERT et bcp font le même travail dans ce cas –

+0

Vrai, mais le mettre dans une application de console vous permet de le coordonner avec une autre logique. –

0

Personnellement, je préfère utiliser SSIS en raison de la facilité d'expliquer ce que le paquet fait pour les nouvelles personnes.

Chaque fois que j'utilise des composants/tâches C#, je possède presque toujours le paquet pour toujours et mon but est de mettre au point le travail développé afin que je puisse travailler sur de nouvelles tâches. C'est peut-être parce que je suis dans l'environnement BI et que nous recrutons principalement des développeurs de bases de données et des rédacteurs de rapports, et les gens .net que nous avons habituellement pour le développement web. J'ai vraiment appris moi-même C# afin de tirer des services Web qui ont renvoyé XML et JSON. Je l'ai trouvé plus facile à traiter que les données ont été paginées et extrêmement complexes en convertissant en classes C# vs en essayant d'utiliser SSIS XML Source. Mais maintenant que j'ai les bases, je suis capable d'apprendre rapidement comment résoudre de plus en plus de problèmes. Cela dit, j'aime l'enveloppe de SSIS et j'utilise des tâches de script et des composants quand ils sont nécessaires, plus rapides, et parfois même quand ils sont plus simples.