5

我是大数据概念的学习者。根据我的理解,大数据对于处理非结构化数据和大容量数据至关重要。当我们查看数据仓库 (DW) 的大数据架构时,源数据是通过 Hadoop(HDFS 和 Mapreduce)提取的,相关的非结构化信息是转换为有效的业务信息,最后通过ETL处理(连同现有的结构化数据处理)将数据注入DW或DataMart。

但是,我想知道 DW 对组织(由于大数据)所需的新技术/新维度模型或存储要求是什么,因为我尝试学习的大多数教程/资源仅在源头上谈论 Hadoop,而不是在目标。由于大量数据,大数据的引入如何影响组织的预定义报告/临时分析

感谢您的回复

4

2 回答 2

7

这是一个非常广泛的问题,但我会尝试给出一些答案。

Hadoop 可以是数据源、数据仓库或“数据湖”,是可以从中提取仓库和集市的数据存储库。

Hadoop 和基于 RDBMS 的数据仓库之间的界限越来越模糊。随着 SQL-on-Hadoop 成为现实,与基于 Hadoop 的数据交互变得越来越容易。但是,为了有效,数据中必须有结构。

Hadoop/DW 交互的一些示例:

  • Microsoft 应用平台系统,在 SQL Server 和 Hadoop 之间具有 Polybase 交互
  • Impala (Cloudera)、Stinger (Hortonworks) 和其他提供 SQL-on-Hadoop 的公司
  • Actian 和 Vertica (HP) 在 Hadoop 上提供与 RDBMS 兼容的 MPP

也就是说,Hadoop DW 仍然不成熟。它的性能不如基于 RDBMS 的 DW,缺乏许多安全和操作特性,也缺乏 SQL 能力。在走这条路之前,请仔细考虑您的需求。

您应该问的另一个问题是您是否真的需要这种类型的平台。任何 RDBMS 都可以处理 3-5Tb 的数据。SQL Server 和 PostgreSQL 是可以在商品硬件上处理 DW 且可忽略管理的两个平台示例。

这些相同的 RDBMS 可以处理 100Tb 的工作负载,但在这种规模下它们需要更多的关注和支持。

MPP RDBMS 设备可处理 PB 范围内的数据工作负载,在扩展时具有较低的管理和运营开销。我怀疑你能达到这样的规模,很少有公司这样做:) 如果复杂查询的速度是你最重要的因素,你可能会选择 MPP 设备来处理更小的数据量。由于这个原因,我已经看到 MPP 设备部署在小至 5Tb 的数据量上。

根据加载技术,您可能会发现基于 RDBMS 的 DW 的加载速度比 Hadoop 快。例如,我每秒将数十万行加载到 PostgreSQL 中,而在 SQL Server 中则略少。在 Hadoop 中实现相同结果需要更长的时间,因为我必须摄取文件,在 Hive 中建立它,然后将其移动到 Parquet 以获得类似水平的输出性能。随着时间的推移,我希望这会改变对 Hadoop 的青睐,但它还没有完全实现。

你提到了维度建模。如果您的星型模式由事务事实表和 SCD0-SCD1 维度组成,因此需要仅插入处理,那么您可能会成功使用 SQL-on-Hadoop。如果您需要更新事实(累积快照)或维度(SCD2、SCD3),您可能会在能力和性能方面遇到困难——许多实现还不支持 UPDATE 查询,而且那些实现的速度很慢。

抱歉,没有简单的“做这个!” 答案,但这是一个不成熟领域中的复杂主题。我希望这些评论能帮助你思考。

于 2015-04-28T10:40:44.493 回答
0

数据湖和数据仓库的过程是不一样的。传统意义上的维度建模从业务流程识别和星型模式设计开始,在数据湖上,您不会对业务流程做出任何假设。数据湖尽可能以非常精细的级别收集数据,探索并找到业务过程。您可以在企业数据湖简介 - 神话和奇迹中阅读有关数据湖的更多信息

于 2016-01-03T20:59:09.290 回答