数仓的架构方式
inmon架构:
自上而下的开发模式,从多个数据源出发,根据需求将不同数据源的数据经过ETL过程获取到各个主题需求的数据集成到数仓中,完成了数据治理后再进行统计业务,将统计结果存入数据集市。
Kimball架构:
自下而上的开发模式,往往已经存在某个关系明确的业务数据库,架构师需要根据数据库中的数据寻找出有价值的分析指标,然后根据这些指标建立数据集市,再从数据集市出发向下建设需要的数据仓库表。
数仓与数据库的一些区别:
操作上:数据库是面向事务的,往往是行级操作;数仓则是面向分析的,往往是范围操作
功能上:数据库提供即时的增删改查,数仓则寻求的是分析数据提供决策支持
设计上:数据库基于ER模型,面向业务;数仓基于星型/雪花模型,面向主题
数据上:数据库只保存最新的、近期的数据;数仓则保存所有数据
性能上:数据库往往依靠索引快速返回;数仓则往往需要大范围磁盘扫描
数据量:数据库数据一般为GB级别,数仓的数据则往往上百TB
响应速度:数据库是毫秒级,数仓任务的执行时间往往数小时
存储上:数据库是真实的物理存储,数仓则是逻辑存储。