首页 理论教育 大数据的存储与管理

大数据的存储与管理

时间:2023-06-24 理论教育 版权反馈
【摘要】:图1-1大数据存储与管理的架构这其中最常见的系统就是Hadoop[16] 。大数据一般不具备固定结构,而前一种数据库系统能对非结构化或半结构化的数据提供更灵活的存储形式。HBase、Accumulo和MongoDB是这类数据库的代表,HBase和Accumulo都是建立在Hadoop之上的。HIVE和PIG是这类数据库的代表。然而,传统关系型数据库中的事务处理无法实现,因为底层系统并不支持。在第2章中,我们会更详细地对大数据的计算框架进行介绍。

大数据的存储与管理

传统的计算机系统和数据库无法处理大数据,因为它们只能运行在一些小的计算机集群上(不超过100台),并且这些系统非常昂贵,往往需要一些特殊的硬件支持。图1-1展示了大数据存储与管理的通用架构。与传统的计算机集群或是超级计算机的最大不同之处在于,这种架构的底层是由大量商用计算机(可能多达几千台)组成的。每一台计算机都称为一个节点(node)。节点放置在机架(rack)上,每一个机架包含30~40个节点。节点之间通过高速网络连接,在机架内外进行切换。数据分布式地存储在这些节点上,通过分布式的数据存储与管理系统统一管理。

图1-1 大数据存储与管理的架构

这其中最常见的系统就是Hadoop[16] 。 Hadoop是Apache的一个开源项目,它由两项主要组成部分:HDFS,一种分布式文件系统;MapReduce[17],一种分布式计算框架。Hadoop支持对服务器集群上海量数据的分布式处理,且具备容错能力,如果一个节点出错了,则该节点的工作会自动转移到另一个节点上继续处理。Hadoop使我们可以高效地存储、管理、查询和分析大数据。然而,Hadoop并不支持OLTP( onl-ine transaction processing,联机事务处理),因此,它更适用于对大数据的分析和处理(包括在线和离线状态下),而不是事务处理(例如交易操作)。

表1-1比较了Hadoop和超级计算机的不同之处。和超级计算机相比,使用Hadoop来处理大数据性价比更高,因为它依靠大量商用计算机来实现,而不需要特殊的硬件支持。当然,超级计算机依然有它的用武之地,特别是针对计算密集型而不是数据密集型的任务,例如仿真。(www.xing528.com)

表1-1 Hadoop与超级计算机

通常,这种大数据存储与管理架构在底层系统之上建立数据库系统。这些系统可以被分为两类:NoSQL数据库(非关系型数据库); SQL数据库(关系型数据库)。大数据一般不具备固定结构,而前一种数据库系统能对非结构化或半结构化的数据提供更灵活的存储形式。通常,它们不支持SQL操作,用户需要编写特定的程序来处理存储在其中的数据。HBase、Accumulo和MongoDB是这类数据库的代表,HBase和Accumulo都是建立在Hadoop之上的。

第二种数据库更像是传统关系型数据库的扩展版本。它们可以存储结构化的数据,并且能支持SQL操作。通常,它们将SQL指令转换成一系列MapReduce任务,通过底层系统(Hadoop)来执行。HIVE和PIG是这类数据库的代表。然而,传统关系型数据库中的事务处理无法实现,因为底层系统并不支持。

在第2章中,我们会更详细地对大数据的计算框架进行介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈