你真的明白什么是大数据吗?
2017-07-27 湾区城市群
大数据这个名词并不是啥新名词,如果对于IT比较熟悉的兄弟,估计听这个名词有6-7年的时间了,对这个有一定的了解,但是对于那些不熟悉IT的朋友来说,这个名词虽然在互联网和各媒体中听到见到很多,估计脑子仍然是一头雾水,到底什么是大数据?
大数据顾名思义,就是大量的数据,从字面来理解,有一定的道理,我们首先来看看数据库技术的发展,对于IT有一定了解的朋友,普遍都听说过数据库,基本上所有的信息化系统都离不开数据库,用户存储数据,并由于维护与使用相关信息,传统的数据库,我们称之为关系数据库,比较典型的如:ORACLE、SQL SERVER、My SQL等等,数据库中建立很多的数据表,用于存放不同的数据,这种数据库的特点是操作起来非常方便,表与表间可以有紧密的关联,然而这类数据库有一个很大的问题,也是一直困扰软件开发人员的问题,就是所存数据量一旦达到一定的数量,数据库操作的速度会快速降低,比方说一张数据表的数据存上几千万条数据,这个时候,无论是对表做什么操作,如:新增、修改、查询等等,速度会变得非常缓慢,少则几秒,多则几十秒甚至几分钟,这种操作是让人无法忍受的,于是系统架构师又得考虑分表、跑批、优化等等手段,从而造成大量的维护工作,也给系统的稳定性等等造成了很大的隐患。
最初的大数据从存储开始诞生,即:非关系数据,这个领域比较领先的如:脸书、雅虎等等,都自己开发了非关系数据库,卡桑德拉、芒果等等都是业内优秀的数据库,这类数据库可以存储海量的数据,解决了单表的操作瓶颈,速度非常快,注意,这里是单表操作,如果关系复杂的表结构,操作仍然不方便,如统计查询等等,但这项工作又是大多信息系统所需要的,传统的方式很难再多海量数据做更多有价值的挖掘,毕竟普通的服务器速度和效率都无法满足要求,一般人也用不起超级计算机,因此瓶颈数据应用的瓶颈再一次出现。
这个时候,美国的一个技术大牛,也就是现在的apache基金会的主席道格编写了一个开源框架(也是当年开源搜索引起lucence的编写者),叫做hadoop,用于分布式计算,即:把任务分配过若干个普通机器进行运算,然后再把运算结果进行汇总,通过这种方式,大量的企业机构将原来无法处理的海量数据通过这种框架进行处理,从而发掘出了极具价值的数据和规律,这个阶段也就是大数据真正开始发展的阶段,由于其中的算法调度,更多的采用硬盘作为中间存储介质,由此效率相对降低,紧接着spark的出现,即在hadoop的基础上,将中间环节很多部分改善微内存调度,让系统性能可以大幅度提升,另外也将hadoop的离线处理特点发展成为可以处理实时数据,到目前的FLINK等等机制,大数据处理能力在不断增强。
大数据仅仅就是这些了吗?当然不是,上面所说的只是基础,大家想想,现在的整个世界每天在互联网上产生多少新数据,而这些新数据如何被使用?这个就引出大数据另一个方面,结构化数据与非结构化数据,啥是结构化数据?这个还不太好解释,打个比方,你可以把很多数据进行量化,或者分类划,可以做成EXCEL表格的方式,这类数据通常是结构化数据,而另一类,比如一篇文章、一段文字等等,这类数据通常叫做非结构化数据,可以理解为结构化数据通过常规软件开发可以直接使用,而非结构化数据则需要人阅读进行判断和使用,另一个方面,在目前信息化的时代,结构化数据是远远小于非结构化数据的,这个就是大数据另外一个方向的应用,即:处理非结构化数据,让计算机具备一定的智能,可以理解非结构化数据,并实现某方面的具体功能。
可以说,大数据、机器学习、人工智能这几块的结合将是IT发展的全新时代的开始。