什么是数据仓库:
介绍数仓之前,我们先看看数仓能做什么
基于大数据的互联网行业主要应用:
数仓发展
数仓的发展大致经历了三个阶段:
通过数据仓库建设的发展阶段,我们能够看出,数据仓库的建设和数据集市的建设的重要区别就在于数据模型的支持。因此,数据模型的建设,对于我们数据仓库的建设,有着决定性的意义。
数据仓库和数据库的区别
数据仓库的分层架构
按照数据流入流出的过程,数据仓库架构可分为三层—>源数据、数据仓库、数据应用。
源数据层(ODS):此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。属于贴元层,存放的是原始数据。
数据仓库层(DW):也称为细节层,DW层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。用于数据分析。
数据应用层(DA或APP):前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据。用于结果数据展示。
这样的三层分层架构,是最基础的分层设计,公司可根据自己的实际业务需求,对这样的分层进行升级,像阿里和京东都将数仓分为了4层,并各有自己的数仓分层方式。
数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。通过这种实体与实体间的关系,来联系,表示业务中具体的业务之间的联系。另外数据仓库模型的架构和数据仓库整体的架构是紧密联系的。根据上面的分层架构思想,我们将数据仓库建模分为5个部分:System of Record(系统记录域)、HouseKeeping(内部管理域)、Summary of Area(汇总域)、Analysis Area(分析域)、FeedBack Area(反馈域)。分别用于对数据的存储、管理、汇总、分析。针对实际业务我们可以将数仓建模的设计分为以下4个部分。
知道了数仓建模的步骤,那么我们怎么建模的,下面有几种经典的数仓建模方式:
范式建模:从关系型数据库的角度出发,结合了业务系统的数据模型,可以比较方便的实现数仓建模。但是由于是建立在关系型数据库中,所以其缺点是关系型数据库限制了数仓模型的灵活性。
维度建模:这是一种被广泛应用的建模方式,按照维度进行预先的统计、分析、排序等预处理,极大的提高了仓库的处理能力,但缺点也很明显,这些大量的预计算造成了大量的数据冗余。
实体建模法:一种比较少见的数仓建模方式,源自于一种哲学流派,将客观世界细分为一个一个实体,客观世界则是实体与实体之间的关系组成。简单地举个例子说就是:把“我要努力学习大数据”这个客观事件分为“我”、“要努力”、“大数据”这三个部分。“我”是实体,“要努力”是事件说明,"学习大数据"是业务过程。由于这种建模方式是对现实世界的抽象,所以只能局限在业务建模和领域概念建模上,而在逻辑建模和物理建模上范式建模法和维度建模比较擅长。
未来发展方向:
数仓在未来大数据领域的应用:
关注我们