数据仓库的概念,最早是在1991年被提出,而直到最近几年的大数据趋势下,实时数据处理快速发展,使得数据仓库技术架构不断向前,出现了实时数仓,而实时数仓又分为批数据+流数据、批流一体两种架构。
1、离线数仓
离线数仓,其实简单点来说,就是原来的传统数仓,数据以T+1的形式计算好放在那里,给前台的各种分析应用提供算好的数据。到了大数据时代,这种模式被称为“大数据的批处理”。
大数据培训:大数据环境下的数据仓库
只不过原本的单体环境工具(Oracle、Informatica等)基本都被替换成了大数据体系内(Hadoop、Hive、Sqoop、Oozie等)的工具而已。
数据采集:flume/logstash+kafka,替代传统数仓的FTP;
批量数据同步:Sqoop、Kettle,跟传统数仓一样用Kettle,部分商用ETL工具也开始支持大数据集群;
大数据存储:Hadoop HDFS/Hive、TiDB、GP等MPP,替代传统数仓的Oracle、MySQL、MS SQL、DB2等;
大数据计算引擎:MapReduce、Spark、Tez,替代传统数仓的数据库执行引擎;
OLAP引擎:Kylin/druid,(Molap,需预计算)、Presto/Impala,(Rolap,无需预计算),替代BO、Brio、MSTR等各种BI工具。
2、实时数仓
实时数仓最开始是在日志数据分析业务中被广泛使用,后来在各种实时战报大屏的推动,实时数仓开始应用。
与离线计算相比,实时计算减少了数据落地,替换了数据计算引擎,目前纯流式数据处理基本上就只有Spark Streaming了,而Flink是批流一体的。实时数据计算好结果后,可以落地到各种数据库中,也可以直接对接到大屏进行展示。
大数据培训:大数据环境下的数据仓库