膨大な天体データを効率的に検索する方法の考察と実装
田中 昌宏*

白崎 裕治*
町田 吉弘 †

大石 雅寿*
中本 啓之 ‡* 国立天文台

水本 好彦*
小林 佑介 ‡† 富士通 (株)1 はじめに世界中の天文台によって観測されたデータを有効活用するため、Virtual Observatory (VO) と呼ばれる取り組みが各国で進められている。VO では、データ配信の統一的な規格を策定し 、その規格に基づく天文データ配信システムの開発が行われている。我々は、Japanese

Virtual Observatory (JVO) というプロジェクトにおいて天文検索言語やシステム開発などを進めてきた [1]。これまでに VO では、統一的なメタデータ配信システム、天体データの検索プロトコル、天体データを格納するフォーマットなどの仕様が策定され 、JVO を含む各国の VO の間の相互接続も実現した。今後、VO に基づく天文データ公開サーバが普及すれば 、誰でも膨大な量の天体データの中から容易に検索し 、目的のデータを

石原 康秀 †
坂本 道人 ‡堤 純平 †‡(株) セック

配信サービスにクエリを送信しなければならない。第二に、全天くまなく観測した例はわずかであり、多くの場合は天の一部の領域の観測であるため、問い合わせたサービスに目的の天体が含まていれる確率は小さい。
そこで、我々は、Web 検索サイトがあらゆるサイトのページを収集して効率的に検索ができることにならい、天体データについても、配信されている天体デー
タを集めて「統合天体データベース」を構築し 、全ての天体の効率的な検索を実現する手法を考えた。以下
ではこの手法によるデータベースシステムの設計について述べる。

3 天球面インデクスによるテーブルパーティ
ショニング取得することができるようになる。

統合天体データベースの構築にはリレーショナルデー

統合天体データベースため、検索性能が問題となる。大規模な天体カタログのタベースシステムを利用するが、登録する天体数が多い

2

VO によって実際の天文研究が効率的に進められるようになるであろうか。近年の天文研究では、天体の本質に迫るため、電波から X 線、ガンマ線という多波長のデータを組み合わせることが多い。また、変光星や超新星、ガンマ線バーストなど 、明るさの変化が重要な場合には、時間をおいた複数の観測データが必要となる。このように、異なる観測装置によるデータが天文研究には不可欠である。一方、公開される天文データは、すばるのデータは国立天文台、ハッブル望遠鏡のデー
タはアメリカの機関というように、それぞれ観測をおこなった研究機関により配信されることが多く、別々のサービ スとして提供される。そのため、どのサービスに目的の天体が含まれているかわからない場合には、それらのサービ スすべてについて検索しなければすべてのデータを得られない。しかしこの手法は次に述べるように非効率である。第一に、すべての天体データ
Discussion and Implementation of an Eﬃcient Search Method forLarge Astronomical Databases
Masahiro Tanaka*
Yuji SHIRASAKI*
Masatoshi OHISHI*
Yoshihiko MIZUMOTO*
Yasuhide ISHIHARA† Jumpei TSUTSUMI† Yoshihiro MACHIDA† Hiroyuki NAKAMOTO‡ Yuusuke
KOBAYASHI‡ Michito SAKAMOTO‡*National Astronomical Observatory of Japan †Fujitsu Ltd. ‡SEC
Co. Ltd.

例として、2MASS 全天カタログは約 5 億、SDSS カタログは約 3 億もの天体のデータを含んでいる。このように、少なくとも 10 億天体のデータを検索できるデータベースが必要である。そこで、レコード 数が多いデータベースを効率的に検索するための手法として、テーブルパーティショニングを用いた。天文検索では、天球座標による検索が基本であることから、天球座標によるテーブルパーティショニングをおこなった。天球座標のインデクス化の手法として、HTM (Hierarchical TriangularMesh)[2] と HEALPix[3] の 2 種類の方式が提案されている。我々は利用実績のある HTM を用いた。HTM の手法により、天体の座標から HTM インデックスを計算し 、その上位の桁によりグループ化する。今回は天球全体を 8 × 46 = 32768 の領域に分割し 、psc 32768,psc 32769, ... , psc 65535 という名前のテーブルに格納した。各々のテーブルには下位の HTM インデック
スをカラムに格納し 、上位・下位合わせた HTM インデックスにより座標検索をおこなう。

VO では、SQL を拡張した天文検索言語 ADQL[4] を用いる。ADQL では座標検索を下記のように記述する。
select ra, dec, j_mfrom psc where Region(’Circle 0 0 1’);

表 1: パーティショニング性能測定結果
検索
半径経過時間 (秒)

天体数

分角個

11060
10018021656697
26720
57246

Postgre
SQL
6.46
3.81
6.47
2.02
9.04

独 自方式
0.04
0.03
0.11
0.310.71

表 2: 統合天体データベースのカラム設計

HTM 条件数比15412760
713PostgreSQLa32
1632448

独 自方式b321632
1672

a where 句中における between でつなげた HTM 条件数
b union でつなげたサブクエリ条件数

この位置検索構文を HTM の範囲検索を伴う構文に置換することにより、以下のようなパーティショニン
グテーブル用の SQL 文を作る。
select ra, dec, j_mfrom ( select * from psc_63488 where
htm_id between 0 and 65535
union select * from psc_63488 where
htm_id between 217088 and 218111
union select * from psc_47104 where
htm_id between 0 and 65535...
) psc;

category
ObjectPosition

Wavelength
Flux

Referencecolumnidnameradec
pos errhtm
band nameband unit
flux
flux err
flux unit
flux srch
link reforg id
cat iddescription
Object ID
Object nameRight Ascension
Declination
Position Error
HTM index
Band name
Unit of band
Flux value in catalog
Flux error
Unit of ﬂux
Flux in Jy
Link URL to reference
ID in original catalog
Catalog IDの取得の両方を可能にした。以上の方針で設計した統合天体データベースのカラムを表 2 に示す。

6 まとめ
天文学研究において VO サービスを利用する際の効率

この構文置換プログラムは HTM 開発者によるライの問題から考えた統合天体データベース、およびその実ブラリを利用して Java で実装し 、RDBMS には Post-

現のために開発した効率的な検索手法とテーブル設計にgreSQL を用いた。

ついて述べた。実装したデータベースは、一部のデータを登録して JVO ポータル (http://jvo.nao.ac.jp/portal/)4

提案手法による検索効率の測定
前節で述べた手法の性能を測定した。用いたデータ

は 2MASS の 5 億天体のカタログである。検索に要しのサービ スとして公開しており、一般ユーザでも利用できる。今後このデータベースに登録するデータを拡充する予定である。

た時間を、検索範囲を変えて測定した結果を表 1 に示す。我々の手法により、半径 3 度という広い検索範囲

参考文献

でも 1 秒以下という短時間で検索できることがわかっ[1] 田中昌宏, 白崎裕治, 本田敏志, 大石雅寿, 水本好彦,

た。さらに、PostgreSQL に 8.1 版より装備されたパー

安田直樹, 増永良文. バーチャル天文台 JVO プロ

ティショニング機能を用いた場合と比較した結果、条トタイプシステムの開発. 日本データベース学会

件は異なるものの、7 から 150 倍高速であるという結果

Letters, Vol. 3, No. 1, pp. 81–84, 2004.

を得た。このように、我々の手法は大規模な天文データベースにおいても十分な性能を持つことがわかった。

5 テーブルの設計
天体カタログには 、座標や明るさなど の他にも様々なデータが含まれており、その種類もカタログ毎に異なる。それらをすべて含むような統一的なテーブルの設計は困難である。そこで、統合天体データベースには、座標や明るさなどの天体データとして基本的な情報のみ保持し 、さらに URL 等のデータ配信元へのアクセス情報を持つこととした。これによって、複数の天文データベースにまたがる効率的な検索と、詳細情報[2] P. Z. Kunszt, A. S. Szalay, I. Csabai, and A. R. Thakar.
The Indexing of the SDSS Science Archive. In ASP
Conf. Ser. 216, ADASS IX, p. 141, 2000.
[3] Górski 他. HEALPix: A Framework for HighResolution Discretization and Fast Analysis of DataDistributed on the Sphere. Astrophysical Journal, Vol.
622, No. 2, pp. 759–771, 2005.
[4] Yasuda 他. Astronomical Data Query Language: Simple Query Protocol for the Virtual Observatory. In ASP
Conf. Ser. 314, ADASS XIII, p. 293, 2004.