Creating ETL Package with SSiS Developers
SQL Server remains one of the best-supported database solutions for enterprises, thanks to Microsoft’s innovation around its data tools. For decades now, this has made the use of SQL Server a smart tech choice for CTOs, enterprise architects and database administrators. SQL Server’s tooling makes it easier for the warehouse developer to efficiently develop industrial-strength data flows. One great example of Microsoft’s innovation around the ease of data handling is its SSIS package and the ecosystem it has created for data migration.
SSIS stands for “SQL Server Integration Services.” Microsoft introduced SQL Server Integration Services in 2005 as a tool to ease the migration of information stored in the SQL Server database. Below we show you how this technology works and how SSIS developers can aid in creating ETL packages for information warehousing projects.
The Main Problem SSIS Developers Solve
The main problem that SSIS developers solve is the difficulty of moving data back and forth between different containers. For example, suppose you have records in one smaller database that you need to backup and move to a larger central database. This workflow is critical for a business, yet fraught with risk.
If done improperly, you could corrupt your database or lose information entirely. A developer skilled with SSIS and related Microsoft migration tools can help you architect a robust data migration flow for this important task.
Businesses That Benefit from SSIS Development
SSIS developers frequently work with ETL (extract, transform, load) workflows, which are useful in a range of businesses such as the following:
- Insurance – moving and handling insurance records
- Finance – storing and loading financial data
- Healthcare – managing health records for hospitals and patients
- Manufacturing – processing industrial information and records
- Government – loading and transforming large quantities of data from government operations
- Tech Startups – processing data from user-focused apps and technology services
Features of SQL Server Integration Services
SSIS comes with its own development environment: SSBIDS or SQL Server Business Intelligence Development Studio. This data-specific IDE is built on top of Microsoft’s Visual Studio IDE. What makes it especially easy to use is its visual user interface that allows SSIS developers to create database migration scripts using drag and drop functionality.
SSIS developers also have access to a newer tool for writing SSIS packages. The new tool, SQL Server Data Tools (SSDT), works with Microsoft Visual Studio 17 and 15. It is also the tool that Microsoft is focusing on for the future of SSIS and related database development.
Creating an ETL Package in 10 Steps: How to Do It
At the core of a SQL Server Integration Services developer’s skills is the ability to create ETL packages. ETL packages are essential for transforming data in a variety of contexts. With Business Intelligence Development Studio or SQL Server Data Tools, this process is much easier. Below, we show you the 10 steps that a developer using SSIS has to follow in order to create an ETL package.
Step 1: Prepare the Information Source and Destination
First, an SSIS developer has to prepare the data source as well as the destination. Some possible information sources include:
- A database – the most common type
- Text files – frequently, the data involved may be stored in text files
- A database dump – the data may be contained in an existing backup file
The destination will typically be a SQL Server database or an archival system.
Step 2: Design the Transform
The developer now needs to come up with a specification for the transform as well as to create the actual ETL project in Business Intelligence Development Studio. The developer has the option of using SSIS Designer for this. Alternatively, the developer can create this project in SS Data Tools with Visual Studio 15, 17, or later.
Step 3: Write Data Extraction Query
Once the SSIS ETL developer has designed the ETL transform, now data has to be extracted from the source. This involves writing SQL queries that extract the data if the data is coming from a database. The developer can also use a wizard that is available as part of SQL Server Data Tools. Using the SQL Server Import and Export Wizard, the SSIS developer can import data from these sources:
- Text files
- Enterprise databases such as SQL Server, DB2, and Oracle
- Open source databases like PostgreSQL and MySQL
Step 4: Archive the Extracted Data So That It Can Be Backed Up or Audited
An easy to overlook but important step in ETL is to archive the extracted data. Often, teams will stop worrying about the original data with the idea that all they need is the destination data store. In reality, keeping an archive of the original data helps the team with a ready backup in case anything goes wrong. Your SSIS developers should therefore make archives of the data so you can access it for later audit if necessary.
Step 5: Write a Transform with SSIS Expression Language
The developer then has to perform transformations on the incoming data. This could include validating data or combining two values into a single, derived value. SSIS comes with its own programming language to make scripting easier.
The SSIS Expression Language has syntax similar to C or C#. It allows the developer to write conditional logic that checks, for example, if the values in a table are above certain required thresholds. Suppose the developer is copying over data on enterprise purchasing prices. An ETL script with Expression Language can check if the validity date has not passed yet, and only copy over unexpired pricing data. The developer can also make use of Biml (Business Intelligence Markup Language), which uses XML-based syntax to define data transforms.
Step 6: Optimize the Data Extraction and Transform
Computer scientist Donald Knuth wrote the famous words “premature optimization is the root of all evil.” In the case of data extraction, therefore, you want to consider optimization after your basic data extraction and transform is in place. In this step, the SSIS coder considers the queries that are being run and eliminates performance bottlenecks.
Step 7: Provide Error Handling to Save Data and Address Errors
You will likely encounter some problems and errors in the data extraction. For example, certain fields might be missing from the extracted data. The developer must provide error handling logic to fix such problems.
Step 8: Write the Data Loading Script
The developer will now write the data loading script that populates your destination database or other store of data.
Step 9: Test the Data Loading
The logic that loads your data must be stress-tested to identify bottlenecks as well as logic problems. The SSIS expert has to comprehensively test the entire data warehousing flow as contained in your scripts.
Step 10: Optimize the ETL Process Using SSIS Best Practices
With the basics completed, you should use best practices to improve the effectiveness of your ETL solution. For example, while it’s possible to populate an entire database from a single script, it is often a better practice to break this up into separate scripts that populate individual tables. This allows change and optimization to be more fine-grained. You can test optimizations and errors in isolation and get things developed faster.
SSIS Developer Demand and Growth in 2019
Demand for SSIS developers is intense among enterprise-level firms, including technology companies that use SQL Server databases. Going into 2019, demand should continue a strong trend that advantages SSID developers in the job market. On StackOverflow, SQL Server Integration Services has a vibrant community with more than 14,000 questions tagged. Microsoft also supports the community with a variety of information resources and regular updates to its data warehousing solutions. This creates a positive outlook for the growth and investment into SSIS development generally.
Payscale notes that knowledge of SQL Server Integration Services is correlated with higher than average pay for database developers. Other skills that boost pay are ETL, Oracle, as well as PL/SQL. Database developers with more experience earn significantly higher salaries, according to the data from Payscale. This correlation of experience and SQL developer salary is easy to visualize as indicated in the chart below.
SSIS Developer Resume Sample
A ETL SSIS developer must be skilled at a range of database-related skill to be a true expert for developing data solutions. Below, we show a sample SSIS developer resume with the skills and experience that would make a good SSIS Developer. This SSIS developer resume sample indicates both a depth of technical skills along with project-based SSIS programmer responsibilities and development accomplishments.
Advantages of Hiring Remote SSIS Developers
While hiring SSIS developers for your business can yield immense benefits, there is fierce competition for the scant talent available. Not only is it hard to find qualified developers, but SSIS ETL developer salary costs may stretch organizations’ development budgets thin. In this environment, hiring a remote SSIS developer or SSIS engineer can help you kickstart stalled SQL Server projects and get things moving.
One great destination many large companies have found success with is Ukraine. Companies like Mobilunity are powering plenty of large Western enterprises with everything ranging from SQL Server to .NET development. Developing with a team of remote SSIS developers based in Ukraine can let you complete critical projects more quickly than ever before.