数据仓库在数据挖掘和大数据领域非常常见
引入
例如我们建立了一个卖书的网站,此时,我们需要建立一个数据库, 存各种书各种用户的信息
对于推荐业务,对某用户该推荐什么样的书,对于某种人群该推荐什么样的书,这就要进行分析了。分析的方法仅靠我们进行服务的数据库是不够的,因为服务类的数据库涉及到数据更改,同时,为了服务的高效,必要的时候还要减少冗余。减少冗余的过程实际上就是信息被丢失的过程。基于这样的数据进行分析是不准确的。于是我们就需要一个东西,把每一次数据交互的信息都记录下来,比如某用户在几时几分几秒浏览了哪个页面,在几时几分几秒购买了什么书,买书时候的书架是多少......这些事实必须如实记录,长期保留。
我们会觉得文件和日志也能实现这样的功能,没错,但是文件和日志只能顺序记录,不方便查找、比较、抽取特征等操作。所以我们需要一个专门的数据载体来记录业务中每个流程的细节,这个东西就是数据仓库
数据仓库
数据仓库(Data Warehouse)就是将所有业务数据汇总处理
- 数据仓库记录了全部的事实。它的记录必须是全面的、完备的、尽可能详细的
- 部分维度与数据的整理(数据集市—DM)。数据仓库要方便以不同维度抽取和整理,一个特定场景不可能使用全部数据,所以需要根据不同的应用调取适合这个应用的数据,这些被抽取和整理的数据就是我们所说的数据集市了
数据库 与 数据仓库
①数据库面向业务存储,数据仓库面向主题存储
面向业务需要保证高并发、快速读写、数据结构精简等,主要是为用户提供更为优质的体验。
数据仓库面向主题,例如购买图书这个行为就是一个主题, 在几时几分几秒谁以什么样的价格购买了一本什么样的书就是购买主题的一个记录,记录里有时间、有用户信息,有图书信息等各个维度的信息。主题就是各个数据相互联系的描述
②数据库针对应用(OLTP) , 数据仓库针对分析(OLAP)
OLTP,Online Transaction Processing, 联机事务处理
OLAP,Online Analysis Processing,联机分析处理
数据库是为用户提供数据上的支持与服务,是做查询而用的,这个过程也叫OLTP
数据仓库是全面和详细的记录,就是为了做分析而用的
③数据库组织规范;数据仓库可能冗余,相对变化大,数据量大
数据仓库可能同时记录多个主题,几乎每时每刻都在记录,数据量会大很多
数据仓库的数据来源是多个数据库,每个数据库代表了不同的业务
多个来自于数据库的数据,通过抽取、转换、加载这样一系列的操作,就被装入到了数据仓库,这一步骤也叫数据处理的ETL过程(Extract-Transform-Load)
数据仓库的设计与分层
数据仓库不同层的英文名字在不同公司叫法可能不同,例如缓冲层有的地方叫STG,有的地方叫OES
数据挖掘与数据分析(一)—— 数据仓库(数据集市、ETL过程)
最新推荐文章于 2024-05-02 14:56:05 发布