面临的场景

公司要搞数据分析,但是数据存储在不同的数据库中,有的在mysql,有的在oracle甚至有的是第三方数据,需要把这些数据整合在一起进行统一的分析处理。

了解数据仓库

 

怎么找到一个合理而且主流的解决方案呢?经过技术调研,我们发现这正是数据仓库的使用场景,建立数据仓库可以很好的解决这一问题。

什么是数据仓库?

我们通过一个小故事来理解一下吧 

在很久很久以前,世界上生活着许多种族,有人类,有矮人,有精灵……他们有着不同的信仰,不同的文化,彼此相安无事。可是,有一个人却偏偏想要统治整个世界。 

如何统治这么多不同文化信仰的种族呢?猥琐男想出一个馊主意,打造出几枚拥有魔力的戒指,免费送给不同种族的领袖,让他们可以更好地统治各自的族人。 

当各个种族的领袖美滋滋地戴上各自的魔戒,走上人生巅峰的时候,猥琐男又打造出一枚独一无二的至尊魔戒。他利用至尊魔戒的力量控制了所有的魔戒,从而控制了各个种族的领袖,继而控制了整个世界。 

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

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

了解数据仓库

 

数据仓库的优点

  1. 主题性 
  2. 不同于传统数据库对应于某一个或多个项目,数据仓库根据使用者实际需求,将不同数据源的数据在一个较高的抽象层次上做整合,所有数据都围绕某一主题来组织。 
  3. 这里的主题怎么来理解呢?比如对于滴滴出行,“司机行为分析”就是一个主题,对于链家网,“成交分析”就是一个主题。
  4. 集成性 
  5. 数据仓库中存储的数据是来源于多个数据源的集成,原始数据来自不同的数据源,存储方式各不相同。要整合成为最终的数据集合,需要从数据源经过一系列抽取、清洗、转换的过程。
  6. 稳定性 
  7. 数据仓库中保存的数据是一系列历史快照,不允许被修改。用户只能通过分析工具进行查询和分析。
  8. 时变性 
  9. 数据仓库会定期接收新的集成数据,反应出最新的数据变化。这和特点并不矛盾。

数据的集成

数据源有多种多样,那么他们是怎集成到数据仓库的呢?这里就引入了一个重要的概念ETL,那么什么是ETL,我们一起看一下 

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

  1. Extract 数据抽取,也就是把数据从数据源读出来。
  2. Transform 数据转换,把原始数据转换成期望的格式和维度。如果用在数据仓库的场景下,Transform也包含数据清洗,清洗掉噪音数据。
  3. Load 数据加载,把处理后的数据加载到目标处,比如数据仓库。

了解数据仓库

 

这一部分我会专门写一章介绍,希望大家多多关照

主流的数据仓库

  1. HIVE 基于hadoop的数据仓库产品,这可能是国内使用最为广泛的数据仓库了,抛开生态 性能不说,开源免费就是一个不可抵挡的优势。
  2. 确切地说,Hive是基于Hadoop的数据仓库工具,可以对存储在HDFS上的文件数据集进行查询和分析处理。Hive对外提供了类似于SQL语言的查询语言 HiveQL,在做查询时将HQL语句转换成MapReduce任务,在Hadoop层进行执行。

对于hadoop,hdfs这些名词今天就不详细介绍了,之后会单独介绍,毕竟也是一个研究领域,不是三两句话就能说明白的

  1. Teradata 数据仓库的业界大哥,Teradata数据仓库配备性能最高、最可靠的大规模并行处理 (MPP) 平台,能够高速处理海量数据,其性能远远高于Hive。 
  2. 它使得企业可以专注于业务,无需花费大量精力管理技术,因而可以更加快速地做出明智的决策,实现 ROI(投资回报率) 最大化。 
  3. 但是他的费用可不低
  4. 其他的商业数据仓库,例如oracle,DB2等。

相关文章: