闵应骅的博客分享 http://blog.sciencenet.cn/u/ymin 一位IEEE终身Fellow对信息科学及其发展的看法

博文

大数据到底要研究什么?(130308) 精选

已有 18720 次阅读 2013-3-8 08:05 |个人分类:计算机|系统分类:科研笔记| 大数据

大数据到底要研究什么?(130308

闵应骅

 

    在信息科学领域,前几年国内物联网热。外行人一看就知道是要让所有东西都联上因特网。后来,又是云计算,说是要把计算放到云里去。云在哪里呢?反正在远处,也还可以理解。最近,在计算机软件领域,到处都在喊大数据。这有点不好理解。数据(data)是个不可数名词,怎么来大小了?我自己也一样,最近大致学习了一下,看大数据究竟要研究什么?提出来抛砖引玉吧!

    何谓“大”数据?70年代若干兆字节(MB)就算大量数据了,以后是千兆字节(GB)、兆兆字节(TB),而现在已经到了PB级(1PB=1024TB),而高端数据仓库已达EB级(1EB=1024PB)。反正是千倍千倍的往上翻。想想,光是全世界各地装的摄像头有多少,每时每刻都在产生数据。唱歌、通话、录音产生多少数据。多少亿人上网、发微博,多少数据!有了因特网,这些数据就都在网上流通,而不是死在那里。票子不流通就没有价值,数据也一样。数据不利用也毫无价值。所以,的确每天都产生大量的数据,需要处理。所以有大数据,而且需要处理。这一点,没有疑义。

在计算机领域,早就有数据库分支,后来发展到数据仓库,也有人叫海量数据处理。现在又提出所谓“大数据”。有了因特网以后,数据的一个重要特征是互动性和动态性,就是说任何用户既可以下载,也可以上传,也可以实时对话。例如在线商务,政府的群众情绪分析,卫生部门的流行病疫情分析,社会科学家研究社会网络如何扩散社会呼声及如何有效处理。但是,这些都属于大数据技术的应用,虽然每一个都需要一个应用程序,但不属于大数据技术本身。可这些都要求支持大量数据的计算、搜索和存储。因此,大数据分析和管理成为当今计算领域最关键性的挑战。

有人认为,大数据主要是数理统计,对大量同类型数据进行统计分析。这属于数理统计学科,不属于计算学科。也有人认为,大数据主要是数据挖掘、机器学习。这倒有点靠谱。但是,数据挖掘、机器学习是另外两个学科领域。不能把数据挖掘、机器学习包括在大数据的研究范围之内。大数据是数据库发展而来的。

数据库要做的是数据的组织、存储和管理。关系数据库比较容易创建和存取,而且容易扩充。在数据库创建之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。并行数据库的SQL语言应运而生。但是,大数据来了以后,没有一个设备能存储这么大量的数据,它必须存储在许多的存储设备中。一个硬盘即使能存1TB,对于EB的数据也无济于事。而且,读写都很费时。串行地组织、管理、搜索这么大量的数据,用多么快的计算机都无能为力。因为超级计算机可以计算得很快,但与存储设备的输入输出快不了。所以,串行根本是不可取的,必须并行化。

当前的大数据基本都运行于网络化的计算机群(Cluster of computers)上,每一个都有自己的处理器、存储器和硬盘。数据分布在多个计算机机群上,通常采用哈希分块,或者按范围、随机分块,或者队列,其处理一般用并行基于哈希的分而治之的算法。这里,“分布”和“并行”成了两个关键词。不可想象,能有一个计算机来管理整个计算机机群。更新、搜索数据都必须是分布式的,而且不能串行,一个一个地来做。Google开发了一个谷歌文件系统(GFS),可以在成百上千的机群里进行基于字符串的文件搜索。用户可以并行地加入数据,也可以实时地把数据加入到某一类中(MapReduce)。Yahoo和其他Web公司,譬如Facebook,搞了一个谷歌大数据栈的开源软件,从而产生了现在很时髦的Hadoop平台及HDFS存储层。为了要实现在线事务处理(OLTP),容错不可少。由于上亿用户的同时使用,OLTP系统必须很快查找、更新用户资料,任务很多,要快、不能错、防攻击,而且还不能太贵。Google Amazon都开发了他们自己的系统。

今天,Hadoop HDFS已经成为大数据分析占有统治地位的平台了。数据分析不能停留在MapReduce水平,而是要更高层次的说明性语言,更容易表达、书写、找错。这样的语言大家都在搞。这样,问题就来了:我们是跟着这些大公司,跟踪和改进Hadoop,还是另辟蹊径。我们搞跟踪搞了几十年了,基本都用人家的,然后搞汉化。人家搞汉化甚至比我们还快。我们搞出来的东西常常没人家好用,市场就先入为主,被人家占领了。另外搞一个类似的东西,既抢不到市场,学术价值也不大。这时候,科学研究就见功力了。抓不住基础性问题,没有全新的想法,就很难出原始创新的成果。

归根结底,基础性问题是大数据的分布存储,并行处理。就像一个人有一个任务,需要许多人参与才能完成,而且他们互不相识,任何个人都完不成。应该怎么做?大家想想,也许能把这个问题说得更加确切一些。



http://wap.sciencenet.cn/blog-290937-668228.html

上一篇:三氧化二砷治疗白血病成果归属的争论该划句号了(130221)
下一篇:关于大数据技术的再思考(130314)

56 李伟钢 武夷山 陈冬生 黄华军 彭真明 唐常杰 徐大彬 丁国如 彭思龙 李欣海 赵明 王春艳 何亮 张成堂 李土荣 周猛 曹建军 俞立 罗汉江 刘淼 袁贤讯 李强子 马磊 姜咏江 刘钢 朱志敏 李庆祥 杨宁 翟自洋 薛宇 陈福强 王金旭 梁建华 李杰 张子柯 鲍博 李兵 陈子卿 许培扬 黄富强 朱新亮 郭鑫武 王启云 黄岚 化柏林 赵凤光 胡明生 马相如 李盟盟 yunmu nipy zhangjie0402 ahmen dulizhi95 zhaorzh twlkyao

该博文允许注册用户评论 请点击登录 评论 (75 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2021-4-11 15:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部