What is a Data Warehouse?
Another question I frequently get asked is, "What is a data warehouse?" Many people have different definitions of what data warehouse is. Some people will tell you that a data warehouse is simply a dump of all the tables from their source systems or a copy of tables from various source systems unioned together. Others will say that it is only required when you have massive amounts of data. A data warehouse is very different than what most people think. It functions as a central repository of information that comes from one or more data sources. The data can come from many different data sources such as Dynamics AX, Dynamics CRM, flat files, homegrown systems, etc. This data is processed, transformed, and loaded into a data warehouse so that end users such as analysts, data scientists, and developers can ingest it in BI tools, analytics software, or other applications. The data is specifically structured for query and analysis rather than CRUD operations (Create, Read, Update, Delete). The primary reasons for a data warehouse are to integrate data from many different sources and optimize it for read access, create one version of the truth, and enable end users to easily create BI solutions.
There are two methodologies for creating a data warehouse: Kimball and Inmon. In a nutshell, Kimball’s methodology is a bottom-up approach that focuses on choosing business processes and data sources to model where we create a dimensional model with facts and dimensions. This denormalizes the dimensions so that users can slice/dice the data without joining to multiple tables. On the other hand, Inmon uses a relational modeling approach where the data warehouse is normalized rather than dimensional. Data marts are built off the normalized tables. This is obviously an oversimplification of the approaches but at least provide you with some high-level details on the differences.
When should I use the Kimball approach vs. the Immon approach?
It really depends on your requirements, staffing plan, and project timeline. Depending on the data requirements you might not even need a data warehouse and instead, use Power BI as not only your reporting/data visualization tool but also ETL.
There are also tools such as Jet Reports and Solver BI360 that can get a data warehouse up and running in a fraction of the time it would take if you custom built one. The great thing about these tools is that they have built-in data source connectors and streamlined ETL processes. In addition, the software can create a pre-configured data warehouse in SQL Server or Azure SQL and cubes in SSAS. If you have needs for a data warehouse, please reach out to us and we’ll be more than happy to help you in formulating a strategy for your business needs.