Skip to main content
QUICK REVIEW

[論文レビュー] Batch is back: CasJobs, serving multi-TB data on the Web

William O’Mullane, Nolan Li|ArXiv.org|Feb 17, 2005
Scientific Computing and Data Management参考文献 4被引用数 6
ひとこと要約

本論文では、スローンデジタルスカイサーベイ(SDSS)のマルチテラバイトデータベース上で、長時間実行されるリソース集約型のクエリを管理するため、SOAPベースのWebサービスに構築されたスケーラブルなバッチ処理システム、CasJobsを提示する。ユーザーが分散キューにジョブを提出し、結果を個人用データベース(MyDB)に保存してローカルで分析できるようにすることで、システム負荷を軽減し、データアクセス効率を向上させ、インタラクティブサービスを妨げることなく複雑なクエリの信頼性の高い実行を実現した。

ABSTRACT

The Sloan Digital Sky Survey (SDSS) science database describes over 140 million objects and is over 1.5 TB in size. The SDSS Catalog Archive Server (CAS) provides several levels of query interface to the SDSS data via the SkyServer website. Most queries execute in seconds or minutes. However, some queries can take hours or days, either because they require non-index scans of the largest tables, or because they request very large result sets, or because they represent very complex aggregations of the data. These "monster queries" not only take a long time, they also affect response times for everyone else - one or more of them can clog the entire system. To ameliorate this problem, we developed a multi-server multi-queue batch job submission and tracking system for the CAS called CasJobs. The transfer of very large result sets from queries over the network is another serious problem. Statistics suggested that much of this data transfer is unnecessary; users would prefer to store results locally in order to allow further joins and filtering. To allow local analysis, a system was developed that gives users their own personal databases (MyDB) at the server side. Users may transfer data to their MyDB, and then perform further analysis before extracting it to their own machine. MyDB tables also provide a convenient way to share results of queries with collaborators without downloading them. CasJobs is built using SOAP XML Web services and has been in operation since May 2004.

研究の動機と目的

  • 長時間実行される複雑なクエリがSDSSデータベースで性能劣化を引き起こすのを是正すること。これは、インタラクティブなクエリをブロッキングし、システムの応答性を低下させる要因である。
  • ユーザーがクエリ結果をローカルの個人用データベース(MyDB)に保存・分析できるようにすることで、ネットワーク上の不要なデータ転送を削減すること。
  • Webベースの環境において大規模なデータ分析を対象とした、スケーラブルでフェイルセーフなジョブ送信および追跡システムを提供すること。
  • 繰り返しダウンロードを回避する安全で永続的なクエリ結果の共有を通じて、共同作業を可能にすること。
  • リソース集約型の処理をインタラクティブクエリサービスから分離することで、システムの応答性を維持すること。

提案手法

  • SOAPベースのWebサービスを用いてジョブ送信およびステータス追跡を実行する、マルチサーバー・マルチキューのバッチジョブシステム(CasJobs)の設計および展開。
  • 各ユーザーにプライベートでサーバーサイドのデータベースを提供する個人用データベースサービス(MyDB)の実装。
  • 長時間実行されるクエリをメインのインタラクティブクエリサービスからオフロードするための非同期ジョブ実行の採用。
  • 結果セットが大規模な場合に備え、ユーザーが結果をMyDBに保存し、後で抽出できるようにすることで、リアルタイムのネットワークI/Oを最小限に抑える。
  • Webサービスを介したジョブ追跡およびステータス報告の統合により、ユーザーがジョブの進行状況と完了状況をリアルタイムで把握できるようにする。
  • バッチ処理とインタラクティブクエリ処理をアーキテクチャ的に分離することで、パフォーマンスの干渉を防ぐ。

実験結果

リサーチクエスチョン

  • RQ1マルチテラバイト規模の天文学的データベース上で、長時間実行される複雑なクエリを効率的に行い、インタラクティブパフォーマンスを劣化させないWebベースのシステムは、どのように実現できるか?
  • RQ2分散型でWebアクセス可能な環境において、スケーラブルでフェイルセーフなバッチ処理を実現するためのアーキテクチャパターンは何か?
  • RQ3ユーザー固有のデータベースにおけるローカルなデータ保存および処理は、ネットワーク転送のオーバーヘッドをどの程度低減でき、分析効率を向上させ得るか?
  • RQ4繰り返しデータのダウンロードを回避しながら、ユーザーが大規模なクエリ結果を安全に共有・共同作業できる仕組みは何か?
  • RQ5高スループットで分散処理が行われる大規模なデータ処理システムにおいて、信頼性の高いジョブ追跡およびステータス報告を保証するメカニズムは何か?

主な発見

  • CasJobsはバッチ処理をインタラクティブクエリから明確に分離し、システムの応答性とスケーラビリティを顕著に向上させた。
  • MyDBの利用により、ユーザーは大規模な結果セットを保存し、ローカルで分析可能になった。これによりネットワーク転送が削減され、複雑なフィルタリングやジョイン処理が可能になった。
  • 従来、メインクエリサービスをブロッキングまたは遅延させていた「モンスタークエリ」の実行も、信頼性を持って実行可能となった。
  • 重い計算処理をバッチキューにオフロードすることで、通常のクエリに対するインタラクティブな応答時間は常に低く維持された。
  • SOAPベースのWebサービスの採用により、ジョブ送信および追跡パイプラインにおける相互運用性とプラットフォーム非依存性が実現された。
  • 2004年5月の導入以降、運用安定性とパフォーマンスの向上が確認され、大規模な科学的データ分析を支える基盤としての有効性を示した。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。