大数据知识汇总(一)

第一章 大数据理论

第一节 大数据概念

重点内容:大数据概念,大数据主要的应用场景以及了解目前主流的大数据平台和大数据组件的功能。

5个V
1)Volume:表示大数据的数据体量巨大。
数据集合的规模不断扩大,已经从 GB 级增加到 TB 级再增加到 PB 级,近年来,数据量甚至开始以 EB 和 ZB 来计数。

2)Velocity:表示大数据的数据产生、处理和分析的速度在持续加快。
加速的原因是数据创建的实时性特点,以及将流数据结合到业务流程和决策过程中的需求。数据处理速度快,处理模式已经开始从批处理转向流处理。

3)Variety:表示大数据的数据类型繁多。
传统 IT 产业产生和处理的数据类型较为单一,大部分是结构化数据。随着传感器、智能设备、社交网络、物联网、移动计算、在线广告等新的渠道和技术不断涌现,产生的数据类型无以计数。

4)Value:表示大数据的数据价值密度低。
大数据由于体量不断加大,单位数据的价值密 度在不断降低,然而数据的整体价值在提高。以监控视频为例,在一小时的视频中,有用的数据可能仅仅只有一两秒,但是却会非常重要。现在许多专家已经将大数据等同于黄金和石油,这表示大数据当中蕴含了无限的商业价值。

5)Veracity真实性
数据的准确性和可信赖度,一般可以理解为数据的质量。

第二节 大数据基础理论

重点内容:大数据的基石理论:GFS,MapReduce和BigTable的内容和原理,基于这些理论实现的大数据系统

GFS(Google File System)

《Google File System》(GFS) 这篇论文,就像是一篇设计文档一样,具体的描述了google如何去设计一个分布式的文件管理系统,来对每天产生的海量数据进行管理、储存、修改、访问。因为谷歌公布了其技术论文,更有国外类似如Hadoop的等开源框架的具体实现,国内的许多互联网大厂才能在此基础上设计自己的分布式文件管理系统,例如淘宝的TFS(Taobao File System) 、百度的BFS(Baidu File System)等等。

作为大数据的 “开山鼻祖”,进来我们就来简单了解一下google的 《Google File System》(下文简称GFS)。
设计预期:
在GFS的开篇中就说到,这个系统在设计之初就是希望设计成一个分布式的文件系统,其中整个系统由许多普通且廉价的服务器组成(大约几百台或者上千台)。系统设计完成必须要满足这么几个预期:

1、性能:这个系统要求对于数据的吞吐量必须要达到MB/s、GB/s甚至是TB/s的级别,这样在一瞬间有海量的数据涌来的时候,才能对这些数据进行处理。
2、可伸缩性:因为组成系统的每台服务器都是普通的服务器,因此每台服务器随时都有损坏、报废的可能,因此必须使得系统能够自动的检测哪些服务器出现了问题,并且可以自动的对其进行处理,不需要使得整个系统断电,就能动态的改变服务器的数量。这样的性能非常的重要,不但体现在服务器损坏时可以自动的修复,更加体现在比如 “双十一”时,这时候的数据量肯定比以往的数据量更加的庞大,因此需要的服务器的数量就更多,因为需要系统可以根据实时的需要,来决定使用的服务器的资源的多少,这样的 可伸缩性 使得整个系统的更加的灵活。
3、可靠性:这里的可靠性就是指系统需要有很强的容错能力,比如上文提到的,如果服务器突然损坏,怎么来保证数据不丢失,更有甚者,比如发生了自然灾害,整个数据中心崩溃,怎么来恢复数据,保证系统能继续进行正常的工作。还有在日常的一些对数据的访问的过程中,如果系统发生了物理上的异常,比如发生了0/1的跳变,那如何来进行容错,这些都是设计整个系统的可靠性时,需要进行考虑的东西。
4、可用性:可用性指用户如何来对数据进行访问、修改、追加、复制等操作,同时需要保证多个客户端并行(同时)的访问或者修改同一个数据时,怎么才能保证数据的一致性,是使得数据的修改不混乱,保证下一次读取时,数据时可用的,不是混乱的数据。

系统架构(系统怎么工作的)

GFS中包含了数百台服务器(普通的计算机),一个服务器就是一个节点,其中有一台服务器最特殊,叫做 “Master节点”,他是所有服务器的老大,其余的服务器都叫做 “Chunk节点”,整个系统叫做一个集群,而海量的数据都是存储在集群上的,同时数据的计算和处理也是基于集群工作的。

Master节点:Master节点是储存什么的呢?Master节点储存的是 “元数据”,说通俗点,储存的就是每一个Chunk数据的位置,以及每一个Chunk节点储存了哪些数据。 注意:master节点不存储具体的数据,具体的数据都存储在chunk节点上,Master节点相当于一个目录,你通过master节点就可以查到你想要的数据存储在哪一个chunk节点上,以及这个chunk节点的具体位置在哪里。

chunk节点: chunk节点用来存储具体的数据,其中的数据是一块一块的划分的,我们称作块数据,一块的大小为大概128M。注意:为了保证容错性,我们一般会使用3个chunk来存储相同的数据,也就是说将一份数据备份3份,这样当一个chunk出错或者损坏时,可以通过另外两份备份的数据,快速的将当前chunk的数据进行恢复。</

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值