收稿日期: 2010唱03唱05; 修回日期: 2010唱04唱28 基金项目: 北京市自然科学基金资助项目(1052008)
作者简介:宋烜(1979唱) ,男( 满族),北京人,助理研究员,硕 士 研究生,主要研究方向为下 一 代 互联网络、虚拟 天 文台( famcroo@gmail.com ) ;
韩冀中(1972唱) ,男,副研究员,博士,主要研究方向为并行处理、网络存储;王凯 (1986唱) ,男,硕士研究生,主 要研究方向为并 行 处理、空 间信息系
统;高建(1977唱) ,男,讲师,博士,主要研究方向为银河系天文学.
用 MapReduce 实 现 天 文 星 表 交 叉 认 证
倡
宋 烜
1
, 韩冀中
2
, 王 凯
2
, 高 建
3
(1.北京天文馆 信息中心, 北京 100044; 2.中国科学院计算技术研究所, 北京 100190; 3.北京师范大学 天文
系, 北京 100875)
摘 要: 天文星表的交叉认证是天文研究中非常重要的基础工作。 新巡天项目和更强大望远镜的投入使用,使
天文数据爆炸增长,数据量的增加使得两个星表之间的交叉认证变得非常耗时。 描述了如何利用 MapReduce 实
现并行天文星表交叉认证,综合考虑了算法与体系结构的匹配问题,并给出了在大数据天文星表交叉认证工作
的性能评估,通过与广泛使用的 PostgreSQL 数据库的比较,证明了基于 MapReduce 交叉认证方法的有效性。
关键词: 映射化简; 交叉认证; 并行; 大规模
中图分类号: TP311 文献标志码: A 文章编号: 1001唱3695(2010)10唱3740唱04
doi:10.3969 /j.issn.1001唱3695.2010.10.036
MapReduce for astronomical cross唱matching
SONG Xuan
1
, HAN Ji唱zhong
2
, WANG Kai
2
, GAO Jian
3
(1.Information Center, Beijing Planetarium, Beijing 100044, China; 2.Institute of Computing Technology, Chinese Academy of Sciences, Bei唱
jing 100190, China; 3.Dept.of Astronomy, Beijing Normal University, Beijing 100875, China)
Abstract: As a basic and indispensable step, the astronomical cross唱match is facing a data avalanche.With the completion of
new sky survey projects and powerful telescopes, current cross唱matching methods cannot be performed on demand for large
scale astronomical data sets.This paper introduced MapReduce framework to solve this problem.It carefully considered the
mapping of cross唱matching algorithm on map and reduce phases.Performance evaluation shows that the MapReduce唱based
cross唱matching can outperform the traditional one on PostgreSQL.As the knowledge, it is the first effort to adopt MapReduce
for astronomical cross唱matching problem.
Key words: MapReduce; cross唱matching; parallel; large唱scale
0 引言
天文学正在进入一个多波段数字巡天的时代,许多巡天项
目已经获得很好的数据,而更多巡天项目和更大型观测设备将
被实施、建造,从射电波段到微波、红外、可见光、紫外、x 射线,
整个波段都会被覆盖。 这些巡天项目产生的数据量通常可以
达到 TB 甚至 PB 级,这些数据也将成为天文数据的主要来
源
[1,2]
。 一方面,天文数据量非常庞大,简单估算可知,以 0.5″
的分辨率,巡天由 2 ×10
12
像素构成,仅单一波段的巡天就将产
生 4 TB 数据。 另一方面,天文数据增长迅速,以斯隆数字巡天
SDSS 为例,它用了十年时间来覆盖 8 000 平方度的天空,得到
大约 10
8
个星或星系的大约 40 TB 的数据。 而未来计划的两
个巡天计划 PanSTARRS 和 LSST,只需三个晚上就可覆盖半个
天空,每晚所产生的包含 5.7 ×10
8
个源的数据都会超过 40
TB
[3]
。 因为天文学家需要从巡天数据中寻找变化,巡天需要
不停进行,会产生百万到亿个目标的星表,从而形成巨大的数
据量。
星表记录星或星系等天体的位置和其他属性。 天文学家
经常需要联合多个波段的星表信息来了解观测目标在多波段
上的光谱特性,之后他们可以进行更深入的科学研究和分析。
因此,整合不同的观测数据就成为了天文学不可或缺和需要首
先解决的问题。
简单而言,星表交叉认证的目的是求出天球上相近的点的
位置坐标。 解决交叉认证问题的一般方法是使用 DBMS 和空
间索引,这本是一个简单问题,但随着星表数据量日益庞大,其
处理起来日趋复杂
[4]
。 空间计算的复杂性和巨大的数据量,
使得传统的 DMBS 在性能、可伸缩性和可靠性等多方面都难以
满足交叉认证特别是大规模批量交叉认证的需要。 虽然近年来
并行 DBMS 已经取得了长足的进步,但对于星表交叉认证这种
海量数据处理问题,在性能与可扩展性上仍难以满足应用需求。
MapReduce 的 概 念 最 早 来 自 于 LISP 等 函 数 式 语 言。
Google 将 MapReduce 的并行编程模型引入大规模的数据处理,
并以此为基础实现了一个计算与存储框架。 目前,MapReduce
已经成为了该框架的代名词,它提供简单强大的编程接口,让
用户可以轻松地操纵成千上万台计算机完成大型并发和分布
式计算任务,而将底层的并发处理、容错、数据分布以及负载均
衡等细节问题对用户透明。
由于 MapReduce 架构简单并且对数据密集型应用的有效
支持,它已经被包括 Google、Yahoo! 等互联网公司成功应用于
搜索引擎、数据挖掘、机器学习等领域,并逐渐扩展到其他行业
第 27 卷第 10 期
2010 年 10 月
计 算 机 应 用 研 究
Application Research of Computers
Vol.27 No.10
Oct.2010
?