我是大数据概念的学习者。基于我的理解,大数据在处理非结构化数据和高容量方面至关重要。当我们查看数据仓库(DW)的大数据架构时,来自源的数据通过Hadoop(HDFS和Mapreduce)提取,相关的非结构化信息是转换为有效的业务信息,最后通过ETL处理(以及现有的结构化数据处理)将数据注入DW或DataMart。
然而,我想知道DW对组织所需的新技术/新维度模型或存储要求是什么(由于大数据),因为我尝试学习的大多数教程/资源只讨论了Hadoop来源但不是目标。由于数据量很大,大数据的引入如何影响组织的预定义报告/特别分析
感谢您的回复
答案 0 :(得分:7)
这是一个非常广泛的问题,但我会尝试给出一些答案。
Hadoop可以是数据源,数据仓库或数据湖",是可以从中抽取仓库和集市的数据存储库。
Hadoop和基于RDBMS的数据仓库之间的界限越来越模糊。随着SQL-on-Hadoop成为现实,与基于Hadoop的数据交互变得越来越容易。但是,为了有效,数据中必须有结构。
Hadoop / DW交互的一些示例:
那就是说,Hadoop DW还不成熟。它不像基于RDBMS的DW那样高效,缺乏许多安全和操作功能,缺乏SQL功能。在走这条路之前,请仔细考虑您的需求。
您应该问的另一个问题是,您是否真的需要这种类型的平台。任何RDBMS都可以处理3-5Tb的数据。 SQL Server和PostgreSQL是在商用硬件上处理DW并且管理可忽略不计的平台的两个例子。
那些相同的RDBMS可以处理100Tb的工作负载,但它们需要更多的关注和喂养。
MPP RDBMS设备将数据工作负载处理到Petabyte范围,随着规模的扩大,管理和运营开销也会降低。我怀疑你达到了那个规模,很少有公司这样做:)如果复杂查询的速度是你最重要的因素,你可能会选择MPP设备来获得更小的数据量。我之前看到MPP设备部署在小到5Tb的数据卷上。
根据加载技术,您可能会发现基于RDBMS的DW加载速度比Hadoop快。例如,我每秒将数十万行加载到PostgreSQL中,并且比SQL Server中的行少一些。在Hadoop中实现相同的结果需要花费更长的时间,因为我必须摄取文件,在Hive中建立它,并将其移动到Parquet以获得类似的输出性能水平。随着时间的推移,我希望这会改变Hadoop的优势,但它还没有完全存在。
你提到了维度建模。如果您的星型模式由事务事实表和SCD0-SCD1维度组成,因此需要只进行插入处理,那么您可能已成功使用SQL-on-Hadoop。如果您需要更新事实(累积快照)或维度(SCD2,SCD3),您可能会在功能和性能方面遇到困难 - 许多实现都不支持UPDATE查询,而那些实现的速度很慢。
很抱歉,这不是一个简单的问题!"做到这一点!"回答,但这是一个不成熟的领域的复杂话题。我希望这些评论有助于您的思考。
答案 1 :(得分:0)
数据湖和数据仓库的过程是不一样的。传统意义上的维度建模从业务流程识别和星型模式设计开始,在数据湖上,您不会对业务流程做出任何假设。数据湖尽可能地收集数据,探索并查找业务流程。您可以在An Introduction to enterprise data lake - The myths and miracles
上阅读有关数据湖的更多信息