在数据仓库中处理大数据 [关闭]
Posted
技术标签:
【中文标题】在数据仓库中处理大数据 [关闭]【英文标题】:Handling Big Data in a Datawarehouse [closed] 【发布时间】:2015-04-28 06:46:06 【问题描述】:我是大数据概念的学习者。根据我的理解,大数据对于处理非结构化数据和大容量数据至关重要。当我们查看数据仓库 (DW) 的大数据架构时,源数据是通过 Hadoop(HDFS 和 Mapreduce)提取的,相关的非结构化信息是转化为有效的业务信息,最后通过ETL处理(连同现有的结构化数据处理)将数据注入DW或DataMart。
但是,我想知道 DW 对组织(由于大数据)所需的新技术/新维度模型或存储要求是什么,因为我尝试学习的大多数教程/资源都只讨论 Hadoop源而不是目标。由于数据量如此之大,大数据的引入如何影响组织的预定义报告/临时分析
感谢您的回复
【问题讨论】:
【参考方案1】:这是一个非常广泛的问题,但我会尝试给出一些答案。
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 查询,而且那些实现很慢。
抱歉,没有简单的“做这个!”答案,但这是一个不成熟领域中的复杂主题。我希望这些 cmets 能帮助你思考。
【讨论】:
非常感谢您抽出宝贵时间详细说明我的问题,并提供了许多有价值的信息。它确实澄清了我并提供了我需要查看的更多信息 @Ron,这是一个非常好的细节...很有帮助... :) @Balaji,您必须勾选 Ron 的最佳答案 :) .. @hserus 感谢您通知我要勾选答案。现在完成了【参考方案2】:数据湖和数据仓库的流程不一样。传统意义上的维度建模从业务流程识别和星型模式设计开始,在数据湖上,您不会对业务流程做出任何假设。数据湖尽可能以非常精细的级别收集数据,探索并找到业务过程。您可以在 An Introduction to enterprise data lake - The myths and miracles
上阅读有关数据湖的更多信息【讨论】:
以上是关于在数据仓库中处理大数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章