Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should programmers use SSIS, and if so, why? [closed]

As a .NET developer, for what reasons should I prefer SSIS packages over writing code? We have a ton of packages in production where I currently work, and they're a nightmare to both "write" (perhaps draw?) and maintain. Each package looks like a bowl of multicolored spaghetti with C# and VB.NET scripts mixed in at the points where the abstractions break down. To figure out what each "Execute SQL Task" or "Foreach Loop" does, I have to double click the damned thing and browse through a tree of literal values and expressions, scattered across multiple tabs.

I'm open minded, so I'd like to know if any other good developers find SSIS more productive than just writing some code. If you do find SSIS more productive, please tell me why.

like image 424
Charles Avatar asked Aug 24 '10 15:08

Charles


People also ask

Is SSIS obsolete?

Microsoft is clearly continuing to support SSIS, and with its ubiquitous use in enterprises worldwide, it's not likely to be deprecated any time soon.

What is the replacement for SSIS?

There are various SSIS alternatives that you can use for building ETL packages. Among such ETL tools are the following: Skyvia. Talend ETL.

What are the disadvantages of SSIS?

SSIS memory usage is high and it conflicts with SQL. In case of CPU allocation it also a problematic case when you have more packages to run parallel. You need to ensure that processer allocation between SQL and SSIS is done properly otherwise SQL have upper hand in it and due to that SSIS run very slow.

Why do we need SSIS?

SQL Server Integration Services is a platform for building enterprise-level data integration and data transformations solutions. Use Integration Services to solve complex business problems by copying or downloading files, loading data warehouses, cleansing and mining data, and managing SQL Server objects and data.


1 Answers

I use SSIS every day to maintain and manage a large data warehouse and cube. I have been 100% business intelligence and data warehousing for two years. Before that I was a .NET application developer for 10.

The value of SSIS is as a workflow engine to move data from one spot to another with maybe some limited transformation and conditional branching along the way. If your packages contain a lot of script then your team is using SSIS for the wrong tasks or isn't comfortable with SQL or has bought into the hype. SSIS packages are very difficult to debug. Script components are an absolute nightmare and should be used only for formatting, looping, or as a last resort.

  1. Keep your packages simple, sql tasks and data flow tasks.
  2. Do as much work as possible outside of SSIS, preferably in SQL
  3. Keep your variables in a single global scope
  4. Keep your SQL in variables or store procedures, never in-line
  5. Keep your variable values in a configuration store, preferably a SQL database
like image 101
Kevin D. White Avatar answered Sep 26 '22 02:09

Kevin D. White