# Overview A centralized repository for storing data for the purposes of analytical queries. A data warehouse is read-only and contains data from various disparate sources in a format ready for analytics. The data is moved into the data warehouse using [[ETL]] processes. Additionally, indexing strategies can be applied on the data warehouse which are optimized for analytical access patterns. ## Why is a Database Not Good Enough? - **Existing Databases Formats and Purposes** - the databases supporting current OLTP systems in an enterprise are tuned for their specific purposes. This means that analytical queries would not be optimized for running on these databases. - **Contention for Database Resources** - the current databases also have a main purpose they must fulfil. The teams owning the database would likely not want their inventory system to slow down, because there is an analytical query being run on it. - **Siloed Data in Existing Databases** - many analytical queries require data from across databases. This means the data must be centralized to be accessed in a single query. ![[Data Warehouses 2024-11-18 12.52.06.excalidraw.svg]] %%[[Data Warehouses 2024-11-18 12.52.06.excalidraw|🖋 Edit in Excalidraw]]%% # Key Considerations ## Additional Improvements in Memory and Reading Data warehouses often use columnar storage for their data. The data for a single column is all stored next to each other. This makes it easier to run analytical queries across a column, like the average of a price. The columnar storage also lends itself to compression techniques like [[Bitmap Encoding]]. ## Data Warehouse [[Data Modeling]] A high-level approach to consider: ![[image-11.png]] # Pros - Provides clean, structured data that is familiar and easier to use for business users, making it strong for Business Intelligence (BI) and Analytics use cases # Cons - Not designed to support semi-structured or unstructured data - As data volume grows, the data in the warehouse can grow stale due to processes involved with cleaning and organizing the data before making available in the warehouse. This can be resolved by implementing a [[Data Mart]](s) within the data warehouse # Use Cases - [[Business Intelligence (BI)]] # Related Topics