大数据基础架构详解

简介:本文是对大数据领域的基础论文的阅读总结,相关论文包括GFS,MapReduce、BigTable、Chubby、SMAQ。

大数据出现的原因

大多数的技术突破来源于实际的产品需要,大数据最初诞生于谷歌的搜索引擎中。随着web2.0时代的发展,互联网上数据量呈献爆炸式的增长,为了满足信息搜索的需要,对大规模数据的存储提出了非常强劲的需要。基于成本的考虑,通过提升硬件来解决大批量数据的搜索越来越不切实际,于是谷歌提出了一种基于软件的可靠文件存储体系GFS,使用普通的PC机来并行支撑大规模的存储。存进去的数据是低价值的,只有对数据进行过加工才能满足实际的应用需要,于是谷歌又创造了MapReduce这一计算模型,该模型能够利用集群的力量将复杂的运算拆分到每一台普通PC上,计算完成后通过汇总得到最终的计算结果,这样就能够通过直接增加机器数量就获得更好的运算能力了。

有了GFS和MapReduce之后,文件的存储和运算得到了解决,这时候又出现了新的问题。GFS的随机读写能力很差,而谷歌有需要一种来存放格式化数据的数据库,原本通过单机的数据库就能解决的问题到了谷歌那里就悲剧了,于是神器的谷歌就又开发了一套BigTable系统,利用GFS的文件存储系统外加一个分布式的锁管理系统Chubby就设计出来了BigTable这样一个列式的数据库系统。

在谷歌完成了上述的系统后,就把其中的思想作为论文发布出来了,基于这些论文,出现了一个用JAVA写的类GFS开源项目Hadoop,最开始hadoop的赞助人是yahoo,后来这个项目成了Apche的顶级项目。

大数据的解决方案

谷歌的那一套系统是闭源的,开源的Hadoop于是就广泛传播开来了。

 

和谷歌那套系统类似,Hadoop的最核心的存储层叫做HDFS,全称是Hadoop文件存储系统,有了存储系统还要有分析系统,于是就有了开源版本的MapReduce,类似的参照BigTable就有了Hbase。一开源之后整个系统用的人就多了,于是大家都像要各种各样的特性。facebook的那些人觉得mapreduce程序太难写,于是就开发了Hive,Hive就是一套能把SQL语句转成Mapreduce的工具,有了这套工具只要你会SQL就可以来Hadoop上写mapreduce程序分析数据了。对了,参考chubby,我们有了开源的ZooKeeper来作为分布式锁服务的提供者。

由于Hadoop最开始设计是用来跑文件的,对于数据的批处理来说这没什么问题,有一天突然大家想要一个实时的查询服务,数据这么大,要满足实时查询首先要抛开的是mapreduce,因为它真的好慢。2008年的时候一家叫Cloudera的公司出现了,他们的目标是要做hadoop界的redhat,把各种外围系统打包进去组成一个完整的生态系统,后来他们开发出来了impala,impala的速度比mapreduce在实时分析上的效率有了几十倍的提升,后来hadoop的创始人Doug Cutting也加入了cloudera。这时候学院派也开始发力了,加州大学伯克利分校开发出来了Spark来做实时查询处理,刚开始Spark的语法好诡异,后来慢慢出现了Shark项目,渐渐的使得Spark向SQL语法靠近。

未来的发展趋势:

时代的发展决定了未来几乎就要变成数据的时代了,在这样的一个时代,大数据的需求越来越深,摒弃过去的抽样调查,改为全量的统计分析,从一些原本无意义的数据中挖掘价值。当前大数据已经开始逐渐服务于我们的生活,搜索、科学、用户分析。。。

为了进一步提供大数据的分析能力,内存计算的概念在未来还会持续很长的时间,通过内存计算,摒弃磁盘IO对性能的天花板作用,将运算的结果以实时的方式呈献在我们面前。

时间: 2024-12-20 05:12:40

大数据基础架构详解的相关文章

物理网大数据基础架构研发+智能家居应用场景

平台介绍 平台简介 智能平台的主要功能如下: 智能家居基础架构平台定位于PaaS\DaaS服务的兼顾. 下面具体介绍一下我们如何定位PaaS服务的: 在物联网应用和真实设备之间搭建高效.稳定.安全的应用平台:面向设备,适配多种网络环境和常见传输协议,提供各类硬件终端的快速接入方案和设备管理服务:面向企业应用,提供丰富的API和数据分发能力以满足各类行业应用系统的开发需求,使物联网企业可以更加专注于自身应用的开发,而不用将工作重心放在设备接入层的环境搭建上,从而缩短物联网系统的形成周期,降低企业研

hadoop大数据平台架构之DKhadoop详解

hadoop大数据平台架构之DKhadoop详解大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了hadoop商业版的发行.这里就通过大快DKhadoop为大家详细介绍一下hadoop大数据平台架构内容.目前国内的商业发行版hadoop除了大快DKhadoop以外还有像华为云等.虽然发行方不同,但在平台架构上相似,这里就以我比较熟悉的dkhadoo

分享《深度学习与计算机视觉算法原理框架应用》PDF《大数据架构详解从数据获取到深度学习》PDF +数据集

下载:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多分享资料:https://www.cnblogs.com/javapythonstudy/ <深度学习与计算机视觉 算法原理.框架应用>PDF,带书签,347页.<大数据架构详解:从数据获取到深度学习>PDF,带书签,373页.配套源代码. <深度学习与计算机视觉 算法原理.框架应用>全书共13章,分为2篇,第1篇基础知识,第2篇实例精讲.用通俗易懂的文字表达公式背

分享《深度学习与计算机视觉算法原理框架应用》《大数据架构详解从数据获取到深度学习》PDF数据集

下载:https://pan.baidu.com/s/12-s95JrHek82tLRk3UQO_w 更多资料分享:http://blog.51cto.com/3215120 <深度学习与计算机视觉 算法原理.框架应用>PDF,带书签,347页.<大数据架构详解:从数据获取到深度学习>PDF,带书签,373页.配套源代码. <深度学习与计算机视觉 算法原理.框架应用>全书共13章,分为2篇,第1篇基础知识,第2篇实例精讲.用通俗易懂的文字表达公式背后的原理,实例部分提供

dkhadoop大数据处理架构详解

大数据的时代已经来了,信息的爆炸式增长使得越来越多的行业面临这大量数据需要存储和分析的挑战.Hadoop作为一个开源的分布式并行处理平台,以其高拓展.高效率.高可靠等优点越来越受到欢迎.这同时也带动了hadoop商业版的发行.这里就通过大快DKhadoop为大家详细介绍一下hadoop大数据平台架构内容.目前国内的商业发行版hadoop除了大快DKhadoop以外还有像华为云等.虽然发行方不同,但在平台架构上相似,这里就以我比较熟悉的dkhadoop来介绍.1.大快Dkhadoop,可以说是集成

高并发高流量网站架构详解

(推荐)高并发高流量网站架构详解 Web2.0的兴起,掀起了互联网新一轮的网络创业大潮.以用户为导 向的新网站建设概念,细分了网站功能和用户群,不仅成功的造就了一大批新生的网站,也极大的方便了上网的人们.但Web2.0以用户为导向的理念,使得新 生的网站有了新的特点--高并发,高流量,数据量大,逻辑复杂等,对网站建设也提出了新的要求. 本文围绕高并发高流量的网站架构设计问题,主要研究讨论了以下内容: 首先在整个网络的高度讨论了使用镜像网站,CDN内容分发网络等技术对负载均衡带来的便利及各自的优缺

varnish基础概念详解

varnish基础概念详解 比起squid更加轻量级,大致有以下几个特点: ·可以基于内存缓存,也可以在磁盘上缓存,但是就算存放在磁盘上,也不能实现持久缓存 只要进程崩溃,此前缓存统统失效,无论是在内存还是在磁盘,但是现在已经具备持久缓存功能,但是仍然在实验阶段,经常容易崩溃,而且最大大小不能超过1G 如果期望内存大小超过几十个G,比如图片服务器,纯粹使用内存,性能未必好,这时候可以使用磁盘进行缓存,或SSD X 2 做RAID 避免磁盘损坏,在实现随机访问上 ssd硬盘要比机械硬盘要好的多,如

NopCommerce源码架构详解--初识高性能的开源商城系统cms

很多人都说通过阅读.学习大神们高质量的代码是提高自己技术能力最快的方式之一.我觉得通过阅读NopCommerce的源码,可以从中学习很多企业系统.软件开发的规范和一些新的技术.技巧,可以快速地提高我们的技术能力.所以我最近决定写一个“NopCommerce源码架构详解”的系列,来详细剖析NopCommerce的架构和原理. Nopcommerce主要用到的技术及特点: 1.Entity Framework 2.ASP.NET mvc 3.IoC容器+依赖注入(Autofac) 4.使用EF中的E

MySQL主从架构详解

1.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的.复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器.主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环.这些日志可以记录发送到从服务器的更新.当一个从服务器连接主服务器时,它通知主服务器从服务器在日志中读取的最后一次成功更新的位置.从服务器接收