Tuesday, August 28, 2012

Lookup transformation in SSIS: Performance Improvements

There are 2 suggestions I hear about when performance tuning the Lookup transformation on a large dimension table when getting the surrogate key for a fact table. I hope to introduce here a third.

The first is the caching option.

image

 

The Full Cache option will cache the whole table (or query columns). If you have a large dimension table, this might use a lot of memory.

The Partial Cache will load the matching rows but will clear least used lookup values once the memory size of the cache is exceed.

No Cache will query the data each and every time a lookup value is needed. No good is running lots of lookups on a large table

 

I believe using Full Cache is good when you have no memory limitations and a small dimension table. The Partial Cache is good for large tables. Not sure where No Cache would be used unless the lookup is not used much in the Data Flow Task.

The next suggestion is instead of selecting the whole table, use a T-SQL query to select only the columns you need,

image

By using only the needed columns in the SELECT T-SQL statement, you limit the amount of information retrieve into SQL Server’s Buffer Pool and the SSIS cache.

One more option can help improve this query even more – a proper index.

SELECT ProductSKey, ProductID
  FROM DimProduct
WHERE Status = 1

This query used above will still do a Clustered Index scan or Non-clustered Index with a Key Lookup in the execution plan based on the indexes available like an index on the just the status column.


But, if you can create a covering index with the Status as a Non-Clustered Index including ProductSKey (surrogate key) and ProductID (natural key) in the index, you can get better performance on the SQL instance side.


The cost of the query went from 0.0178649 to 0.0065309. The statistics IO went from 21 logical reads to 7 and the execution went from a Clustered Index scan to a Non-clustered Index Seek.


image  image


Using the partial cache and proper index on dimension table helped reduce a look up on one of our dimension tables from 3 seconds to less than one second on a 200,000+ row dimension table at my current employer. The execution performance was viewed in the new SSISDB statistics report in the 2012 version of SSIS. More on that in another blog.

Sunday, August 19, 2012

PASS Virtual Chapter August presentations

If you do not know by now, PASS has many virtual chapters that give free webcasts all month long. I have helped chair the Data Architecture VC for the past year or so, started by volunteering  with the Performance VC for about 6 months and have done presentations on the BI/DW VC. Please visit the Virtual Chapter site for more information - http://www.sqlpass.org/PASSChapters/VirtualChapters.aspx

Tuesday at noon Eastern, I will be presenting on SSIS 2012 – CDC, DQS and Catalog for the BI/DW VC. More info below.

Also, the recorded presentation from this past Thursday’s Data Architecture VC is now uploaded in the Meeting Archive. Louis Davidson will do part 2 later this fall. His example code can be found at DrSQL.org in the presentation section.

Tue August 21st 12pm-1pm EST

Using SSIS 2012 for ETL in a Data Warehouse

Speaker: Thomas LeBlanc

URL: https://www.livemeeting.com/cc/usergroups/join?id=GQ5DKK&role=attend&pw=J%3A%2BW4%3F%28hK

This session will go through some old and new features of Integration Service 2012 to help with loading data into a Data Warehouse/Mart. The GUI has been improved visually during design and execution. The storage of packages has been update with Integration Service Catalogs. The Change Data Capture task helps with incremental updates. Logging has been improved for debugging. A demonstration of creating your own Slowly Changing Dimension with current Tasks will be shown with some design hints.

Friday, August 10, 2012

Louis Davidson (Dr SQL)–Designing for Common Problems in SQL Server

The PASS Data Architecture Virtual Chapter hosts none other than Dr. SQL Louis Davidson as he helps application and database developers design and implement SQL Server databases.

I saw Louis at the first PASS Summit I attended in Denver in 2006. He and Paul Nielsen help me see where data models and normalization can increase the efficiency with storing and retrieving data.

They also encouraged me by their presentations to start talking about database design at work and in the SQL community.

Please join us on Thursday August 16th at Noon Central for another informative presentation.

 

Subject:  Designing for Common Problems in SQL Server

Start Time:  Tuesday, August 16th, 2012 12:00 PM US Central Time

End Time:  Tuesday, August 16th, 2012 1:00 PM US Central Time

Presenter:  Louis Davidson

Live Meeting Link:  Live Meeting

Designing for Common Problems in SQL Server

In this session, I will do a design and code review of several common patterns of solving problems that a typical programmer will come up against. Problems like coding for hierarchical data, data driven design, dealing with image data, structure generalization, user specified schemas, dimensional reporting, and dealing with uniqueness beyond what you might deal with using a simple uniqueness constraint might allow you to deal with.

Louis Davidson

Louis has been in the IT industry for 17 years as a corporate database developer and architect. He has been a Microsoft MVP for 8 years and has written 5 books on database design and has spoken on the topic of database design and implementation at SQL PASS, SQL Rally, many SQL Saturday events, as well as Devlink. Currently serves as the Data Architect for the Christian Broadcasting Network supporting offices in Virginia Beach, Virginia and Nashville, Tennessee. Louis has a bachelor's degree from the University of Tennessee at Chattanooga in computer science. For more information please visit his website at drsql.org.

Add to calendarAdd to calendar

Saturday, July 28, 2012

SQL Saturday #150 & TechDay in Baton Rouge–Sharepoint

This year’s SQLSaturday in Baton Rouge includes a Sharepoint track with 2 local speakers(Cody Gros & Eric Trivette), MCM Tom Resing and Bill Waters. Sharepoint sessions are great for those in the BI field using Microsoft BI stack managing PerformancePoint and PowerView/SSRS integration or SQL Server DBAs having a Sharepoint SQL instance.

 
8:20AM - Mapping Mashups with SharePoint Designer

Mapping Mashups with SharePoint Designer including an Overview of Current Map Service Providers, an Introduction to Customizing the Data View Web Part, and a Demonstration of Dynamic Mapping from List Data

Session Level: Intermediate

Tom Resing

Tom is a Microsoft Certified Master in SharePoint. He is passionate about online collaboration technologies and loves being active in the SharePoint Community. Tom has been blogging about SharePoint for the last 5 years after certifying on the 2007 platform. Tom has enjoyed 15 years in the internet industry developing products and web site functionality in Perl, C++, Java, VB.Net and C#. With SharePoint, Tom prefers an Out of the Box approach to deployment.

Contact URL: http://tomresing.com

 
9:35AM - SQL Server Best Practices for SharePoint 2010

Are you a SharePoint administrator and now have to maintain all your SharePoint databases? This session will provide you with the information you need to maintain your SharePoint databases including: - Backup/Recovery of databases - Determining your recovery model -Building maintenance plans - SQL Aliases

Session Level: Intermediate

Cody Gros

Cody Gros has been in the IT field for over 7 years working with SharePoint and Windows Server Technology. He is well versed in SharePoint 2010/2007 and is experienced in applying PowerShell scripting to SharePoint and Active Directory automation solutions.

Contact URL: http://blog.codygros.com

 
10:50AM - SharePoint Development for ASP.NET Developers

Getting started in the world of SharePoint development? Have ASP.NET development experience? In this session, you will learn how SharePoint 2010 is built off the ASP.NET platform. We will also bridge the gap between both platforms by covering the basics of the SharePoint platform and set you on the path to developing your own SharePoint solutions.

Session Level: Beginner

Eric Trivette

Eric Trivette, MCPD, has been working with Microsoft ASP.NET since December 2006. Eric began SharePoint development with SharePoint 2010 and works with Antares Technology Solutions as a consultant where he designs and implements custom solutions in SharePoint 2010 and all versions of ASP.NET.

 

1:10PM - Integrate with Business Connectivity Services

Business Connectivity Services with Microsoft SQL Server including an Overview of the Business Connectivity Services, an Introduction to Configuring BCS, and Demonstrations of using External Lists and External Data Columns.

Session Level: Advanced

Tom Resing

Tom is a Microsoft Certified Master in SharePoint. He is passionate about online collaboration technologies and loves being active in the SharePoint Community. Tom has been blogging about SharePoint for the last 5 years after certifying on the 2007 platform. Tom has enjoyed 15 years in the internet industry developing products and web site functionality in Perl, C++, Java, VB.Net and C#. With SharePoint, Tom prefers an Out of the Box approach to deployment.

Contact URL: http://tomresing.com

 

2:25PM - Adding Metro Style Navigation to a SharePoint Site

This is a walk through of how to create a Metro Sytle Navigation to a SharePoint Site, potentially including exposing high level Core Metrics in tiles to bubble that key information to users.

Session Level: Intermediate

Bill Watters 

Speaker photoI am a Nerd who loves soccer, hanging with my family and sharing what I learn. I have been in IT for over 15 years and focused on Portal Solutions for the last 10. I am currently highly focused on BI Integration with SharePoint and making data more accessable to users.

Contact URL: http://wattersbill72.wordpress.com

Sunday, July 22, 2012

PASS Data Architecture presents Ami Levin: Where Are My (Primary) Keys?

I saw Ami Levin at the PASS Summit 2011 presenting on Loop Iterators in Execution Plans. It was on my top 3 sessions last year at the Summit. He has an excellent way of using visuals to explain things. The session for the PASS Data Architecture VC on Thursday (July 26th) is great session on Primary Keys and relational databases and the rules surrounding them. All Developers need to watch the presentation.

Here is an article written by Ami recently and review by Dr. SQL Louis Davidson. Excellent step by step on how to normalization a many-to-many relationship into the proper table structure using Data Modeling.

Subject: Where are My (Primary) Keys?

Start Time:  Thursday, July 26th, 2012 12:00 PM US Central Time

End Time:  Thursday, July 26th, 2012 1:00 PM US Central Time

Presenter:  Ami Levin

Live Meeting Link:  Attendees LiveMeeting

Where Are My (Primary) Keys?

In this session, we revisit some of the fundamental design principals of relational databases—normalization rules, key selection, and the controversies associated with these issues—from a very hands-on, practical perspective. We also consider the benefits and challenges of using different types of keys (natural, surrogates, artificial, others) from multiple aspects, including data consistency, application development, maintenance, portability, and performance.
Session takeaways:
• Understand the profound impact of key selection on the entire application lifecycle
• Learn to identify when it is best to use natural or artificial keys • Learn how to minimize performance, portability, and maintenance issues during the early database design phase

Ami Levin

  Ami Levin  CTO, DBSophic
Ami Levin is a Microsoft SQL Server MVP since 2006, with over 20 years of experience in development and IT. For the past 14 years, he has been consulting, teaching, writing, and speaking about SQL Server worldwide. Ami's areas of expertise are data modeling, database design, T-SQL, and performance tuning. He leads the Israeli SQL Server user group (ISUG), moderates the Hebrew MSDN SQL Server support forum, and is a regular speaker at Microsoft Tech-Ed Israel, Dev Academy, and other SQL Server conferences. Ami speaks often at user group meetings in Israel and Europe and writes articles about SQL Server.

Add to calendarAdd to calendar

Thursday, July 19, 2012

SQL Saturday #150 and TechDay Baton Rouge–BI 1 track

The SQL Saturday/TechDay in Baton Rouge will be the forth annual this year. The Business Intelligence sessions occupy 2 tracks this year. This blog will be about the speakers from first track.

The full schedule can be found here.

 
8:20AM - Introduction to SSIS with a Real-World Example

SSIS is a powerful and east to use data Extract, Transform, Load (ETL) tool SSIS providing a rich set of components to perform the most common ETL tasks with “drag-and-drop” ease. Packages can be constructed with rigorous error and exception handling as well as verbose logging allowing deployment of robust ETL processes.. This session will demonstrate a process for loading a comma-delimited data file into a staging table for further processing then validating the data and moving specific data into host tables using a a thorough example of a non-trivial ETL project with “real” data. The intended audience includes beginning SSIS developers, DBAs, and anyone with a desire to experience the magic of data management with this remarkable tool.

Session Level: Beginner

Ron Johnson

A 20 year veteran of the IT industry with over 10 years experience as a software engineer Ron is a seasoned SQL Server performance optimization professional.Ron is currently supporting various clients as a consulting DBA specializing in PTO,Replication,HA/DR,and Security with Xtivia, Inc. a full-service IT company with offices in Dallas,TX, Colorado Springs,CO,and Edison,NJ.Ron earned a M.Sc. in Computer Science and a B.Sc. in Physics.Ron has 10 years of experience as an adjunct faculty member.

Contact URL: http://rjssqlservernotes.wordpress.com/

 

9:35AM Using SSIS 2012 for ETL in a Data Warehouse

This session will go through some old and new features of Integration Service 2012 to help with loading data into a Data Warehouse/Mart. The GUI has been improved visually during design and execution. The storage of packages has been update with Integration Service Catalogs. The Change Data Capture task helps with incremental updates. Logging has been improved for debugging. A demostration of creating your own Slowly Changing Dimension with current Tasks will be shown with some design hints.

Session Level: Advanced

Thomas LeBlanc 

Thomas is a Senior DBA at Turner Industries in Baton Rouge, LA. Worked in the IT field for 21 years experience w/ COBOL dBase, FoxPro, Visual FoxPro, VB 3 thru 6 and .Net(C#). Designing and developing normalized database has become his passion. Full-time DBA work started about 9 years ago. He has been blessed with speaking at SQLRally at SQLPass in 2011. Thomas’ free time is spent helping other & improving his relationship with family & God. TheSmilingDBA.Blogspot.com

Contact URL: http://thesmilingdba.blogspot.com

 
10:50AM BI in the Cloud

In this session we will take a look at some strategies for building Business Intelligence solutions on the Windows Azure platform. We’ll see methods for transferring on-premises data to the cloud, report deployment to Windows Azure Reporting Services and options for performing ad-hoc analysis. We’ll look at some of the challenges faced when moving BI into the cloud, such as high-performance ETL, schema management and transient fault handling.

Session Level: Beginner

David Liebman

Speaker photoI’m a developer specializing in .Net, SQL, and SSRS development for over five years of the eighteen years I have spent in the IT Industry. I have experience working for some big companies in Financial, Healthcare, and Insurance. I have written some custom reporting solutions and web applications for Large Companies in the Tampa Bay area using .Net, SSRS, and SQL. I’m currently a Sr. Developer at AgileThought that is leader in software development and system integration services in Tampa FL.

Contact URL: http://www.bisqldave.com

 

1:10PM - Moving to a data warehouse

This presentation will walk through the key concepts and decisions necessary for moving from a transactional system to an analytical system based on a data warehouse. Concepts and demonstrations will be based on the process implemented at the LSU Highway Safety Research Group as the case study. The discussion will be based on a more business approach while also presenting technical details.

Session Level: Beginner

Cory Hutchinson 

Cory Hutchinson currently serves as the Associate Director for the Highway Safety Research Group (HSRG) at Louisiana State University and the Coordinator of the Louisiana Traffic Records Coordinator Committee (LA TRCC). Cory oversees all IT related projects within HSRG including business analytics, web site design, data quality analysis, electronic crash data collection, data reporting, disaster recovery, graphical information systems, business intelligence, and crash data integration.

Contact URL: http://hsrg.lsu.edu

 

2:25pm - SSIS for ETL in the Enterprise Environment

Design walkthrough of an ETL solution developed using the Microsoft SSIS system for an enterprise level Data Warehouse. Managing the ETL process migration from a single data warehousing SQL Server to a multi-server environment can often be a complex task. This session will walk you through the design of a ETL system that has been created for such a scenario. The design takes into consideration several of the shortcomings inherent in the SSIS system and provides a structure for coordinated loading and processing of data from extraction to presentation.

Session Level: Intermediate

Paul Kennedy

Paul Kennedy is the Data Warehouse Manager for Pool Corporation out of Covington Louisiana. Developing aspects of BI solution at Pool Corporation for the past seven years and with additional companies for an additional three years, Paul has developed and maintains the current ETL, Data Warehouse, and BI systems for the company. Experienced with working the intergration of Microsoft SQL products such as SSIS, SSDE, SSRS, and SSAS with various transactional systems and E-Commerce Websites

Monday, July 16, 2012

PASS BI/DW presents Dimensional Modeling 101–by me…

With a little help from the Kimball Group, I have become somewhat knowledgeable with the Data Mart dimension model approach to Data Warehousing. The PASS DW/BI Virtual Chapter has graciously allowed me to present on Dimensional Modeling. I am not an expert, so this is an introduction to what I have learned over the years.

At Crown Vantage (a paper mill), I was tasked to move a data warehouse from the old (bankrupt) home office to the lone paper that was left. After reading A Diary to Data Warehousing, I found out that our office (Sales) just needed a Data Mart, and did not need a Data Warehouse for the nightly reports. Years later I was a DBA at Amedisys and started to help the BI team performance tune the SQL. This led me to the BI department of Amedisys.

Please join me tomorrow if interest in a level 101 intro to Dimensional Modeling!!!

Tues July 17th 11:30am - 12:30pm Central

Dimensional Modeling 101

Speaker: Thomas LeBlanc

URL: https://www.livemeeting.com/cc/usergroups/join?id=J89H27&role=attend&pw=w%7B37%3A4SWd

This session is going to help create a dimensional Data Mart from the AdventureWorks database that includes dimension tables and 2 example fact tables. The Kimball spreadsheet for documenting a Data Mart will be used to re-enforce the need for Requirements and Functional specifications. A brief review of ETL for Slowly Changing Dimension and population of the Fact will be demonstrated as well as a simple cube for reporting.

http://bi.sqlpass.org/