`
younglibin
  • 浏览: 1207777 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hadoop入门--大数据存储及处理平台产生的背景

 
阅读更多

本文中提到 的 著名的  google 的3篇论文中文版    在附件中 

 

传统的关系型数据库中的表通常由一个或多个字段组成,每个字段都预先定义了其可存储数据的格式及约束等,这类的数据就是结构化数据(structured data)。一个设计良好的数据库在其schema中定义这些格式或约束,并由相应的RDBMS为这些提供实现保证。相应地,非结构化数据(unstructured Data)就是指那些没有一个预定义的数据模型或不适于存储在RDBMS中的数据,这些数据没有额外的描述信息(元数据)因此无法推断这些信息的真实意义,比如文本文件。半结构化数据(semi-structured data)有着特定的结构,但每个记录的结构未必完全相同,因此,无法为这些数据记录提供预定义的schema,其元数据只有在数据创建时才能获取,通常都与数据交相存储从而实现自我描述(self-describing),如XML文件。

 
现今,如搜索引擎类公司的网络爬虫爬行而来的web页面或社交类站点产生的用户访问日志都属半结构化或非结构化数据,传统的关系型数据库管理系统对这类数据的存储及处理能力有限,于是处理这类数据的需求就催生了一种新的数据库系统,即大数据管理系统(Big Data System)或NoSQL。这场声势浩大的数据库管理系统革新运动以Google、Amazon、Yahoo!、Facebook等先锋为主导展开的。这些组织或者由自己的业务生成海量数据,或从互联网上自由获取海量数据,但对这些海量数据进行存储、分析和处理都无一例外地成为支撑其业务的核心需求。初期,他们都采用了当时主流的数据管理技术来满足类似需求,但也都在各自的应用中遇到了规模扩展、存储性能等各方面的限制。尽管数据管理并非他们的核心业务,但数据处理却成支撑其业务运作基本组成部分,因此他们各自注入大量的技术实力依据业务需求进行新技术研发。
 
尽管许多公司都对他们的研究成果采取了保密措施,Google却选择了将他们的成功经验公之于众。2003年,Google公开发表了论文“The Google File System”,系统阐述了采取商用硬件计算机集群存储海量数据的分布式文件系统GFS的实现;GFS采取“数据块”管理文件数据,并在集群中多个节点上存储同一个数据块的副本以实现冗余功能;GFS设计用来支持大规模、数据密集型、分布式应用程序的运行;此外,它还为流式数据读取进行了优化,因此特别适用于存储之后读取数据并对之做出处理类的操作。这之后的第二年,Google又公开发表了另一篇论文“MapReduce: Simplified
Data Processing on Large Clusters”,定义了一个编程模型及其运行框架,提供了于集群中的多个节点上自动并行、容错及可处理数百TB规模的数据集数据处理平台;MapReduce是GFS集群的组成部分,它是一个编程框架,能够让用户编写的代码分布式运行于GFS集群中的多个节点上尽可能通过本地数据访问完成数据的并行处理操作。MapReduce与GFS一同构成了大数据存储及并行处理平台,Google的搜索索引的建立也正是基于此平台得以高效运行。与此同时,Amazon也公开其购物车实现的基础组件Dynamo。
 
Google的MapReduce及GFS提供了海量数据存储及并行处理平台,但GFS并不支持对数据进行随机或实时访问,且仅适用于存储少量的、体积巨大大的文件,对海量小数据文件的管理有此力不从心。故此,Google开始寻找一种能够充分发挥GFS的高可用性及海量存储能力,又能支持类似邮件或分析系统等交互式应用的数据管理解决方案。这种数据存储要能够有效管理海量数据片断,又可以透明地将这些小数据片合并成为适合存储于GFS的大文件,也要内生地支持排序索引以在数据检索时最小程度地触发磁盘IO操作,还要能够存储网络爬行而来的海量数据并将其提供给MapReduce及时、快速构建搜索索引。针对这些需求,传统的RDBMS系统的管理能力已难以为继,因此Google的工程师发明了一种新的处理系统,这种系统移除了关系型数据库系统的众多特性而提供一种仅支持CRUD(Create、Read、Update和Delete)操作的简单API,以及一个实现范围或全表遍历的scan功能。2006年,Google将这些研究成果通过“Bigtable: A Distributed Storage System for Structured Data”论文公之于众。
 
任何对MapReduce、GFS及Bigtable技术感兴的朋友都应该认真读一读Google贡献给全人类的这三篇传世之作(见附件)。它们也是开源系统Hadoop、HBase等得以构建的理论基石,Hadoop的核心组件为MapReduce和HDFS,其中Hadoop的MapReduce是Google的MapReduce技术的开源实现,HDFS是GFS的开源实现,HBase是Bigtable的开源实现。因此,这三篇论文也是深入学习Hadoop、HBase等的基础性材料。
 
 
 
分享到:
评论

相关推荐

    尚硅谷大数据技术之Hadoop(入门)1

    大数据是指那些在传统数据处理技术下难以捕获、管理、存储和分析的海量、高速度、多样化和具有潜在价值的数据。这些数据来源于各种各样的来源,包括社交媒体、传感器网络、电子商务交易、互联网搜索等。大数据概念的...

    基于Greenplum-Hadoop-分布式平台的大数据解决方案01-Greenplum架构(1)

    1. **数据湖策略**: Hadoop作为数据湖,存储原始、非结构化或半结构化的大数据,而Greenplum作为数据仓库,处理结构化数据。两者结合,可以实现从数据湖中提取有价值的信息,并进行深度分析。 2. **ETL过程**: 使用...

    hadoop入门-01-集群搭建.docx

    【Hadoop入门-01-集群搭建】 Hadoop是一个由Apache基金会所开发的开源分布式计算框架,它旨在处理和存储海量数据。Hadoop的核心组件包括HDFS(分布式文件系统)、YARN(运算资源调度系统)以及MAPREDUCE(分布式...

    hadoop开发案例hadoop视频教程-GreenplumHadoop大数据应用案例剖析21.docx

    以阿里巴巴集团为例,阿里巴巴选择了Greenplum作为其数据仓库平台,用于存储和处理数百TB的业务数据。这一决策使得阿里巴巴能够高效地支持各种分析应用,提高业务决策的速度和准确性。 #### 五、市场前景与人才需求...

    hadoop-eclipse-plugin-2.7.0.jar

    《Hadoop Eclipse Plugin 2.7.0:高效开发与调试工具》 Hadoop Eclipse Plugin 2.7.0是一款专门为Hadoop生态系统设计的...通过熟练掌握这款插件,开发者可以更好地利用Hadoop处理大数据,实现高效的数据分析和挖掘。

    【实例介绍】hadoop入门-入门必备技.pdf

    Apache Hadoop 是一个开源的分布式计算框架,专为处理和存储海量数据而设计。这个框架源于2002年Apache Nutch项目,旨在构建一个强大的搜索引擎。受到Google的GFS(Google File System)和MapReduce的启发,Nutch...

    尚硅谷大数据之Hadoop入门

    大数据部门的业务流程通常包括数据采集、清洗、存储、处理、分析等多个环节,涉及多个部门和技术栈的协作。 **1.6 大数据部门组织结构(重点)** 大中型企业的典型大数据部门组织结构包括数据科学家、数据工程师、...

    hadoop2x-eclipse-plugin-master

    它为分布式存储和计算提供了强大的支持,而Hadoop2x-eclipse-plugin-master正是针对Hadoop开发的一款Eclipse集成开发环境(IDE)插件。这款插件旨在简化Hadoop应用的开发、调试和部署流程,使得开发者能够在Eclipse...

    hadoop大数据培训零基础学习hadoop-北京尚学堂.pdf

    在学习Hadoop大数据技术之前,首先需要理解Hadoop是一个开源框架,主要设计用于处理和存储大量数据。Hadoop的核心组件包括HDFS(分布式文件系统)和MapReduce(一种分布式计算模型)。由于Hadoop是用Java编写的,...

    Hadoop大数据开发基础-PPT课件

    【Hadoop大数据开发基础-PPT课件】是一个涵盖了Hadoop生态系统入门知识的教育资源,适合初学者和希望深入了解大数据处理技术的IT专业人士。本课件主要围绕Hadoop框架展开,包括其设计原理、核心组件以及实际应用。...

    大数据技术之Hadoop(入门).docx

    ### 大数据技术之Hadoop(入门)知识点详解 #### 第1章 大数据概论 ##### 1.1 大数据概念 ...以上内容涵盖了Hadoop入门所需的基础知识和技术要点,对于想要深入了解大数据领域的读者来说是非常有用的参考资料。

    大数据技术-数据kettle-大数据基础kettle数据处理-学习(从入门到精通)

    ### 大数据技术-数据kettle-大数据基础kettle数据处理-学习(从入门到精通) #### 一、基础知识 **大数据技术**是指在海量、高速数据环境中进行数据管理和处理的技术体系。随着互联网的发展,数据量呈爆炸式增长,...

    Hadoop开发者入门-带书签文字版

    Hadoop入门手册的高清版确保了阅读体验,清晰的文字和图表有助于理解复杂的概念。书签版则使得在大量内容中快速定位特定章节变得轻松,这对于深入学习和查找特定知识点极其重要。以下是对Hadoop开发者入门中主要知识...

    Hadoop实战-陆嘉恒(高清完整版)

    《Hadoop实战-陆嘉恒(高清完整版)》是一本深入浅出介绍Hadoop技术的书籍,尤其适合初学者作为入门教材。Hadoop作为大数据处理领域的基石,其重要性不言而喻。这本书详细讲解了Hadoop的核心概念、架构以及实际应用,...

    福建师范大学精品大数据导论课程系列 (3.2.1)--2.2 《大数据相关技术基础(2)》PPT.pdf

    在大数据存储方面,课程介绍了分布式存储系统,包括分布式文件系统(如HDFS)、集群文件系统和并行文件系统。这些系统能够处理大规模、分布式的数据,确保数据的高可用性和高性能。同时,课程还提到了云存储,它是...

    王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第八讲Hadoop图文训练课程:Hadoop文件系统的操作

    Hadoop作为一个开源的分布式存储与计算平台,已经成为处理大数据的关键技术之一。王家林的“云计算分布式大数据Hadoop实战高手之路”系列教程,通过三个不同的学习阶段,帮助学习者从零基础开始,逐步成为Hadoop领域...

    Hadoop大数据开发基础-PPT课件.rar

    课程首先从第一章开始,讲解了Hadoop的基本概念,包括它的起源、发展背景以及在大数据处理中的核心地位。Hadoop作为一个开源框架,主要用于存储和处理大规模数据集,其分布式文件系统(HDFS)和并行计算模型...

    大数据基础操作说明-HADOOP HIVE IMPALA

    大数据基础操作说明-HADOOP HIVE IMPALA Hadoop 是一个基于分布式存储和计算的开源框架,Hive 是基于 Hadoop 的一个数据仓库工具,Impala 是一个高性能的分布式SQL查询引擎。在这篇文章中,我们将会了解 Hadoop ...

Global site tag (gtag.js) - Google Analytics