目录
1 概念
1.1 概念
(1) 数据仓库(Data Warehouse):数据仓库是在企业管理和决策中面向主题的、集成的、相对稳定的、反映历史变化的数据集合.
(2) 操作型处理(OLTP):针对具体业务在数据库联机的日常操作,通常对少数记录进行查询、修改.用户较为关心操作的响应时间、数据的安全性、完整性和并发支持的用户数等问题.数据库设计是尽量避免冗余,一般针对某一业务应用进行设计.
(3) 分析型处理(OLAP):针对某些主题的历史数据进行分析,支持管理决策.数据仓库在设计是有意引入冗余,依照分析需求、分析维度、分析指标进行设计.
(4) 数据中台:通过数据技术,对海量数据进行采集、计算、存储、加工.通过统一标准和口径,形成标准数据,再进行存储形成数据资产,进而为客户提供可靠服务.
(5) 数据湖:一个存储企业各种各样原始数据的大型仓库,包括结构化和非结构化数据.
1.2 特点
(1) 面向主题:传统数据库最大的特点是面向应用进行数据的组织,各个业务系统是相互分离的.而数据仓库则是面向主题的,数据被划分为各自独立的领域,每个领域有各自的逻辑内涵但互不交叉,在抽象层次上对数据进行完整、一致和准确的描述.在逻辑意义上,它是对应企业中某一宏观分析领域所涉及的分析对象.
(2) 集成性:通过对分散、独立、异构的数据库数据进行抽取、清理、转换和汇总便得到了数据仓库的数据,这样保证了数据仓库内的数据关于整个企业的一致性.
(3) 相对稳定:操作型数据库主要服务于日常的业务操作,所以需要实时更新.在数据仓库中只要保存过去的业务数据,不需要每一笔业务都实时更新数据仓库,只需要定期导入较新的数据.一旦进入到数据仓库中,数据就不应该再有改变.
(4) 反映历史变化:数据仓库关注的是数据随时间变化的情况,并且能反映在过去某个时间点的数据是怎样的.数据也不可能只入不出地永久驻留在数据仓库中,它在数据仓库中也有自己的生命周期.
2 数据仓库建设
2.1 建设目标
将各业务系统的数据统一纳入到数据仓库,通过清洗加工汇总,构建标准化、可迭代、可扩展的数据平台,提供数据分析、服务能力.通过可视化让数据及时反映企业运营情况,形成拥有问题解决方案、优化商业模式,实现降本增效的企业经营目标.
2.2 开发流程
建立技术环境 | 功能架构、技术架构 | |
---|---|---|
数据建模 | 业务建模 | 划分业务,了解业务逻辑,明确数据需求,项目开发评估 |
概念建模 | 实体建模,建立ER图 | |
逻辑建模 | 维度建模 | |
物理建模 | ||
ETL | 抽取、清洗、转化数据 | |
数据开发 | 数据开发 | |
任务配置 | 任务周期,任务依赖,任务监控 | |
数据测试 | ||
部署上线 | ||
数据服务 | 数据对接,业务功能测试 | |
数据运维 | 运行监控 | |
数据治理 | 数据安全,数据质量,指标管理,数据血缘 |
3 数据仓库架构
3.1.1 数据集市架构
数据集市是按主题域组织的数据集合,用于支持部门级的决策也称之为部门级数据仓库.分为独立数据集市和从属数据集市.
(1) 独立数据集市
独立数据集市集中于部门所关心的单一主题域,数据以部门为基础部署,无须考虑企业级别的信息共享与集成.因为一个部门的业务相对于整个企业要简单,数据量也小得多,所以部门的独立数据集市具有周期短、见效快的特点.如果从企业整体的视角来观察这些数据集市,你会看到每个部门使用不同的技术,建立不同的ETL的过程,处理不同的事务系统,而在多个独立的数据集市之间还会存在数据的交叉与重叠,甚至会有数据不一致的情况.从业务角度看,当部门的分析需求扩展,或者需要分析跨部门或跨主题域的数据时,独立数据市场会显得力不从心.而当数据存在歧义,将无法在部门间进行信息比较.
(2) 从属数据集市
从属数据集市的数据来源于数据仓库,数据仓库里的数据经过整合、重构、汇总后传递给从属数据集市.
建立从属数据集市的好处主要有:
①性能:当数据仓库的查询性能出现问题,可以考虑建立几个从属数据集市,将查询从数据仓库移出到数据集市.
②安全:每个部门可以完全控制他们自己的数据.
③数据一致:因为每个数据集市的数据来源都是同一个数据仓库,有效消除了数据不一致的情况.
3.1.2 Inmon企业信息工厂架构
(1) 应用系统:这些应用是组织中的操作型系统,用来支撑业务.它们收集业务处理过程中产生的多种等数据,并将数据以多种形式进行存储.为数据仓库提供数据.
(2) ETL过程:ETL过程从操作型系统抽取数据,然后将数据转换成一种标准形式,最终将转换后的数据装载到企业级数据仓库中.ETL是周期性运行的批处理过程.
(3) 企业级数据仓库:是该架构中的核心组件.企业级数据仓库是一个细节数据的集成资源库,其中的数据以最低粒度级别被捕获,存储在满足三范式设计的关系数据库中.
(4) 部门级数据集市:是面向主题数据的部门级视图,数据从企业级数据仓库获取.数据在进入部门数据集市时可能进行聚合.数据集市使用多维模型设计,用于数据分析.
(5) 最终用户接口:所有的报表工具、BI工具或其他数据分析应用都从数据集市查询数据,而不是直接查询企业级数据仓库.
3.1.3 Kimball数据仓库架构
Kimball与Inmon两种架构的主要区别在于核心数据仓库的设计和建立.Kimball的数据仓库包含高粒度的企业数据,使用多维模型设计,这也意味着数据仓库由星型模式的维度表和事实表构成.分析系统或报表工具可以直接访问多维数据仓库里的数据.在此架构中的数据集市也与Inmon中的不同.这里的数据集市是一个逻辑概念,只是多维数据仓库中的主题域划分,并没有自己的物理存储,也可以说是虚拟的数据集市.
3.1.4 混合型数据仓库架构
所谓的混合型结构,指的是在一个数据仓库环境中,联合使用Inmon和Kimball两种架构.从架构图可以看到,这种架构将Inmon方法中的数据集市部分替换成了一个多维数据仓库,而数据集市则是多维数据仓库上的逻辑视图.使用这种架构的好处是,既可以利用规范化设计消除数据冗余,保证数据的粒度足够细;又可以利用多维结构更灵活地在企业级实现报表和分析.
4 建立数仓技术环境
4.1 功能架构(以项目为例)
下图为数据中台功能运行的图解.从下往上来看,企业的数据一般都是来自各个业务应用,数据中台通过多种方式采集数据,将数据汇聚到数据仓库中,在数据仓库中对数据进行建模、加工,形成可复用的标准化数据,最后将处理后的数据导出到各个数据应用,比如数据大屏、BI报表等.
右侧的数据管控平台,贯穿整个数据流水线,是数据中台建设的核心之一,包含了元数据管理、数据标准管理、数据血缘关系、数据质量管理、运维监控管理以及数据安全管理等,为整个数据的安全稳定的流通提供了保障.