一、概念上的不同
数据库,简而言之,可以把它看作电子化的文件柜,用来存储电子文件的地方,用户可以对文件中的数据进行新增、截取、更新、删除等操作。
数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。业务流程改进、监视时间、成本、质量以及控制。
二、技术上的不同
1、流行的数据库:MySQL、Oracle、SqlServer等
2、流行的数据仓库:Hive、Impala、Greenplum等
三、储存内容上的不同
数据库储存在线交易数据,而数据仓库主要储存历史数据。
四、功能上的不同
数据库主要用于捕获数据,数据仓库主要用于分析数据。
数据库属于操作型系统,数据仓库属于分析性系统。操作性系统(数据库)的用户群体是大量客户,每次操作修改的数据量非常小,对时间敏感度非常高。分析性系统(数据仓库)的用户是决策人员,他们不修改数据但是会分析大量数据,而且他们对得出结果的时间不敏感。
打个比方。
微博每天有上千万用户在发微博、修改个人资料,每个人都只修改属于自己的那几条数据,同时希望修改后立刻可以用。而为数不多的决策者希望通过微博进行挖掘,他们不可能修改用户数据,但是他们会访问大量数据。最后他们对时间不敏感,等到一个结果跑5分钟到1小时都可以的。
数据库与数据仓库虽有区别,但二者的关系是相辅相成、密不可分的。数据仓库的本质仍然是数据库,只是为了BI建设和分析的目的在底层表与表的关系建模设计上和传统基于业务系统的数据库建模设计上有很大的差异。传统数据库多增删改,数据仓库多查询分析。传统数据库服务于业务流程,通过业务软件来访问;数据仓库服务于BI分析,通过BI分析软件来访问。