第一篇 概 论
第1 章
数据管理背景
1.1 数 据 增 长
人类探索世界的脚步永无止境,而科学研究的方式也在不断发展。远古时期,人们依靠观察和思辨来认识和探索世界。17 世纪以来,随着牛顿经典力学基本运动定律的发表,科学家逐渐把实验与理论作为科学研究的基本手段。然而,随着人类探索世界的不断深入,许多科学问题的实验研究和理论研究变得越来越复杂,甚至难以给出明确的结论。近半个世纪以来,随着电子计算机的诞生与快速发展,计算机仿真模拟变成第三种不可或缺的科学研究手段,以帮助科学家去探索实验与理论难以解决的问题,如宇宙的起源、汽车碰撞、天气预报等。而在当前社会,各个学科领域的研究不断向纵深发展,无论实验装置还是计算机仿真模拟的规模都变得越来越大,产生了越来越多的数据,从而催生了围绕海量数据获取、存储、共享和分析的科学研究手段。来自科学仪器或者计算机仿真模拟的实验数据被收集和存储起来,并通过先进高速的网络分享给处于不同的国家或机构的合作者。依靠分布式计算技术和协同工作环境,科学家不仅共享数据,还共享软件、模型、计算、专家知识甚至人力等资源,从而加快科学成果的产出。现代科学研究,特别是粒子物理、生命科学、能源环境、先进材料与纳米科学等新兴或交叉领域的发展要进行跨国家、跨地域的协作与交流,而以网络为基础的科学活动环境的发展与完善正在对其产生深远的影响。
在“纸笔研究”时代,科学家的数据记录在笔记本上,帮助分析数据的工具可能是一把尺子。在今天,科学研究成果的获得不仅取决于科学家的智慧和勤奋,还取决于海量科学数据的处理能力。基于海量数据处理的科学探索已经成为一种新的科学研究方法,也是科研信息化的重要内容之一。科学仪器和电脑仿真产生的新数据以每年一倍的速度急速扩张,超过了CPU 处理能力的增长速度(摩尔定律:CPU 处理能力每18 个月翻一番)。1946 年,美国军方的ENIAC(electronic numerical integrator and computer)被称为世界上第一台“电脑”,是人类信息处理能力的大飞跃。在当时,它作为通用计算机被用于处理各种问题,从氢弹的设计到气象预报。然而在今天,CERN(欧洲核子研究中心)的大型强子对撞机平均每秒钟产生的数据,需要600 万个ENIAC 来存储,图1-1 是CERN研究中心的海量数据处理集群。基因工程、计算流体力学、天文学、生态学和环境科学等领域同样经历着这样的科研方式变迁。在天文学领域,为了实现更大、更快、更深的天文学观察目标,将在2015 年投入使用大视场全景巡天望远镜(large synopticsurvey telescope,LSST),直径将达到8.4m,每夜能够生成30TB 的彩色图像数据。它每15s 便能拍摄一张约为月球直径七倍大的空间的照片,每三天将累积拍摄成一张天空全景图像。整个项目计划拍摄20 多万张照片,拍摄精度将达3200M 像素,预计第一年就将产生1.28PB 的科学数据。在地学领域,对南加利福尼亚建立一个分辨率为10m,深度为100km 的地面模型,将产生1PB 的数据。生物医学领域,使用电子显微镜重建人脑1mm3 的神经电路,会产生33000 张扫描片,每张片子至少2×1010 像素,大约为1PB 的数据。人脑有106mm3 的神经组织,建立一个完整的大脑电路图,需要海量的数据存储和处理能力。
图1-1 CERN 研究中心的海量数据处理集群
随着仪器的精密度越来越高,传感器、网络等硬件成本大幅度下降,人们获取数据的能力在不断增强。然而数据不是知识,真正的知识只是数据冰山上最有价值的山尖。重建、分析、可视化、存储和长时间保存这些数据的过程对算法效率、计算能力、数据访问效率和存储备份机制提出了很高的要求。与科研数据规模同时发展的信息技术为应对这样的需求提供了如多核计算、GPU 计算、网格计算和云计算等计算解决方案,以及如并行文件系统、分级存储、面向对象的存储等存储解决方案。以北京正负电子对撞机上的BESIII 实验为例,为了处理高达5PB 的实验和用户数据,BESIII 计算系统采用了分级海量存储系统保存实验数据,采用面向对象的并行文件系统为分析、重建作业提供高吞吐率的I/O;在传统集群技术的基础上,采用网格技术实现跨地域海量数据共享和计算资源共享,通过整合多个站点资源来完成海量数据的重建、分析和模拟。
在科研数据快速增长的同时,随着互联网技术的不断普及,个人及企业数据也在爆炸性的增加。全球著名分析调研机构IDC 连续六年发布《数字宇宙研究》(DigitalUniverse Study)报告,主要用于评估每年创建和复制的数据总量。该报告显示,全球信息总量每过两年就会增长一倍,图1-2 所示为该报告中数据量的增长趋势。2011年,全球被创建和复制的数据总量为1.8ZB(1ZB=1024EB,1EB=1024PB,1PB=1024TB,1TB=1024GB)。相较2010 年同期,这一数据上涨超过了1ZB。1.8ZB 是什么概念?举例来说,1.8ZB 相当于全球每个人每天都去做2.15 亿次高分辨率的核磁共振检查所产生的数据总量,或者相当于每个美国人每分钟写3 条Twitter 信息,而且还是不停地写2.6976 万年。从2005 年到2020 年,全球的数据总量将增长130倍,达到40ZB。
图1-2 “数字宇宙”报告中数据量的增长趋势
1.2 数据管理目标
以网络为基础的科学活动环境中数据具有其自身的特点:一是数据量大,因此对于数据的存储、计算和传输都提出了极高的要求;二是具有极其广泛的国内国际合作。基于这些特点,数据管理系统应该能够满足海量存储、全球分布、快速访问和统一命名的需求。
具体包括以下目标。
(1) 命名透明性。
以网络为基础的科学活动环境中数据量非常庞大,且分布存储于不同机构的异构存储系统中。数据管理系统应该给用户提供统一的、透明的数据命名方式。用户不必知道数据的物理存储位置,就可以通过文件的逻辑名字来访问所需要的资源。
(2) 复制透明性。
为了提高数据可靠性或者提高数据访问性能,以网络为基础的科学活动环境中通常采用数据复制技术。复制透明性是指数据管理系统可以随意对文件进行复制而无需用户知道,并且用户仍可以使用原来的文件逻辑名透明地定位到合适的副本。
(3) 协议透明性。
大规模的以网络为基础的科学活动环境中数据存储于异构存储系统中。存储系统的不同带来文件访问协议的异构性,数据管理系统应该为用户提供统一的访问接口,选择适当的访问协议来实现用户提出的数据访问请求。
(4) 效率透明性。
以网络为基础的科学活动环境中的应用程序所需的数据可能分布于多个不同的站点或系统,因此数据管理系统应该通过多种手段,尽可能提高数据访问的效率,如使用高性能的传输工具、历史信息进行传输预测,基于用户访问模式进行自动复制、磁盘缓存和预取等。
(5) 空间透明性。
在以网络为基础的科学活动环境中,数据管理系统应该提供一个透明的存储空间,用户或者应用无需了解存储空间由什么介质构成,或者具有多大的容量。用户需要做的就是按照领域的规范向给他分配的存储空间中写入或从中读取所需的数据,当空间不够时,系统能够按需自动扩展。
1.3 数据管理功能
在以网络为基础的科学活动环境中,数据是一类非常重要的资源,具有海量、异构、可移动、可复制和可缓存等特点。在实际的使用场景下,有些数据集可以非常大,以至于在这种情况下,需要把一个大的数据集存储在多个节点上。由于本地设备的限制,一个大文件全部传输到访问者本地进行访问的方法不再可行,随之也带来了文件部分访问的问题。为了提高访问速度,需要把文件传输到距离访问者网络上比较近的位置。为了解决单点故障,还需要对数据进行复制,从而需要对数据副本进行有效的管理。
展开