講演名 2009-03-06
高速軽量なXQuery問い合わせプログラム生成系の設計と試作
蜂巣 吉成, 野呂 昌満, 沢田 篤史,
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 高速かつ軽量な問い合わせプログラムを生成するXQuery問い合わせプログラム生成系を設計・試作した.従来のXQuery処理系は,XML文書を内部形式として木構造で表現し,XML文書木と問い合わせ式を解釈するインタプリタ方式で処理をしている.一度作成した処理系を異なる問い合わせに対して利用できるが,XML文書サイズが大きくなるとXML文書木の構築に処理時間とメモリが必要になる.我々は既に,遅延パーサを用いて,実際には参照されないXML文書木の構築を省略して処理時間とメモリを削減する方法を提案した.遅延パーサはノード作成に必要な親子やテキストなどを内部情報として保存している.どのような問い合わせにも対応するために,XML文書全体の内部情報を保存しており,メモリが十分に削減できたとは言えない.本研究では,これらの問題を解決するために問い合わせ処理をコンパイラ型で処理をするXQuery処理系を試作した.問い合わせ毎に専用の処理プログラムを生成し,XML文書に対して処理を行う.プログラム生成とコンパイルの手間が増えるが,あらかじめ問い合わせがわかっているので,問い合わせに必要なXML文書の情報のみを保存することができ,処理時間やメモリを削減できる.XML文書中の異なる箇所からのデータの突き合わせを行う結合処理はXML文書木に対して処理を行う必要があり,コンパイル型の処理だけでは十分な高速化を行えない.本研究では結合処理を同値比較と大小比較に分類し,同値比較にはハッシュ法,大小比較には二分探索法を用いて高速化する方法を提案する.提案手法に基づいて問い合わせプログラムを試作し,実験をおこなった.最良の場合,既存のXQuery処理系SAXONと比べて,結合処理では約150倍高速で1/5のメモリ使用量,それ以外の処理では約8倍高速で,1/7のメモリ使用量で処理が行えることを確認した.
抄録(英) In this paper, we propose a generator for a high-performance and light-weight XQuery processor. An existing XQuery processor creates a document tree and interprets it and queries. Once a processor has been developed, it can process any queries. It is known as a problem that a processor needs large amount of memory and processing time because of a large document tree. A lazy XML parser can decrease amount of memory, but it needs still a lots of memory, since it stores internal data structure instead of tree nodes. To overcome this problem, we design a compiler-type XQuery processor, which is generated from a specific query. Because it knows which nodes of a tree are actually accessed beforehand, it can save only data for them. We also propose high-performance methods for data joining operation, which compares different parts of a tree. We use a hash method for data joining with equivalent comparison and a binary search method for numerical order comparison. We implemented an XQuery processor based on our methods and compared the processor with SAXON. The processor we designed and implemented runs about 150 times faster with 1/5 memory usage for joining operations than SAXON, and about eight times faster with 1/7 memory usage for other queries in the best case.
キーワード(和) XML / XQuery / プログラム生成
キーワード(英) XML / XQuery / program generator
資料番号 KBSE2008-60
発行日

研究会情報
研究会 KBSE
開催期間 2009/2/26(から1日開催)
開催地(和)
開催地(英)
テーマ(和)
テーマ(英)
委員長氏名(和)
委員長氏名(英)
副委員長氏名(和)
副委員長氏名(英)
幹事氏名(和)
幹事氏名(英)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 Knowledge-Based Software Engineering (KBSE)
本文の言語 JPN
タイトル(和) 高速軽量なXQuery問い合わせプログラム生成系の設計と試作
サブタイトル(和)
タイトル(英) Design of a generator for a high-performance and light-weight XQuery processing program
サブタイトル(和)
キーワード(1)(和/英) XML / XML
キーワード(2)(和/英) XQuery / XQuery
キーワード(3)(和/英) プログラム生成 / program generator
第 1 著者 氏名(和/英) 蜂巣 吉成 / Yoshinari HACHISU
第 1 著者 所属(和/英) 南山大学数理情報学部
Faculty of Mathematical Sciences and Information Engineering, Nanzan University
第 2 著者 氏名(和/英) 野呂 昌満 / Masami NORO
第 2 著者 所属(和/英) 南山大学数理情報学部
Faculty of Mathematical Sciences and Information Engineering, Nanzan University
第 3 著者 氏名(和/英) 沢田 篤史 / Atsushi SAWADA
第 3 著者 所属(和/英) 南山大学数理情報学部
Faculty of Mathematical Sciences and Information Engineering, Nanzan University
発表年月日 2009-03-06
資料番号 KBSE2008-60
巻番号(vol) vol.108
号番号(no) 449
ページ範囲 pp.-
ページ数 6
発行日