You are on page 1of 3

1) What is a Data Warehouse?

A data warehouse is a relational database that is designed for query and analysis
rather than for transaction processing. It usually contains historical data derived
from transaction data, but it can include data from other sources. It separates
analysis workload from transaction workload and enables an organization to
consolidate data from several sources.
In addition to a relational database, a data warehouse environment includes an
extraction, transportation, transformation, and loading (ETL) solution, an online
analytical processing (OLAP) engine, client analysis tools, and other applications
that manage the process of gathering data and delivering it to business users.
A common way of introducing data warehousing is to refer to the characteristics of a
data warehouse as set forth by William Inmon:
Subject Oriented
Integrated
Nonvolatile
Time Variant
Subject Oriented
Data warehouses are designed to help you analyze data. For example, to learn more
about your company's sales data, you can build a warehouse that concentrates on
sales. Using this warehouse, you can answer questions like "Who was our best
customer for this item last year?" This ability to define a data warehouse by subject
matter, sales in this case, makes the data warehouse subject oriented.
Integrated
Integration is closely related to subject orientation. Data warehouses must put data
from disparate sources into a consistent format. They must resolve such problems
as naming conflicts and inconsistencies among units of measure. When they
achieve this, they are said to be integrated.
Nonvolatile
Nonvolatile means that, once entered into the warehouse, data should not change.
This is logical because the purpose of a warehouse is to enable you to analyze what
has occurred.
Time Variant
In order to discover trends in business, analysts need large amounts of data. This is
very much in contrast to online transaction processing (OLTP) systems, where

2. E. You want to extract data based on some conditions which require you to join two or more different systems together.performance requirements demand that historical data be moved to an archive. third-party applications etc. ETL process involves complex data transformations that require extra space to temporarily stage the data 7. during or post load data validations Clearly staging area gives lot flexibility during data loading. A data warehouse's focus on change over time is what is meant by the term time variant. 5. Shouldn't we have a separate staging area always then? Is there any impact of having a stage area? Yes there are a few. 2. ODS loading. 2) Why do we need Staging Area during ETL Load? why you can’t avoid a staging area: 1. staging area is rather avoided. In lot of real time / near real time applications.g. 1. Data warehouse’s data loading frequency does not match with the refresh frequencies of the source systems. Source systems are only available for extraction during a specific time slot which is generally lesser than your overall data loading time. Data in the staging area occupies extra space. Various source systems have different allotted timing for data extraction.) 6. You will not be able to perform a SQL query joining two tables from two physically different databases. Staging area increases latency – that is the time required for a change in the source system to take effect in the data warehouse. Extracted data from the same set of source systems are going to be used in multiple places (data warehouse loading. There is specific data reconciliation / debugging requirement which warrants the use of staging area for pre. you want to only extract those customers who also exist in some other system. . 3. It’s a good idea to extract and keep things at your end before you lose the connection to the source systems. 4.

To me. . Hence. in general I will suggest designating a specific staging area in data warehousing projects. in all practical senses. the benefit of having a staging area outweighs its problems.