Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.Net vs SSIS: What should SSIS be used for?

If I have the option of using .Net and can do data transformations just fine in .Net, when would I need SSIS? Is there a certain task that SSIS would be better for? Are the added benefits of transparency worth it? Is it just what I am more comfortable with? What are the best practices for determining this?

like image 552
jle Avatar asked Mar 27 '09 15:03

jle


People also ask

What can SSIS be used for?

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.

Is SSIS going away?

Despite the arrival of Azure Data Factory, SSIS isn't going away soon. You could even say that the two tools have a friendly rivalry right now. Newer versions of Azure Data Factory include the Integration Runtime, a feature that offers data integration capabilities across different network environments.

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.


2 Answers

good question.

if the amount of data transfer huge? are you processing multiple data files and need transactions (both at file system level and database level)? are you dealing with multiple data sources at different locations (for eg ftp, local file system, database)?

if answers to above are yes then go ahead with ssis. basically .net is cool with small data import / export jobs, but when you have anything more complex, ssis is a definite winner

the other thing which i look at is - is it worth writing .net code when everything is available inside ssis. (dont mistake me - i love coding) however, anything you code, you need to maintain :-)

like image 98
Raj Avatar answered Oct 17 '22 00:10

Raj


I think project time/budget constraints and the use of a standard tool are some of the biggest arguments for using SSIS. Creating an SSIS package is most of the times way faster than trying to code something similar in .NET.

But with that said, it seems like SSIS have a lot of pain points that sometimes might invalidate this argument. It did for me when developing a solution that needed to run in different environments at many different clients. SSIS simply looked too painful the more I evaluated it for the project. A properly architected .NET solution is easier to deploy, more reliable, more flexible, easier to understand and can also achieve very good performance.

IMHO: consider using SSIS for projects that you only need to deploy to one or maybe two in house SQL Server environments. Otherwise, the .NET approach will quickly become more appealing.

like image 29
Lars Fastrup Avatar answered Oct 17 '22 01:10

Lars Fastrup