I am new to DW . When we should use the term Datamart and when we should use the term Datawarehousing . Please explain with example may be your own example or in terms of Adventureworks .
I am new to DW . When we should use the term Datamart and when we should use the term Datawarehousing . Please explain with example may be your own example or in terms of Adventureworks .
Let me add another term to this. First off, there is a main
transactional database
which interacts with your application (assuming you have an application to interact with, obviously). The data gets written into theMaster database
(hopefully, you are usingMaster-Slave replication
), and simultaneously gets copied into the salve. According to the business and reporting requirements, cleansing andETL
is performed on the application data and data is aggregated and stored in adenormalized
form to improve reporting performance and reduce the number of joins. Complex pre-calculated data is readily available to the business user for reporting and analysis purposes. This is adimensional database
- which is a denormalized form of the main transactional database (most probably in 3NF).But, as you may know, all businesses have different supporting systems which also bring in data in the form of spreadsheets, csvs and flatfiles. This data is usually for a single domain, such as, call center, collections so on and so forth. We can call every such separate domain data as data mart. The data from different domains is also operated upon by an ETL tool and is
denormalized
in its own fashion. When we combine all thedatamarts
anddimensional databases
for solving reporting and analysis problem for business, we get a data warehouse.Assume that you have a major application, running on a website - which is your main business. You have all primary consumer interaction on that website. That will give you your
primary dimensional database
. For consumer support, you may have a separate solution, such as Avaya or Genesys implemented in your company - they will provide you the data on the same (or probably different server). You prepareETLs
to load that data onto your own server. You call the resultant data asdata marts
. And you combine all of these things to get adata warehouse
. I know, I am being repetitive but that is on purpose.