漫画:什么是数据仓库?

点击上方“程序员小灰”,选择“置顶公众号”

有趣有内涵的文章第一时间送达!
























一个故事


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




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




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




这个故事告诉我们:数据库和数据仓库之间的关系。


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







什么是数据仓库?


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


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



 



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


1.主题性

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

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


2.集成性

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


3.稳定性

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


4.时变性

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







什么是ETL?


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


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


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


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






主流的数据仓库有哪些?






这个Hive又是何方神圣呢?


确切地说,Hive是基于Hadoop的数据仓库工具,可以对存储在HDFS上的文件数据集进行查询和分析处理。Hive对外提供了类似于SQL语言的查询语言 HiveQL,在做查询时将HQL语句转换成MapReduce任务,在Hadoop层进行执行。





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


1.HDFS

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


2.MapReduce

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



关于HDFS和MapReduce的具体知识,这一期暂时不做展开,小灰会在后续的漫画中详细介绍。













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


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









几点补充:


1.对于大数据方向,小灰也仅仅了解皮毛,漫画中若存在错误或是描述不全面的地方,还请大家多多指正补充。


2.关于Teradata,小灰曾经有幸在这里工作过,虽然不是从事数据仓库领域。Teradata 的确是一款很强大的商业数据仓库,对此有兴趣的同学,可以百度学习一下具体知识。




—————END—————




喜欢本文的朋友们,欢迎长按下图关注订阅号程序员小灰,收看更多精彩内容


  • 197
    点赞
  • 445
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
1. NOSQL是指非关系型数据库,与传统的关系型数据库相比,NOSQL具有以下特点: (1)高可扩展性:可以方便地添加更多的节点以扩展数据库的容量和吞吐量; (2)高性能:可以实现高并发、低延迟的数据访问; (3)灵活性高:可以存储各种类型的数据,包括结构化、半结构化和非结构化数据; (4)非常适合大规模分布式存储和处理海量数据; (5)不需要固定的模式,可以随时根据需求进行修改。 NOSQL数据库主要包括以下几种类型: (1)键值存储数据库(例如Redis、Riak):使用键值来访问数据,适用于存储单一数据类型或格式简单的数据; (2)文档数据库(例如MongoDB、CouchDB):将数据存储为文档形式,支持复杂的查询和层次化结构; (3)列族数据库(例如HBase、Cassandra):将数据存储为列族,支持高效的数据插入和查询,并且可以存储海量数据; (4)图形数据库(例如Neo4j、OrientDB):用来存储图形结构的数据,支持高效的图形搜索和遍历。 2. Hive是一个基于Hadoop的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供了简单的SQL查询功能,可以方便地进行数据分析和查询。 Hive数据存储模型主要有两种: (1)表格模型:将数据存储在类似于关系型数据库中的表格中,支持SQL查询和插入更新操作; (2)分区模型:将数据按照特定的键值分成多个分区,每个分区可以看做是一个子表,可以方便地进行数据过滤和查询。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值