A data warehouse is a special type of database used for analysis of data. A general database is usually used for transaction processing, and hence, it is not optimized for analysis and reporting. But a data warehouse is specially designed and optimized for analysis tasks.