你好,游客 登录
背景:
阅读新闻

对大数据时代下的软件技术所面临的挑战

[日期:2014-04-28] 来源:中国计算机学会通讯  作者:贺佳慧 [字体: ]

  可能的变革和发展:若干认识与思考

  在大数据时代,软件技术可能面临的变革和发展包括以下 6个方面:

  数据处理流程的变化 从传统的数据“收集”和“精选”转换为数据“生成”与“粗筛”,需要基于置信度度量的预处理,探讨自动、智能的数据预处理方法和技术以及置信度度量;从面向查询的组织与存储转向面向分析与挖掘的组织与存储;从集成、离线式的分析与挖掘转向大规模并行、实时的分析与挖掘。

  形成以数据为中心的计算架构 研制面向大数据应用的新型计算架构,围绕存储资源部署计算资源,并动态适应弹性扩展的存储资源。例如甲骨文公司(Oracle) 提出的大数据一体机,淘宝网使用的可动态适应弹性扩展的 Oceanbase 等软硬件系统。

  构建新型的数据模型与数据管理平台 是否能够形成一个统一的数据模型,以适应结构化和非结构化两种不同的数据类型?未来的数据管理系统是什么样的?是否会出现一种新型的通用数据管理系统,或者是面向领域的通用管理系统,或者是专用的管理系统?虽然互联网企业(例如谷歌)是从专用的数据管理系统(例如 MapReduce+BigTable)起步的,但是,当前传统的数据库厂商和互联网企业都开始从不同角度构建“通用平台”,例如甲骨文公司以其Oracle数据库系统为基础,构建了整套的大数据解决方案。

  大规模并行分析与挖掘技术 传统的数据挖掘技术面临着单点式挖掘、依存度高、实时性差等困难,难以应对大规模数据及分布式存储,也难以对快速变化的数据集进行实时处理。未来的数据分析和挖掘研究将会从集成、离线挖掘转向大规模并行、实时的数据分析和挖掘。

  针对过时数据的淘汰和丢弃策略 随着数据量越来越大,我们是否可以适时淘汰过期的数据?一些关键数据的丢失是否一定会产生“灾难性”的影响?如何从大量数据的处理过程中学习和沉淀,并留下知识?针对这些问题的研究会对大数据技术的未来产生深远的影响。

  大数据应用的开发方法 传统的应用开发方法面临很大挑战,例如,如何在程序中高效地表示和处理大数据?如何提高调试和维护大数据应用的效率?如何针对不同的数据应用需求,定制领域特定语言 (domain specific language, DSL) ?在大数据时代,传统的面向单机、以计算为主的应用开发,将可能会逐渐转化为面向并行、以数据为主的应用开发。

  计算机学科的诞生、发展和壮大源于从早期的“专用”计算到“通用”计算的发展。从早期的专用计算机系统发展到如今通用的软硬件平台,其基本途径是通过共性凝练和横向集成,最终形成通用计算机上的“通用”软件平台。然而,随着互联网的发展,面向互联网计算出现了很多“自助式(do it yourself, DIY)”开发系统或软件。究其原因,一是互联网应用带来了新的应用需求,二是通用核心技术门槛的降低。这种自助式开发的途径大体分为两种:一种是应用驱动的计算系统构建和定制,这也是大多数互联网应用公司所采用的技术路线;另一种是系统软件的层间融合和垂直整合,其目标是面向应用实现跨软件栈层次的性能优化。

  无疑,这种自助式开发系统的成功应用在某种程度上对计算机学科长期追求的通用技术之路形成了一定冲击。然而,大数据时代的计算机软件技术到底应该选择什么样的道路,当前还处于探索实践阶段。面向云计算、移动互联网和大数据等互联网计算需求,计算机学科仍应坚持对通用技术或领域通用技术的追求,一方面是努力 “求交集”,即针对不同领域的需求凝练其中的共性,形成通用的计算“能力”;另一方面是“求并集”,即将支持不同领域需求的“能力”进行横向集成,从而得到可以通过按需定制来支持不同领域需求的通用计算平台。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款