1、数据仓库概念与用途
数据仓库(Data Warehouse,简写DW)是一个数据库集合,存储大量的数据,主要为企业撰写分析报告与决策做支撑,对多样的业务数据进行筛选整合,为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。
数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。
2、数据仓库特点
(1)主题性
不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。
这里的主题怎么来理解呢?比如对于滴滴出行,“司机行为分析”就是一个主题,对于链家网,“成交分析”就是一个主题。
(2)集成性
数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
(3)稳定性
数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。
(4)时变性
数据仓库会定期接收新的集成数据,反应出最新的数据变化。
3、不同数据源的集成
数据仓库主要通过ETL来集成不同数据源,ETL全称是Extract-Transoform-Load的缩写,用来描述将数据从来源迁移到目标的几个过程:
①Extract,数据抽取,也就是把数据从数据源读出来。
②Transform,数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。
③Load, 数据加载,把处理后的数据加载到目标处,比如数据仓库。
Hive是基于Hadoop的数据仓库工具,可以对存储在HDFS上的文件数据集进行查询和分析处理。Hive对外提供了类似于SQL语言的查询语言 HiveQL,在做查询时将HQL语句转换成MapReduce任务,在Hadoop层进行执行。Hive的主要优势在于免费。
HDFS:Hadoop的分布式文件系统,在这里作为数据仓库的存储层。图中的Data Node就是HDFS的众多工作节点。
MapReduce:一种针对海量数据的并行计算框架,可以简单理解为对数据进行分片的数据转换和合并。
4、主流的数据仓库
Oracle、Db2、Teradata(商业数据仓库业界老大)
Teradata数据仓库配备性能最高、最可靠的大规模并行处理 (MPP) 平台,能够高速处理海量数据,其性能远远高于Hive。
它使得企业可以专注于业务,无需花费大量精力管理技术,因而可以更加快速地做出明智的决策,实现 ROI(投资回报率) 最大化。
参考:https://blog.csdn.net/bjweimengshu/article/details/79256504