Datasheet

Chapter 1: SSIS Solution Architecture
18
Just as a review, this discussion only addresses the tracking of data elements, and is supplementary to
the overall solution documentation. You may have other related data documentation, or you may choose
to include additional items in your documentation (such as partitioning strategy of the destination
table, or other pertinent things about the source data availability or data processing).
Package Design Patterns
The way you design your packages is important for the team development, deployment, future changes,
ongoing support, and maintenance. In the Problem section earlier in this chapter, an example package
was shown that had too much logic in a single package. A better approach is available through the use of
modular packages and master packages.
Modular Packages
Instead of putting a lot of your data processing in a single package, focus your packages so that the
processing logic contained in them is manageable, and the precedence is not overly complicated. This is
called modular package development, and it provides the following benefits:
Facilitates team development A team of developers can be working on different aspects of the
solution at the same time in different SSIS packages. Also, a single modular package is easier to
unit test.
Eases source control and versioning Smaller packages are easier to identify in a source control
system, and versioning can isolate changes easier.
Simplifies deployment Deploying changes with modular packages allows only the logic groups
that change to be deployed.
Allows multi - use package execution A package may be used in multiple execution groups for
related package execution, which reduces redundancy.
Helps identify errors When you re troubleshooting, isolating package bugs and failures is easier
with smaller packages.
Enables better auditing and support Administration of an ETL solution is easier to track and
audit with smaller module packages that are enabled with auditing and logging.
What does a modular package look like? Package designs vary, depending on the solution and
requirements. But a good general rule is to keep the components visually manageable in the package
designer without requiring a lot of scrolling to find aspects of the solution.
Figure 1 - 7 shows a package control flow that demonstrates a modular package.
c01.indd 18c01.indd 18 9/24/09 11:26:36 AM9/24/09 11:26:36 AM