架构方式

inmon架构

自上而下的开发模式,从多个数据源出发,根据需求将不同数据源的数据经过ETL过程获取到各个主题需求的数据集成到数仓中,完成了数据治理后再进行统计业务,将统计结果存入数据集市。

kimball架构

自下而上的开发模式,往往已经存在某个关系明确的业务数据库,架构师需要根据数据库中的数据寻找出有价值的分析指标,然后根据这些指标建立数据集市,再从数据集市出发向下建设需要的数据仓库表。

7.5 数仓与数据库的区别

操作上:数据库是面向事务的,往往是行级操作;数仓则是面向分析的,往往是范围操作功能上:数据库提供即时的增删改查,数仓则寻求的是分析数据提供决策支持设计上:数据库基于ER模型,面向业务;数仓基于星型/雪花模型,面向主题数据上:数据库只保存最新的、近期的数据;数仓则保存所有数据性能上:数据库往往依靠索引快速返回;数仓则往往需要大范围磁盘扫描数据量:数据库数据一般为GB级别,数仓的数据则往往上百TB响应速度:数据库是毫秒级,数仓任务的执行时间往往数小时存储上:数据库是真实的物理存储,数仓则是逻辑存储。

7.6 表和字段建设规范

7.7 元数据管理、数据治理、数据中台

apache atlas

类型系统Type System是Atlas最核心的组件之一,用户可以通过类型系统对数据资产进行分类、定义,然后用Ingest/Export组件添加元数据或输出元数据变化。对外,其他系统可以通过REST API或Kafka Message与Atlas进行集成。

type:代表一类数据,如hdfs_path、hive_db等

entity:代表这类数据的一个实例,如数据库default是hive_db的一个entity

attribute:定义type和entity的具体属性

数据治理

数据中台(未完待续)

数据中台是由阿里巴巴在2015年提出的概念。所谓数据中台,即实现数据的分层与水平解耦,沉淀公共的数据能力,可分为三层,数据模型、数据服务与数据开发,通过数据建模实现跨域数据整合和知识沉淀,通过数据服务实现对于数据的封装和开放,快速、灵活满足上层应用的要求,通过数据开发工具满足个性化数据和应用的需要