Solved

What would be the best way to load a data warehouse with star schema from a staging database that has been loaded from a  flat file(delimited text file) IN SSIS 2012

Posted on 2014-03-18
4
155 Views
Last Modified: 2016-02-10
Hi!

My production datawarehouse on one server has a star schema structure, where all the dimension and fact tables get loaded on a monthly basis, from the staging tables on a different server.

The data gets dumped directly into the staging tables, as is, from a file on a shared drive, without any transformations.

The staging tables get truncated and loaded every month. But we cannot do the same with the tables on our data warehouse as the key values get changed in the fact table, if the fact table gets truncated every month as the foreign keys of the fact table are mapped to the primary keys in the dimension tables.

We need to either insert new records or do an upsert or the like, which would make the fact table eventually grow in size. Could you please suggest the best approach to follow, in order to load the above? what would be the best approach to truncate and reload the full table or insert or upsert or the like?

Thanks a million in advance! I greatly appreciate it! Any code/logic is greatly appreciated.

I need a quick help! It's really, really urgent!
0
Comment
Question by:amukta
  • 2
4 Comments
 
LVL 9

Expert Comment

by:Sreedhar Vengala
ID: 39938725
Is your monthly loads or 'Delta' (incremental) loads or eveytime are you getting whole data and deleting and reloading the DWH?

If it is incremental load, once the Staging Area is loaded you can use T-SQL Merge with your destination DWH Table.  And it depends on the type of Dimension table (SCD1, SCD2).

And coming to Fact Table there shouldnt be any deletes ( only in execptional business cases you may require update / delete) as this is the source of historical truth.

For further details on using MERGE look at this http://www.purplefrogsystems.com/blog/2012/01/using-t-sql-merge-to-load-data-warehouse-dimensions/
0
 

Author Comment

by:amukta
ID: 39940083
Currently, all the data from staging is being loaded into the DWH without deleting anything, with a date field  showing the date the data was loaded.

My question is, would it be a good idea to truncate the fact table and load it every month, by using the SCD concept for dimensions or would it be a good idea to add the records to the fact table every month as it's being currently?

Appreciate your help! Thanks!
0
 
LVL 17

Accepted Solution

by:
MIKE earned 500 total points
ID: 40387347
Use an Incremental SNAPSHOT type of process, meaning, update the FACT and DIM tables EACH DAY and on the LAST DAY of the Month, the data will be a MONTH END SNAPSHOT for the month.
0
 

Author Closing Comment

by:amukta
ID: 40556979
Thank you !
0

Featured Post

Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

Join & Write a Comment

Here's a requirements document template for an integration project (also known as Extract-Transform-Load or ETL) based on my development experience as an SQL Server Information Services (SSIS) developer over the years.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Viewers will learn how to use the INSERT statement to insert data into their tables. It will also introduce the NULL statement, to show them what happens when no value is giving for any given column.

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now