系列说明:
本文写作的初衷,是想以阿里巴巴的OneData体系为出发点,详细阐述数据仓库搭建的初衷、架构的理念及实现的方式,借此来总结从事大数据开发岗位多年以来的经验积累。仅从笔者个人角度出发,收集相关素材,进行二次整理,并非原创。
什么是数据仓库?
要想全面的来看待数据仓库,首先要回答的是数据仓库搭建的目的:
百度百科解释:数据仓库是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。
笔者个人理解:以数据建模理念为基础,以消除数据孤岛为目的,通过一套标准方法和工具集,解决大数据计算中诸如质量、复用、扩展、成本等问题,能够驱动业务发展的体系。
第三方解释:数据仓库是数据管理、存储、计算、建模的方法论,是一种过程处理方法;它的特点为:面向主题的、集成的、稳定的、反映历史变化;数据仓库由元数据、数据建模、实现代码、血缘关系、规范准则组成;数据仓库在整个数据体系中的位置:数据采集->数据接入->数据仓库->数据报表/数据分析/数据挖掘。
大数据环境下数据仓库与传统数据库的异同:
传统数据库用于记录状态,面向事务;数据仓库用于分析决策,面向主题;
传统数据库服务业务系统,作为数据源;数据仓库服务数据分析师等专业数据人士;
传统数据库一般存储最新状态的业务数据;数据仓库存储历史数据,并且不是永久保存;
传统数据库严格遵循范式,避免冗余;数据仓库为了方便使用故意引入部分冗余;
传统数据库数据量偏小,多以GB为规模;数据仓库以存储海量数据为目标,多以TB为规模;
传统数据库承载体一般为mysql、oracle等传统的关系型数据库;数据仓库承载体一般为H