在现如今,随着互联网技术飞速的发展,目前有不少朋友询问关于大数据方面的问题,比如什么是大数据开发啊,和大数据相关的技术是什么呢等问题,我们今天就浅谈一下大数据开发及和大数据相关的技术的问题。
首先,大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
那么和大数据相关的技术有哪些?
想成为云计算大数据Spark高手,看这里!戳我阅读
年薪50W的Java程序员转大数据学习路线戳我阅读
大数据人工智能发展趋势与前景 戳我阅读
最全最新的大数据系统交流路径!!戳我阅读
2019最新!大数据工程师就业薪资,让人惊艳!戳我阅读
1、云技术
大数据常和云计算联系到一起,因为实时的大型数据集分析需要分布式处理框架来向数十、数百或甚至数万的电脑分配工作。可以说,云计算充当了工业革命时期的发动机的角色,而大数据则是电。
云计算思想的起源是麦卡锡在上世纪60年代提出的:把计算能力作为一种像水和电一样的公用事业提供给用户。
如今,在Google、Amazon、Facebook等一批互联网企业引领下,一种行之有效的模式出现了:云计算提供基础架构平台,大数据应用运行在这个平台上。
业内是这么形容两者的关系:没有大数据的信息积淀,则云计算的计算能力再强大,也难以找到用武之地;没有云计算的处理能力,则大数据的信息积淀再丰富,也终究只是镜花水月。
那么大数据到底需要哪些云计算技术呢?
这里暂且列举一些,比如虚拟化技术,分布式处理技术,海量数据的存储和管理技术,NoSQL、实时流数据处理、智能分析技术(类似模式识别以及自然语言理解)等。
云计算和大数据之间的关系可以用下面的一张图来说明,两者之间结合后会产生如下效应:可以提供更多基于海量业务数据的创新型服务;通过云计算技术的不断发展降低大数据业务的创新成本。
如果将云计算与大数据进行一些比较,最明显的区分在两个方面:
第一,在概念上两者有所不同,云计算改变了IT,而大数据则改变了业务。然而大数据必须有云作为基础架构,才能得以顺畅运营。
第二,大数据和云计算的目标受众不同,云计算是CIO等关心的技术层,是一个进阶的IT解决方案。而大数据是CEO关注的、是业务层的产品,而大数据的决策者是业务层。
2、分布式处理技术
分布式处理系统可以将不同地点的或具有不同功能的或拥有不同数据的多台计算机用通信网络连接起来,在控制系统的统一管理控制下,协调地完成信息处理任务—这就是分布式处理系统的定义。
以Hadoop(Yahoo)为例进行说明,Hadoop是一个实现了MapReduce模式的能够对大量数据进行分布式处理的软件框架,是以一种可靠、高效、可伸缩的方式进行处理的。
而MapReduce是Google提出的一种云计算的核心计算模式,是一种分布式运算技术,也是简化的分布式编程模式,MapReduce模式的主要思想是将自动分割要执行的问题(例如程序)拆解成map(映射)和reduce(化简)的方式, 在数据被分割后通过Map 函数的程序将数据映射成不同的区块,分配给计算机机群处理达到分布式运算的效果,在通过Reduce 函数的程序将结果汇整,从而输出开发者需要的结果。
再来看看Hadoop的特性,第一,它是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。其次,Hadoop 是高效的,因为它以并行的方式工作,通过并行处理加快处理速度。Hadoop 还是可伸缩的,能够处理 PB 级数据。此外,Hadoop 依赖于社区服务器,因此它的成本比较低,任何人都可以使用。
你也可以这么理解Hadoop的构成,Hadoop=HDFS(文件系统,数据存储技术相关)+HBase(数据库)+MapReduce(数据处理)+……Others
Hadoop用到的一些技术有:
HDFS: Hadoop分布式文件系统(Distributed File System) - HDFS (HadoopDistributed File System)
MapReduce:并行计算框架
HBase: 类似Google BigTable的分布式NoSQL列数据库。
Hive:数据仓库工具,由Facebook贡献。
Zookeeper:分布式锁设施,提供类似Google Chubby的功能,由Facebook贡献。
Avro:新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制。
Pig:大数据分析平台,为用户提供多种接口。
Ambari:Hadoop管理工具,可以快捷的监控、部署、管理集群。
Sqoop:用于在Hadoop与传统的数据库间进行数据的传递。
说了这么多,举个实际的例子,虽然这个例子有些陈旧,但是淘宝的海量数据技术架构还是有助于我们理解对于大数据的运作处理机制:
如上图所示,淘宝的海量数据产品技术架构分为五个层次,从上至下来看它们分别是:数据源,计算层,存储层,查询层和产品层。
数据来源层。存放着淘宝各店的交易数据。在数据源层产生的数据,通过DataX,DbSync和Timetunel准实时的传输到下面第2点所述的“云梯”。
计算层。在这个计算层内,淘宝采用的是Hadoop集群,这个集群,我们暂且称之为云梯,是计算层的主要组成部分。在云梯上,系统每天会对数据产品进行不同的MapReduce计算。
存储层。在这一层,淘宝采用了两个东西,一个使MyFox,一个是Prom。MyFox是基于MySQL的分布式关系型数据库的集群,Prom是基于Hadoop Hbase技术的一个NoSQL的存储集群。
查询层。在这一层中,Glider是以HTTP协议对外提供restful方式的接口。数据产品通过一个唯一的URL来获取到它想要的数据。同时,数据查询即是通过MyFox来查询的。
最后一层是产品层,这个就不用解释了。
3、 存储技术
大数据可以抽象的分为大数据存储和大数据分析,这两者的关系是:大数据存储的目的是支撑大数据分析。到目前为止,还是两种截然不同的计算机技术领域:大数据存储致力于研发可以扩展至PB甚至EB级别的数据存储平台;大数据分析关注在最短时间内处理大量不同类型的数据集。
提到存储,有一个著名的摩尔定律相信大家都听过:18个月集成电路的复杂性就增加一倍。所以,存储器的成本大约每18-24个月就下降一半。成本的不断下降也造就了大数据的可存储性。
比如,Google大约管理着超过50万台服务器和100万块硬盘,而且Google还在不断的扩大计算能力和存储能力,其中很多的扩展都是基于在廉价服务器和普通存储硬盘的基础上进行的,这大大降低了其服务成本,因此可以将更多的资金投入到技术的研发当中。
以Amazon举例,Amazon S3 是一种面向 Internet 的存储服务。该服务旨在让开发人员能更轻松的进行网络规模计算。Amazon S3 提供一个简明的 Web 服务界面,用户可通过它随时在 Web 上的任何位置存储和检索的任意大小的数据。 此服务让所有开发人员都能访问同一个具备高扩展性、可靠性、安全性和快速价廉的基础设施,Amazon 用它来运行其全球的网站网络。再看看S3的设计指标:在特定年度内为数据元提供 99.999999999% 的耐久性和 99.99% 的可用性,并能够承受两个设施中的数据同时丢失。
S3很成功也确实卓有成效,S3云的存储对象已达到万亿级别,而且性能表现相当良好。S3云已经拥万亿跨地域存储对象,同时AWS的对象执行请求也达到百万的峰值数量。目前全球范围内已经有数以十万计的企业在通过AWS运行自己的全部或者部分日常业务。这些企业用户遍布190多个国家,几乎世界上的每个角落都有Amazon用户的身影。
4、 感知技术
大数据的采集和感知技术的发展是紧密联系的。以传感器技术,指纹识别技术,RFID技术,坐标定位技术等为基础的感知能力提升同样是物联网发展的基石。全世界的工业设备、汽车、电表上有着无数的数码传感器,随时测量和传递着有关位置、运动、震动、温度、湿度乃至空气中化学物质的变化,都会产生海量的数据信息。
而随着智能手机的普及,感知技术可谓迎来了发展的高峰期,除了地理位置信息被广泛的应用外,一些新的感知手段也开始登上舞台,比如,最新的”iPhone 5S”在home键内嵌指纹传感器,新型手机可通过呼气直接检测燃烧脂肪量,用于手机的嗅觉传感器面世可以监测从空气污染到危险的化学药品,微软正在研发可感知用户当前心情智能手机技术,谷歌眼镜InSight新技术可通过衣着进行人物识别。
除此之外,还有很多与感知相关的技术革新让我们耳目一新:比如,牙齿传感器实时监控口腔活动及饮食状况,婴儿穿戴设备可用大数据去养育宝宝,Intel正研发3D笔记本摄像头可追踪眼球读懂情绪,日本公司开发新型可监控用户心率的纺织材料,业界正在尝试将生物测定技术引入支付领域等。
其实,这些感知被逐渐捕获的过程就是就世界被数据化的过程,一旦世界被完全数据化了,那么世界的本质也就是信息了。
就像一句名言所说,“人类以前延续的是文明,现在传承的是信息。”