什么是数据仓库

目录
一、什么是数据仓库
二、数据集成:ETL
三、主流的数据仓库简介

一、什么是数据仓库

我们先从一个故事开始:
在很久很久以前,世界上生活着许多种族,有人类,有矮人,有精灵......他们有着不同的信仰,不同的文化,彼此相安无事。可是,有一个心机男却偏偏想要统治整个世界。如何统治这么多不同文化信仰的种族呢?心机男想出一个馊主意,打造出几枚拥有魔力的戒指,免费送给不同种族的领袖,让他们可以更好地统治各自的族人。

当各个种族的领袖美滋滋地戴上各自的魔戒,走上人生巅峰的时候,心机男又打造出一枚独一无二的至尊魔戒。他利用至尊魔戒的力量控制了所有的魔戒,从而控制了各个种族的领袖,继而控制了整个世界。
这个故事告诉我们:数据库和数据仓库之间的关系。

如果说,那个世界的每一个生命个体都是一条数据记录,那么普通的魔戒的地位就好比是数据库,而至尊魔戒的地位就好比是数据仓库。

所以什么是数据仓库呢?
数据仓库,英文名称Data Warehouse,简写为DW。数据仓库顾名思义,是一个很大的数据存储集合,出于企业的分析性报告和决策支持目的而创建,对多样的业务数据进行筛选与整合。它为企业提供一定的BI(商业智能)能力,指导业务流程改进、监视时间、成本、质量以及控制。

数据仓库的输入方是各种各样的数据源,最终的输出用于企业的数据分析、数据挖掘、数据报表等方向。


业务流程

那么,数据仓库都有什么特点呢?

1.主题性

不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。

这里的主题怎么来理解呢?比如对于滴滴出行,“司机行为分析”就是一个主题,对于链家网,“成交分析”就是一个主题。

2.集成性

数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。

3.稳定性

数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。

4.时变性

数据仓库会定期接收新的集成数据,反应出最新的数据变化。这和特点并不矛盾。

既然数据源有多种多样,数据仓库是如何来集成不同的数据源的呢?
不同数据源所做的数据集成,就要依靠ETL啦。

二、数据集成:ETL

ETL的英文全称是 Extract-Transform-Load 的缩写,用来描述将数据从来源迁移到目标的几个过程:

1.Extract,数据抽取,也就是把数据从数据源读出来。

2.Transform,数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。

3.Load, 数据加载,把处理后的数据加载到目标处,比如数据仓库。

集成过程

三、主流的数据仓库简介

1.基于Hadoop的开源数据库——HIVE
Hive是基于Hadoop的数据仓库工具,可以对存储在HDFS上的文件数据集进行查询和分析处理。Hive对外提供了类似于SQL语言的查询语言 HiveQL,在做查询时将HQL语句转换成MapReduce任务,在Hadoop层进行执行。最大优势是不!要!钱!

HIVE

这里有几个名词需要解释:

  • Hadoop(某知友的五分钟零基础搞懂Hadoop
    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

  • HDFS
    Hadoop的分布式文件系统,在这里作为数据仓库的存储层。图中的Data Node就是HDFS的众多工作节点。

  • MapReduce
    一种针对海量数据的并行计算模型,可以简单理解为对多个数据分片的数据转换和合并。

2.主流数据仓库之二——Teradata

Teradata数据仓库配备性能最高、最可靠的大规模并行处理 (MPP) 平台,能够高速处理海量数据,其性能远远高于Hive。

它使得企业可以专注于业务,无需花费大量精力管理技术,因而可以更加快速地做出明智的决策,实现 ROI(投资回报率) 最大化。

市面上的主流数据仓库也越来越多,欢迎大家可以补充~

推荐阅读更多精彩内容

  • 什么时候需要用到数据仓库? 一个公司里面不同项目可能用到不同的数据源,有的存在MySQL里面,又的存在MongoD...
    dy2903阅读 17,106评论 0 7
  • 数据仓库 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策...
    ItStar阅读 115评论 0 1
  • 【什么是大数据、大数据技术】 大数据,又称巨量资料,指的是所涉及的数据资料量规模巨大到无法在合理时间内通过传统的应...
    kimibob阅读 746评论 0 51
  • 01.自我突破 当我们的练习达到一定程度,遇到停滞瓶颈,那么我们需要通过其他的方式去突破自己的极限,以新的方式挑战...
    溫暖的黃小廚阅读 34评论 1 2
  • 日子过得贼快,为期21天的第四期个人成长集训营即将结营落下帷幕。课程主要从学习力、创意力、品牌力三个纬度...
    吖坤要加油阅读 177评论 0 6