当前位置: 首页 > 科技观察

探索Hadoop与数据仓库之间的关系

时间:2023-03-16 22:56:56 科技观察

大数据世界中对BI和分析新平台的需求,并描述了三种常用的基本数据架构:数据仓库、大规模并行处理系统(MPP)和Hadoop。在大数据出现之前,只有复杂的数据库和可追溯到1970年代的强大工具处理数据。最流行的是(现在仍然是)基于事务的关系数据库管理系统(RDBMS)。结构化查询语言(SQL)是一种解码循环,用于在RDBMS中管理数据和简化处理。DBMS的其他迭代包括列式、键/值和图形。在大多数情况下,他们使用结构化(如果不是高度结构化或标准化)数据,这些数据通常驻留在仓库或专用数据集市中。对象数据库是IT首次尝试使用结构化程度较低(如果不是非结构化)数据(如视频和图像)的另一种形式。它们被放置在专门的数据存储库中,通常需要专门的技能和专门的基础设施才能使它们正常工作。换句话说,它们的运行成本很高。RDBMS的好处包世界上已经在基础设施上投入了数十亿美元来运行这些数据库,由人们为各种垂直市场应用程序操作和完善。对于事务处理,它们仍然是无可争议的王者。RDBMS的其他好处包括:从故障中恢复的能力非常好,在大多数情况下可以恢复到最新状态RDBMS可以轻松地分布在多个物理位置RDBMS实际上保证了高度的数据一致性SQL是易于学习有用许多IT人才熟悉RDBMS安装用户可以执行相当复杂的数据查询缺点是什么?事实上,只要管理的数据是结构化的和相关的,就没有什么缺点。可扩展性是一个问题,因为这些系统中的大多数都是专有的,并且核心存储非常昂贵,尤其是随着数据库的增长。但这些古老的数据库以及与之配套的工具和应用程序在每家财富1000强公司中都很明显,并且有充分的理由:它们提供价值。但随后出现了大数据,其中很多来自非结构化腹地。它包含来自点击流、网站日志、照片、视频、音频剪辑、XML文档、电子邮件、推文等的数据。最初对于IT部门来说,大多数数据类似于从宇宙深处发出的背景噪音——只是很多噪音。但请记住这一点:1964年,一位名叫阿诺·彭齐亚斯(ArnoPenzias)的人破译了深空的背景噪音,并最终将其解释为已证实的大爆炸理论的证据。他获得了诺贝尔奖。大数据也是如此。事实证明,锁定在所有这些不同的大数据源中的是对客户行为、市场趋势、服务需求和许多其他方面的宝贵见解。这就是信息技术的大爆炸。由于大数据已经成为数据量总体增长的最大组成部分,而传统分析平台和解决方案在处理非结构化数据方面相对无效,分析领域正在发生深刻变化。IT进化,而不是革命但是这里有一些重要的事情要牢记在心。大数据分析不会取代传统的结构化数据分析,在可预见的未来肯定不会。恰恰相反。正如《The Executive’s Guide to Big Data & Apache Hadoop》所说,“当您将大数据与传统信息源相结合以提出创新解决方案时,它会非常吸引人库存系统(在RDBMS中)与基于文档存储的产品目录中的图像和视频描述相关联.这将帮助客户自行选择并立即订购正确的零件。或者,一家连锁酒店可以将基于Web的房地产搜索结果连同其自己的历史入住率指标输入到RDBMS中,以优化夜间定价并通过更好的收益管理来增加收入。共存,而不是替代。这是查看基于Hadoop的大数据分析与RDBMS和MPP世界之间关系的正确方法。因此,组织明智的做法是关注Hadoop分布,以优化基于Hadoop的数据湖和遗留系统之间的数据流。换句话说,保持旧的并以新的方式进行创新。使用哪个平台?常用的基本数据架构有三种:数据仓库、大规模并行处理系统(MPP)和Hadoop。每个以不同方式适应SQL。数据仓库本质上是大型数据库管理系统,针对跨结构化数据的只读查询进行了优化。它们是关系数据库,因此对SQL非常友好。它们提供快速的性能并且相对易于管理,这在很大程度上是因为它们的对称多处理(SMP)架构共享内存和操作系统等资源,并通过单个处理节点路由所有操作。最大的缺点是成本和灵活性。大多数数据仓库都建立在专有硬件上,并且比其他方法贵几个数量级。在Wikibon进行的一项财务比较中,发现传统数据仓库实现收支平衡的时间是数据湖实施的六倍多。传统的数据仓库也只能对它们了解的数据进行操作。它们具有固定的架构,在处理非结构化数据时灵活性较低。它们对于事务分析很有用,在事务分析中必须根据一组定义的数据元素快速做出决策,但在关系不明确的应用程序(例如推荐引擎)中效率较低。MPP数据仓库是传统仓库的演变,它利用通过公共互连连接在一起的多个处理器。SMP架构共享处理器之间的所有内容,而MPP架构不共享任何内容。每台服务器都有自己的操作系统、处理器、内存和存储。多个处理器的活动由主处理器协调,主处理器跨节点分发数据并协调动作和结果。MPP数据仓库具有高度可扩展性,因为添加处理器会导致性能几乎呈线性增长,而且成本通常低于单节点数据仓库所需的成本。MPP架构也非常适合同时处理多个数据库。这使它们比传统的数据仓库更灵活。但是,与数据仓库一样,它们通常只能处理以模式组织的结构化数据。但是,MPP架构与SMP数据仓库具有相同的局限性。因为它们需要复杂的工程设计,所以大多数都是个别供应商专有的,这使得它们成本高昂且相对不灵活。它们还受到与传统数据仓库相同的ETL要求的约束。从SQL的角度来看,MPP数据仓库有一个主要的架构差异:为了获得最大的性能增益,行按顺序分布在处理器之间。这意味着查询必须考虑多个表的存在。幸运的是,大多数MPP供应商在他们的SQL实例中隐藏了这个细节。Hadoop在架构上类似于MPP数据仓库,但有一些显着差异。处理器并不是严格按照并行架构定义的,而是在整个Hadoop集群中松散耦合,每个处理器可以处理不同的数据源。数据操作引擎、数据目录和存储引擎可以相互独立工作,以Hadoop为收集点。至关重要的是,Hadoop可以轻松容纳结构化和非结构化数据。这使它成为迭代查询的理想环境。业务用户可以尝试找到对他们最重要的查询,而不是尝试根据模式定义的狭窄结构来定义分析输出。然后可以提取相关数据并将其加载到数据仓库中以进行快速查询。让我们看看数据湖和数据仓库之间的主要区别(从KDNuggets总结):数据:虽然数据在数据仓库中是结构化的,但数据湖支持所有数据类型:结构化、半结构化或非结构化。处理:数据在数据仓库中为写入模式,在数据湖中为读取模式。存储:在数据仓库中存储大量数据可能很昂贵,而数据湖专为低成本存储而设计。敏捷性:在数据仓库中,数据是固定配置的,敏捷性差很多,而在数据湖中,数据很容易按需配置。用户:数据湖方法支持所有用户(数据科学家、业务专业人员),而数据仓库主要由业务专业人员使用。Hadoop最主要的用例仍然是“数据湖”,因为它存储大量非结构化数据,用于改进和提取到关系“数据集市”或数据仓库中。事实上,Gartner表示,他们看到客户对数据湖的查询大幅增加,如下所示:只看数字。从2014年到2015年,@Gartner_inc对数据湖的查询增加了72%。—NickHeudecker(@nheudecker)要将SQL的强大功能引入Hadoop,还有许多并行工作要做,但这些项目都面临着相同的结构性障碍,即Hadoop是无模式的,数据是非结构化的。将“结构化”查询语言应用于非结构化数据有点不自然,但这些项目正在迅速成熟。下面的架构图显示了这些不同方法中的一些如何在现代数据架构中结合在一起。替代品总而言之,每个平台都有有价值的用例。事实上,数据仓库、MPP数据仓库和Hadoop在很多方面是互补的。许多组织使用Hadoop在称为数据湖的大型非结构化信息池中进行数据发现,然后将最有用的数据加载到关系仓库中以进行快速和可重复的查询。