JP2012059130A - 計算機システム、データ検索方法及びデータベース管理計算機 - Google Patents

計算機システム、データ検索方法及びデータベース管理計算機 Download PDF

Info

Publication number
JP2012059130A
JP2012059130A JP2010203377A JP2010203377A JP2012059130A JP 2012059130 A JP2012059130 A JP 2012059130A JP 2010203377 A JP2010203377 A JP 2010203377A JP 2010203377 A JP2010203377 A JP 2010203377A JP 2012059130 A JP2012059130 A JP 2012059130A
Authority
JP
Japan
Prior art keywords
data
processing procedures
load
distribution
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010203377A
Other languages
English (en)
Other versions
JP5043166B2 (ja
Inventor
Kazutomo Ushijima
一智 牛嶋
Akira Shimizu
清水  晃
Seisuke Tokuda
晴介 徳田
Michiko Tanaka
美智子 田中
Nobuo Kawamura
信男 河村
Norihiro Hara
憲宏 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010203377A priority Critical patent/JP5043166B2/ja
Priority to US13/814,989 priority patent/US9384219B2/en
Priority to PCT/JP2011/054175 priority patent/WO2012032799A1/ja
Publication of JP2012059130A publication Critical patent/JP2012059130A/ja
Application granted granted Critical
Publication of JP5043166B2 publication Critical patent/JP5043166B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ストレージ装置の性能限界を超えない範囲で効率よい検索処理を実現する。
【解決手段】受信した問い合わせ要求に対する問い合わせ結果を出力する計算機と、問い合わせ要求に基づいて出力されるデータを格納するストレージシステムとを備える計算機システムであって、計算機は、問い合わせ要求を受信する要求受付部と、問い合わせ要求に基づいて、各記憶装置に格納されるデータにアクセスする順序を含む複数の処理手順を生成する処理手順生成部と、各記憶装置に格納されるデータを分割するデータ分割部と、ストレージシステムの負荷状態を表す負荷情報を取得する情報取得部と、取得された負荷情報に基づいて、生成された各処理手順によって処理される分割されたデータを割り当てるための配分を決定する配分決定部と、決定された配分に基づいて、生成された各処理手順を並列実行する処理実行部と、を備えることを特徴とする。
【選択図】図2

Description

本発明は、複数のストレージ装置を組合せてデータベース検索処理を行うデータベース検索処理システムに関し、特に、データベース検索処理における検索処理性能の向上を図る技術に関する。
近年、企業内情報システムの構築において、計算機資源の共用化による機器コスト削減、及び運用容易化による運用管理コスト削減を目的として、様々な業務データを格納する複数のストレージ装置を論理に一元化してアクセス可能とする業務システムの構築を行い、それら業務データを組み合わせた業務解析処理を行えるようにすることが一般化しつつある。
業務データを組合せた解析処理を行う場合、組合せられた複数のストレージ装置の性能差を考慮して、最も処理性能の高い処理手順に従って解析処理が実行される。しかし、ストレージ装置側で事前の予測とは異なる大きな負荷変動・障害スローダウン、又は、大幅な構成若しくは性能特性の変更が発生した場合に、他のストレージ装置の性能を最大限活用して、高い処理性能を維持できるようにすることが重要である。
大きな性能特性の変動が予測される企業内情報システムにおいても、常に処理性能の最大化を図ることができるデータベース管理システムを実現したい。
ストレージ装置の性能に大きな特性変動が予測されるデータベースにおいて処理性能の最大化を図る第一の従来技術としては、事前に予測された処理内容に基づいて、最も処理性能が大きくなる処理手順を一つ選択する方法が知られている(例えば、特許文献1参照)。また、実行時の処理特性に基づいてスループットが最大となるように、処理途中において処理手順を動的に切り替える方法が知られている(例えば、特許文献2参照)。
特開2005−301353号公報 特開平9−282287号公報
Hector Garcia-Molina著 ,Jeffrey D. Ullman著 ,Jennifer D. Widom著 ,「Database System Implementation」,Prentice Hall社 ,p.388-389
特許文献1には、事前の予測に基づいて最も処理性能が大きくなる処理手順を選択して、処理が実行される。しかし、処理実行中に大きな負荷変動、又はスローダウンが発生した場合に、必ずしも最適な処理手順を選択することができず、計算機システムの性能を十分に活用することができない。
また、特許文献2には、処理実行中に最も処理性能が大きくなる処理手順が選択されることによって、処理実行時の負荷変動及びスローダウンに対処することができる。しかし、選択された一つの処理手順のみを実行するため、最も性能限界に近い計算機資源部分がボトルネックとなり、他の計算機資源に対して、処理性能の空きが発生してしまう。
複数ストレージ装置に分散格納された業務データを用いて検索解析処理を行う場合に、最も処理性能が大きくなる処理手順を一つだけ選択して処理を行う方法では、最も性能限界に近いストレージ装置がボトルネックとなり、他のストレージ装置に対して処理性能の空きが発生する。
本発明の代表的な一例を示せば以下の通りである。すなわち、受信した問い合わせ要求に対する問い合わせ結果を出力する計算機と、前記問い合わせ要求に基づいて出力されるデータを格納するストレージシステムとを備える計算機システムであって、前記計算機は、第1のプロセッサと、前記第1のプロセッサと接続される第1のメモリと、前記第1のプロセッサに接続される第1のネットワークインタフェースとを備え、前記ストレージシステムは、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記第2のプロセッサに接続され、複数の前記データが格納される複数の記憶装置と、前記第2のプロセッサに接続される第2のネットワークインタフェースとを備え、前記計算機は、前記問い合わせ要求を受信する要求受付部と、前記問い合わせ要求に基づいて、前記各記憶装置に格納される前記データにアクセスする順序を含む複数の処理手順を生成する処理手順生成部と、前記各記憶装置に格納される前記データを分割するデータ分割部と、前記ストレージシステムの負荷状態を表す負荷情報を取得する情報取得部と、前記取得された負荷情報に基づいて、前記生成された各処理手順によって処理される前記分割されたデータを割り当てるための配分を決定する配分決定部と、前記決定された配分に基づいて、前記生成された各処理手順を並列実行する処理実行部と、を備えることを特徴とする。
本発明によれば、ストレージシステムに含まれる記憶装置の負荷状況に基づいて複数の処理手順に割り当てるデータ量の配分が決定され、また、決定された配分に従って複数の処理手順が同時に実行される。これによって、性能特性の異なる記憶装置が混在する環境においてもストレージシステムの性能を最大限利用する検索処理が可能となる。
本発明の実施形態の計算機システムの構成を示す説明図である。 本発明の実施形態のソフトウェア構成を示す説明図である。 本発明の実施形態のストレージ装置情報に含まれる構成情報の一例を示す説明図である。 本発明の実施形態のストレージ装置情報に含まれる負荷情報の一例を示す説明図である。 本発明の実施形態における検索対象データの一例を示す説明図である。 本発明の実施形態における検索対象データの一例を示す説明図である。 本発明の実施形態における検索対象データの一例を示す説明図である。 本発明の実施形態のデータベース管理システムによって実行される検索処理を説明するフローチャートである。 本発明の実施形態におけるシステム設定要求に含まれる分割指定の一例を示す説明図である。 本発明の実施形態で用いられる検索要求の一例を示す説明図である。 本発明の実施形態の処理手順生成部によって生成される処理手順候補の一例を示す図である。 本発明の実施形態のCPUによって実行される配分決定部が実行する処理を説明するフローチャートである。
以下に図面を参照しながら本発明の実施の形態を説明する。
図1は、本発明の実施形態の計算機システムの構成を示す説明図である。
本発明の実施形態の計算機システムは、入出力装置10、サーバ装置11及びストレージ装置12から構成される。
入出力装置10及びサーバ装置11は、通信用ネットワーク13を介して接続される。また、サーバ装置11及びストレージ装置12は、ストレージ用ネットワーク14を介して接続される。
入出力装置10は、利用者から入力されたシステム設定要求及び検索要求をサーバ装置11に送信し、サーバ装置から送信される検索結果を表示する。入出力装置10は、例えば、CPU(図示省略)、メモリ(図示省略)を備える計算機によって実現される。
サーバ装置11は、入出力装置10から入力された検索要求に基づいて、ストレージ装置12にデータ読み出し要求を送信し、検索要求に対する検索結果を入出力装置10に返信する。
サーバ装置11は、CPU101、メモリ102、ネットワークインタフェース103、及びネットワークインタフェース104を備える。
CPU101は、メモリ102に格納されたプログラムを実行することによって各種処理を実行する。また、サーバ装置11は、CPU101を複数備えることによって複数の処理を並列して実行できるように構成してもよい。
メモリ102は、CPU101によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。
メモリ102は、CPU101に実行されるプログラムとして、データベース管理システム111を格納する。データベース管理システム111は、検索要求に基づいて、ストレージ装置12からデータを読み出し、読み出されたデータに対して所定の処理を実行し、当該処理結果を入出力装置10に返信する。データベース管理システム111の詳細については、図2を用いて後述する。
なお、メモリ102は、アプリケーションプログラム等の他のプログラムを格納してもよい。
ネットワークインタフェース103は、通信用ネットワーク13を介して入出力装置10と接続するためのインタフェースである。ネットワークインタフェース104は、ストレージ用ネットワーク14を介してストレージ装置12と接続するためのインタフェースである。
ストレージ装置12は、各種処理対象データを格納する。ストレージ装置12は、サーバ装置11から送信されたデータ読み出し要求に従って、指定されたデータを読み出し、サーバ装置11に読み出されたデータを送信する。
ストレージ装置12は、CPU105、メモリ106、ディスクインタフェース107、記憶装置108及びネットワークインタフェース109を備える。
CPU105は、メモリ106に格納されたプログラムを実行することによって各種処理を実行する。
メモリ106は、CPU105によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。
ディスクインタフェース107は、記憶装置108にアクセスするためのインタフェースである。
記憶装置108は、各種処理対象データを格納する。記憶装置108は、ハードディスクドライブ(HDD)、光ディスクドライブ、半導体記憶装置等の記憶装置が考えられる。なお、複数の記憶装置108からディスクアレイを構成するようにしてもよい。
本実施形態では、記憶装置108の記憶領域から一以上のデータ格納部123(図2参照)が生成される。
なお、データ格納部123(図2参照)は、それぞれ、異なる記憶装置108の記憶領域上に作成される。すなわち、一つの記憶装置108の記憶領域が複数のデータ格納部123によって使用されないように構成される。これによって、複数のデータ格納部123(図2参照)がアクセスされる場合には、それぞれ、異なる記憶装置108にアクセスされることになる。したがって、一つの記憶装置108に負荷が集中しない。
なお、計算機システムは、複数のストレージ装置12から構成されるストレージシステムを備える構成であってもよい。
図2は、本発明の実施形態のソフトウェア構成を示す説明図である。
本発明の実施形態のデータベース管理システム111は、要求受付部(検索要求受付部)112、処理手順生成部(処理手順候補集合生成部)113、データ分割部(処理対象データ分割部)114、配分決定部(分割データ配分決定部)115、割当部(処理手順−分割データ割当部)116、処理手順実行部(処理手順多重実行部)117、及び情報収集部(ストレージ装置情報収集部)118を含む。
なお、太線で囲われた部分は、本発明の特徴的な処理を実行する部分を示す。
要求受付部112は、入出力装置10から検索要求を受け付け、処理手順生成部113に受け付けた検索要求を出力する。また、要求受付部112は、入出力装置10からシステム設定要求を受け付け、データベース管理システム111に含まれる各構成の処理タイミングを調整する。
処理手順生成部113は、要求受付部112から入力された検索要求に基づいて、複数の処理手順を生成する。以下、生成された処理手順を処理手順候補とも記載する。処理手順生成部113は、複数の処理手順候補の集合である候補集合131を生成する。処理手順生成部113は、さらに、配分決定部115に生成された候補集合131を出力する。
なお、候補集合131の詳細については、図7を用いて後述する。
データ分割部114は、ストレージ装置12に格納された処理対象データの一部又は全部を複数個に分割することによって、複数個の分割データを生成する。さらに、データ分割部114は、分割データの集合である分割データ集合132を生成する。データ分割部114は、割当部116に生成された分割データ集合132を出力する。
本発明の実施形態では、予め設定された分割方法に基づいて、処理対象データが分割される。なお、分割方法は、システム設定要求に含まれる分割指定によって設定される。分割指定については、図5に用いて後述する。
情報収集部118は、ストレージ装置12と通信することによって、ストレージ装置12に関する情報が含まれるストレージ装置情報133を収集する。また、情報収集部118は、配分決定部115に収集されたストレージ装置情報133を出力する。
本発明の実施形態におけるストレージ装置情報133には、少なくとも、ストレージ装置12の構成に関する情報である構成情報と、ストレージ装置12の負荷状態に関する情報である負荷情報とが含まれる。なお、ストレージ装置情報133は、他の情報を含んでもよい。
配分決定部115は、処理手順生成部113から入力された候補集合131及び情報収集部118から入力されたストレージ装置情報133を参照して、候補集合131に含まれる複数個の処理手順に割り当てる分割データの配分を決定する。配分決定部115は、割当部116に決定された配分を含む配分情報134を出力する。
割当部116は、配分決定部15から入力された配分情報134に基づいて、候補集合131に含まれる各処理手順に、分割データ集合132に含まれる分割データを割り当てる。さらに、割当部116は、分割データが割り当てられた複数の処理手順を処理手順実行部117に出力する。
処理手順実行部117は、割当部116から入力され、分割データが割り当てられた複数の処理手順に従って、ストレージ装置12に対して複数のデータ読み出し要求を発行する。
本実施形態のストレージ装置12は、データ読出部122、及びデータ格納部123を含む。
データ読出部122は、メモリ106に格納されるプログラムであり、処理手順実行部117が発行したデータ読み出し要求に従って、データ格納部123からデータを読み出し、読み出された処理対象データをサーバ装置11に返信する。
データ格納部123は、処理対象データを格納する記憶領域であり、各種処理対象データを格納する。図2に示す例では、顧客情報、購入履歴及び利用履歴がそれぞれのデータ格納部123に格納される。
本発明の実施形態のデータベース管理システム111は、ストレージ装置情報133に基づいて、複数の処理手順に割り当てる分割データの配分を決定する。これによって、分割データの配分に従って、複数の処理手順が並列で実行される。また、分割データの配分は、データ格納部123に設定された負荷の上限値を超えないように決定される。
図3Aは、本発明の実施形態のストレージ装置情報133に含まれる構成情報の一例を示す説明図である。図3Bは、本発明の実施形態のストレージ装置情報133に含まれる負荷情報の一例を示す説明図である。
構成情報401は、ストレージ装置12が備えるデータ格納部123の構成に関する情報を格納する。具体的には、構成情報401は、格納部識別子4011、スループット上限値4012及び格納データ4013を含む。
格納部識別子4011は、データ格納部123を識別するための識別子である。スループット上限値4012は、格納部識別子4011に対応するデータ格納部123が単位時間当たりに処理することができるデータ読み出し要求の最大個数、すなわち、スループットの上限値を表す。格納データ4013は、格納部識別子4011に対応するデータ格納部123に格納される処理対象データの情報である。
図3Aに示す構成情報401では、スループット上限値4012が「60レコード/秒」であるデータ格納部123に顧客情報が格納され、スループット上限値4012が「10レコード/秒」であるデータ格納部123に購買履歴が格納され、スループット上限値4012が「50レコード/秒」であるデータ格納部123に利用履歴が格納されることが分かる。
負荷情報402は、ストレージ装置12が備えるデータ格納部123における負荷情報を格納する。具体的には、負荷情報402は、格納部識別子4021、スループット値4022及び収集時刻4023を含む。
格納部識別子4021は、データ格納部123を識別するための識別子である。スループット値4022は、格納部識別子4021に対応するデータ格納部123における単位時間あたりに処理されるデータ読み出し要求の個数(スループット)である。収集時刻4023は、スループット値4022に対応する値が収集された時刻である。
図3Bに示す負荷情報402では、格納部識別子4021が「S1」のデータ格納部123のスループットが「53レコード/秒」であり、格納部識別子4021が「S2」のデータ格納部123のスループットが「10レコード/秒」であり、格納部識別子4021が「S3」のデータ格納部123のスループットが「50レコード/秒」であることが分かる。
図4A〜図4Cは、本発明の実施形態における検索対象データの一例を示す説明図である。
本発明の実施形態では、検索対象データとして顧客情報601、購買履歴602、及び利用履歴603を含む表データを想定する。
顧客情報601は、顧客の各種情報を格納する。例えば、顧客情報601には「顧客ID6011,性別6012,年代6013,趣味6014」に関する情報を含むレコードが格納される。以下、顧客情報を表すテーブルを顧客情報T1(601)とも記載する。
購買履歴602は、各顧客の購入履歴を格納する。例えば、購買履歴602には「顧客ID6021,購買カテゴリ6022,購買額6023」に関する情報を含むレコードが格納される。以下、購買履歴を表すテーブルを購買履歴T2(602)とも記載する。
利用履歴603は、各顧客が利用した店舗等の利用履歴を格納する。例えば、利用履歴603には「顧客ID6031,利用店舗6032,利用時間6033」に関する情報を含むレコードが格納される。以下、利用履歴を表すテーブルを利用履歴T3(603)とも記載する。
なお、顧客情報601、購買履歴602、及び利用履歴603には他の情報が含まれてもよい。
図5は、本発明の実施形態のデータベース管理システム111によって実行される検索処理を説明するフローチャートである。
本発明の実施形態のデータベース管理システム111が処理を開始すると(ステップ300)、入出力装置10から検索要求を受け付ける前に、予め、CPU101によって実行される情報収集部118が、構成情報401及び負荷情報402等が含まれるストレージ装置情報133を収集する(ステップ301)。なお、CPU101は、周期的に情報収集部118を実行してもよいし、ストレージ装置12の構成が変更された等所定のタイミングで情報収集部118を実行してもよい。
CPU101によって実行されるデータ分割部114は、予め設定された分割指定に基づいて、データ格納部123に格納される処理対象データの一部又は全部を分割し、分割データ集合{T}132を生成する(ステップ302)。その後、データベース管理システム111は、検索要求を受け付けるまで待ち状態となる。
分割データ集合{T}132の生成方法としては、レコード単位に処理対象データを分割する方法だけでなく、ブロック(複数個のレコード)単位に処理対象データを分割する方法が考えられる。このとき、ブロック単位に処理対象データを分割する方法においても、ブロックを構成するレコード数均等にしてもよいし、不均等にしてもよい。さらに、処理対象データを処理開始時に全て分割するか、検索処理中に動的にブロックを構成するレコード数を変化させながら分割するかなど、様々な実施形態が考えられる。
ここで、分割指定は、分割データ集合{T}132を生成するための情報であり、システム設定要求に含まれる情報である。
図6は、本発明の実施形態におけるシステム設定要求に含まれる分割指定の一例を示す説明図である。
図6に示す分割指定701は、分割データ集合{T}132の生成方法を指定する分割指定を格納する。
具体的には、分割指定701は、分割単位7011、均等性7012、分割範囲7013、及び分割サイズ7014を含む。
分割単位7011は、処理対象データを分割する単位を表す。均等性7012は、処理対象データを分割する場合に、均等に分割するか又は不均等に分割するかを表す。分割範囲7013は、分割するデータの範囲を表す。分割サイズ7014は、処理対象データの分割単位を処理中に変更するか否かを表す。
図6に示す例では、分割の単位をレコード単位、データは均等に分割し、全ての処理対象データが分割対象、さらに、分割単位は処理中に変更しないことが指定される。
ここで、図5のフローチャートの説明に戻る。
次に、CPU101によって実行される要求受付部112は、入出力装置10から検索要求を受け付ける(ステップ303)。受け付けられた検索要求は、処理手順生成部113に出力される。
本発明の実施形態では、検索要求は一般的なデータベース管理システムで利用されるSQL文で記述される。なお、SQL文の記述構文については、1999年にISO(国際標準化機構)/IEC(国際電気標準会議)によって制定されたSQL99などにおいて開示されている。
図7は、本発明の実施形態で用いられる検索要求の一例を示す説明図である。
図7に示す検索要求は、図4A〜図4Cに示す三種類の業処理対象データを検索対象とする。
具体的には、検索要求は「特定の条件を満たす顧客情報のうち、同一の顧客IDを有する利用履歴及び購買履歴について、それぞれ指定した条件を満たすような顧客情報を抽出すること」を目的とする。より具体的には、「30代女性であり、かつ新宿店への来店利用履歴があり、かつ、リビングカテゴリでの購買履歴がある顧客情報を抽出する」ことを指定している。
さらに、本発明の実施形態では、性別及び年代(顧客情報)、購買カテゴリ(購買履歴)、並びに利用店舗(利用履歴)に関する条件に基づいて、情報が1/4、1/8、1/5に絞り込まれることを想定している。すなわち、顧客情報に含まれる全顧客のうち30代女性が1/4となっており、購買履歴のうち、購買カテゴリが「リビング」であるレコードが全体の1/8となっている。さらに、利用履歴のうち、利用店舗が「新宿店」であるレコードが全体の1/5となっている。
ここで、図5のフローチャートの説明に戻る。
次に、CPU101によって実行される処理手順生成部113は、要求受付部112から入力された検索要求に基づいて、複数個の処理手順候補を生成し、生成された複数個の処理手順候補から構成される候補集合{S}131を生成する(ステップ304)。
なお、非特許文献1には、SQL文から処理手順候補を数え上げる手法が開示されており、具体的には、Bottom−up法を利用することによって、指定されたSQL文を処理する全ての処理手順候補を数え上げることが記載されている。
図8は、本発明の実施形態の処理手順生成部113によって生成される処理手順候補の一例を示す図である。
図8に示す処理手順候補は、処理手順が木構造で表現される。
処理手順候補(a)は、「まず顧客情報から性別が女性、年代が30代であるレコードの顧客IDを抽出し、抽出された顧客IDに対応する顧客のうち、購買履歴から購買カテゴリがリビングであるレコードを抽出し、さらに、抽出された顧客IDに対応する顧客のうち、利用履歴から利用店舗が新宿であるレコードを抽出する」という処理手順である。
処理手順候補(b)は、「まず顧客情報から性別が女性、年代が30代であるレコードの顧客IDを抽出し、抽出された顧客IDに対応する顧客のうち、利用履歴から利用店舗が新宿であるレコードを抽出し、さらに、抽出された顧客IDに対応する顧客のうち、購買履歴から購買カテゴリがリビングであるレコードを抽出する」という処理手順である。
ここで、図5のフローチャートの説明に戻る。
次に、CPU101によって実行される配分決定部115は、候補集合{S}131に含まれる各処理手順候補に対して割り当てる分割データの配分を決定する(ステップ305)。
配分の決定処理については、図9を用いて後述する。
CPU101によって実行される配分決定部115は、分割データ集合{T}132に割り当てられていない分割データが存在するか否かを判定する(ステップ306)。具体的には、分割データ集合{T}132が空であるか否かが判定される。
割り当てる分割データが存在すると判定された場合、CPU101によって実行される割当部116は、決定された配分に従って、分割データを各処理手候補に割り当てる(ステップ307)。
CPU101によって実行される処理手順実行部117は、分割データが割り当てられた複数の処理手順候補を実行する(ステップ308)。これによって、複数の処理手順候補に従った処理が、並列、かつ、多重に実行される。
CPU101によって実行される情報収集部118は、処理手順の実行開始後に負荷情報402を収集する(ステップ309)。取得された負荷情報402は、配分決定部115に出力される。収集された負荷情報402は、配分決定部115に出力される。
なお、負荷情報402は、処理開始後に収集されてもよいし、処理開始後周期的に収集されてもよいし、その他のタイミングで収集されてもよい。
配分決定部115は、新たに入力された負荷情報402を参照し、前回配分を決定したとき(ステップ305)に用いた負荷情報402と比較し、データ格納部123に大きな負荷変動があるか否かを判定する(ステップ310)。
例えば、収集時間の差が閾値以下、又は、負荷の変動幅が閾値以下の少なくともいずれか一方に該当するか否かが判定される。いずれかの条件に該当する場合には、データ格納部123に大きな負荷変動はないと判定される。一方、収集時間の差が閾値以上であり、かつ、負荷変動幅が閾値以上である場合には、データ格納部123に大きな負荷変動があると判定される。
なお、収集時間の差の閾値及び負荷の変動幅の閾値は、システム設定要求に含めてもよいし、データベース管理システム111が当初より保持してもよい。
本発明の実施形態のデータベース管理システム111は、処理実行中に、ストレージ装置12の負荷状態を監視する。これによって、データベース管理システム111は、ストレージ装置12の負荷が増大した場合に、ストレージ装置12の負荷状態に対応した処理手順候補を選択し、分割データの配分を動的に変更することができる。
データ格納部123に大きな負荷変動がないと判定された場合、CPU101はステップ306に戻り、同様の処理を実行する(ステップ306〜ステップ310)。
データ格納部123に大きな負荷変動があると判定された場合、CPU101は、ステップ305に戻り、改めて配分を決定する(ステップ305)。すなわち、各処理手順候補に割り当てる分割データの配分が見直される。
ステップ306において、割り当てる分割データが存在しないと判定された場合、CPU101は検索処理を終了し、システムを終了させるか否かを判定する(ステップ311)。例えば、入出力装置10からシステム終了を指示する命令が入力された場合に、システムを終了すると判定される。
システムを終了しないと判定された場合、CPU101は、ステップ305に戻り、新たな検索要求の受付を待つこととなる。CPU101は、新たな検索要求を受け付けた場合に、同様の処理(ステップ303〜ステップ311)を繰り返し実行する。
システムを終了すると判定された場合、CPU101は、システムを終了させる(ステップ312)。
本発明の実施形態では、ストレージ装置12の性能を最大限利用するために複数の処理手順で検索処理が実行される。このとき、複数の処理手順に分配するデータは、ストレージ装置12の負荷状態を考慮し、さらに、ストレージ装置12のスループットが最大になるように配分される。これによって、ストレージ装置12の性能を最大限に利用することが可能となる。
従来は、一つの処理手順しか選択していないため、データ格納部123にアクセスする順序が常に同じになってしまっていた。そのため、特定のデータ格納部123の負荷が高くなり、他のデータ格納部123の負荷が少なくなってしまう場合があった。このとき、負荷の高いデータ格納部123に対するデータ入出力がボトルネックとなって性能が悪化してしまうことがあった。本発明の実施形態では、データ格納部123に対するアクセス順序が異なる複数の処理手順が同時に実行されるため、データ格納部123の負荷が分散し、特定のデータ格納部123の性能に空きが発生することを防ぐことができる。また、同時に実行される複数の処理手順に対する分割データの配分を後述する方法を用いて決定することによって、各データ格納部123の性能を最大限に利用できる。
次に、ステップ305において実行される処理手順候補に割り当てる分割データの配分の決定処理について説明する。
本発明の実施形態におけるステップ305の処理では、線形計画法が用いられる。線形計画法とは、制約条件の下、目的関数を最大(又は最小)にする値を求めるための方法である。
本発明の実施形態では、ストレージ装置12の負荷が上限値を超えないという制約条件の下、複数の処理手順によって検索を実行することによって処理される総データを表す目的関数が最大となる分割データの配分が算出される。
図9は、本発明の実施形態のCPU101によって実行される配分決定部115が実行する処理を説明するフローチャートである。本処理は、図5のステップ305の処理に対応する。なお、図9の処理は、CPU101によって実行される配分決定部115によって実行される。
ステップ801〜ステップ806までは、目的関数及び制約条件を決定するための処理である。
まず、配分決定部115は、n番目のデータ格納部123に設定されたスループットの上限値max_Xnを設定する(ステップ801)。
具体的には、配分決定部115は、入力されたストレージ装置情報133に含まれる構成情報401のスループット上限値4012を参照し、当該スループット上限値4012に格納される値をスループット上限値max_Xnに設定する。なお、nは、データ格納部123を識別するための文字を表す。
配分決定部115は、候補集合{S}から部分集合{S[Tj]}を生成する(ステップ802)。
具体的には、配分決定部115は、各処理手順候補si∈{S}のうち、最初にアクセスされる処理対象データ(処理開始表Tj)が共通である処理手順候補を一つにまとめて部分集合{S[Tj]}を生成する。すなわち、本発明の実施形態では、最初に処理される処理対象データが共通の処理手順候補を要素とする部分集合{S[Tj]}が生成される。ここで、jは部分集合を識別する文字であり、表(処理対象データ)の数だけ部分集合が存在することとなる。
なお、処理開始表Tjが異なる処理手順が並列で実行された場合、処理結果に重複が出る可能性があるため、本発明の実施の形態では、処理開始表Tjが同一の処理手順候補を一つにまとめことによって、処理の整合性が確保される。
以下、各部分集合{S[Tj]}について、ステップ804からステップ807まで処理が繰り返し実行される(ステップ803)。
配分決定部115は、部分集合S[Tj]に含まれる要素(処理手順候補)毎の予測I/O数Cjkを定義する(ステップ804)。
具体的には、配分決定部115は、部分集合S[Tj]の要素である処理手順候補Sjk∈S[Tj]について、当該処理手順候補Sjkにおいて発生する予測総I/O数をCjkとする。ここで、文字kは、1〜njまでの自然数であり、部分集合に含まれる要素の数を表す。また、njは、部分集合S[Tj]の要素数である。
配分決定部115は、部分集合S[Tj]に含まれる処理手順候補Sjk毎に、各表(処理対象データ)に対する処理のスループットXjkmを定義する(ステップ805)。
具体的には、配分決定部115は、処理開始表TjからスループットXjkの負荷で処理を開始した場合に、m番目の表に対する処理のスループットをXjkmとする。すなわち、処理手順候補Sjkにおいて、m番目の処理対象データを処理する場合の負荷が定義される。ここで、mは、処理手順候補Sjkにおける処理順番を表す文字である。
なお、スループットXjkは、任意の変数である。
例えば、処理開始表Tjに付加されたスループットXjkに、処理途中で適用される問合せ処理の条件絞込み率を乗算することによって、m番目の表(処理対象データ)に対する処理のスループットを算出できる。
配分決定部115は、部分集合S[Tj]に含まれる全ての処理手順候補が並列に実行された場合における各データ格納部123のスループットの総和sum_Xjkを定義する(ステップ806)。
具体的には、以下のような処理が実行される。
まず、配分決定部115は、入力されたストレージ装置情報133に含まれる構成情報401を参照し、n番目のデータ格納部123に格納される表(処理対象データ)Tjkmを確認する。
次に、配分決定部115は、データ格納部123に格納される表のスループットXjkmを足し合わせたものをsum_Xjkmとする。すなわち、データ格納部123に格納される全ての表(処理対象データ)についてのスループットの総和がsum_Xjkmとなる。
配分決定部115は、制約条件の下、目的関数TotalXjの値が最大となる変数Xjkを求める(ステップ807)。すなわち、線形計画法を用いて、変数Xjkが算出される。
ここで、制約条件は式(1)に示すようになり、目的関数TotalXjは式(2)に示すようになる。
Figure 2012059130
Figure 2012059130
すなわち、式(1)及び式(2)は、各データ格納部123に設定されたスループットの上限値を超えない範囲で、候補集合に含まれる処理手順候補を並列で実行した場合のスループットの合計が最大となる配分を決定するための式である。
ここで、目的関数TotalXjが最大となるスループットをXjk_maxと定義する。
配分決定部115は、ステップ804からステップ807までの処理を各部分集合S[Tj]について繰り返し実行する(ステップ808)。
全ての部分集合S[Tj]について処理が実行された後、配分決定部115は、各部分集合におけるスループットの総和TotalXjに基づいて配分を決定し(ステップ809)、処理を終了する(ステップ810)。
具体的には、以下のようの処理が実行される。
まず、配分決定部115は、スループットの総和TotalXjの値が最大である部分集合S[Tj]を選択する。
次に、配分決定部115は、選択された部分集合S[Tj]におけるスループットXjk_maxの比率を、選択された部分集合S[Tj]に含まれる各処理手順候補Sjkに対する分割データの配分比率に決定する。
以上のように、本発明の実施形態では、配分決定部115が、各データ格納部123の性能限界を超えない範囲で、かつ、各データ格納部123のスループットの合計値が最大となるような複数の処理手順を選択する。また、複数の処理手順に割り当てる分割データの配分は、各データ格納部123の性能限界を超えない範囲で、かつ、各データ格納部123のスループットの合計値が最大となるように決定される。したがって、決定された配分に基づいて複数の処理手順が実行されることによって、ストレージ装置12の性能を最大限利用する検索処理が可能となる。
次に、具体的な例を示して図9の処理を説明する。なお、説明を簡単にするため、以下のような前提とする。
処理対象データは、顧客情報T1(601)、購買履歴T2(602)及び利用履歴T3(603)とする。また、顧客情報T1(601)、購買履歴T2(602)及び利用履歴T3(603)は、図2に示すように、それぞれ、異なるデータ格納部123に格納される。すなわち、図3Aに示すように、顧客情報T1(601)は格納部識別子4011が「S1」であるデータ格納部123に格納され、購買履歴T2(602)は格納部識別子4011が「S2」であるデータ格納部123に格納され、利用履歴T3(603)は格納部識別子4011が「S3」であるデータ格納部123に格納される。
このとき、ステップ304において、3つの処理対象データの参照順番の組み合わせから考えられる6つの処理手順候補が生成される。
以下、前述した前提の下、配分決定部115によって実行される処理について説明する。
ステップ801において、配分決定部115は、構成情報401を参照して、顧客情報T1(601)が格納されるデータ格納部123のスループット上限値max_X1を「150」、購買履歴T2(602)が格納されるデータ格納部123のスループット上限値max_X2を「100」、利用履歴T3(603)が格納されるデータ格納部123のスループット上限値max_X3を「50」とする。
ステップ802において、配分決定部115は、顧客情報T1(601)を処理開始表とする部分集合S[T1]、購買履歴T2(602)を処理開始表とする部分集合S[T2]、及び、利用履歴T3(603)を処理開始表とする部分集合S[T3]を生成する。
部分集合S[T1]、S[T2]及びS[T3]は以下に示す要素(処理手順候補)を含む。
S[T1]={s11,s12}
S[T2]={s12,s22}
S[T3]={s31,s32}
ここで、各部分集合S[T1]、S[T2]、S[T3]に含まれる要素(処理手順候補)は以下のようになる。
[処理開始表が顧客情報T1の場合]
処理手順候補s11:顧客情報→購買履歴→利用履歴: 割当てスループット:X11
処理手順候補s12:顧客情報→利用履歴→購買履歴: 割当てスループット:X12
[処理開始表が購買履歴T2の場合]
処理手順候補s21:購買履歴→顧客情報→利用履歴: 割当てスループット:X21
処理手順候補s22:購買履歴→利用履歴→顧客情報: 割当てスループット:X22
[処理開始表が利用履歴T3の場合]
処理手順候補s31:利用履歴→購買履歴→顧客情報: 割当てスループット:X31
処理手順候補s32:利用履歴→顧客情報→購買履歴: 割当てスループット:X32
なお、割当てスループットは、各処理手順に配分するデータ量に関連する変数である。
以下、部分集合毎にステップ804からステップ807までの処理が繰り返し実行されるが、説明の簡単のために処理開始表が顧客情報T1(601)である部分集合S[T1]について説明する。
ステップ804において、配分決定部115は、部分集合S[T1]に含まれる各処理手順候補s11、s12における予測総I/O数をc11、c12と定義する。なお、予測総I/O数は、処理手順候補s11、s12に基づいて算出することができる。配分決定部115は、算出された予測総I/O数をc11、c12とする。
ステップ805において、配分決定部115は、各処理手順候補s11、s12に割り当てる処理スループットをX11、X12とする。さらに、配分決定部115は、処理手順候補s11において順番に処理される表における負荷スループットをX111、X112、X113と定義し、また、処理手順候補s12において、順番に処理される表における負荷スループットをX121、X122、X123と定義する。
本発明の実施形態の場合、顧客情報T1(601)、購買履歴T2(602)及び利用履歴T3(603)は、それぞれ異なるデータ格納部123に格納される。すなわち、顧客情報T1(601)、購買履歴T2(602)及び利用履歴T3(603)とデータ格納部123とが一対一に対応する。したがって、データ格納部123毎のスループットと表(処理対象データ)毎のスループットとは等しいものとして扱える。すなわち、データ格納部123のスループットは、処理手順候補に割り当てられた処理スループットX11、X12で表される。
したがって、ステップ806において、配分決定部115は、sum_X111、sum_X112、sum_X113を式(3)〜(5)のように定義できる。
Figure 2012059130
Figure 2012059130
Figure 2012059130
ここで、負荷スループットXjkmを処理スループットX11、X12を用いて表すと以下の式(6)〜(8)に示すようになるものとする。
Figure 2012059130
Figure 2012059130
Figure 2012059130
ステップ807において、配分決定部115は、式(9)〜(11)に示す制約条件を満たし(すなわち、負荷スループットの総和がスループット上限値を超えない範囲で)、かつ、式(12)に示すTotalXjを最大とするX11及びX12を算出する。
Figure 2012059130
Figure 2012059130
Figure 2012059130
Figure 2012059130
この場合、目的関数が最大となる解は、X11_max=3.846、X12_max=49.23と算出される。このとき、目的関数TotalX1の値は、9.990となる。
以上が、部分集合S[T1]についてステップ804〜ステップ807の処理が実行された場合の説明である。
部分集合S[T2]についても同様の処理が実行されることによって、以下のような制約条件及び目的関数となる。
[処理開始表:購買履歴T2の場合]
Figure 2012059130
Figure 2012059130
Figure 2012059130
Figure 2012059130
この場合、目的関数が最大となる解は、X21_max=10.0、X22_max=0.0となる。このとき、目的関数TotalX2の値は、5.0と算出される。
部分集合S[T3]についても同様の処理が実行されることによって、以下のような制約条件及び目的関数となる。
[処理開始表:利用履歴T3の場合]
Figure 2012059130
Figure 2012059130
Figure 2012059130
Figure 2012059130
この場合、目的関数が最大となる解は、X31_max=0.0、X32_max=40.0と算出される。このとき、目的関数TotalX2の値は、8.988となる。
ステップ809において、配分決定部115は、各部分集合における目的関数の値を参照し、目的関数の値が最大となる部分集合を選択する。この場合、部分集合S[T1]が選択される。
また、配分決定部115は、部分集合S[T1]における目的関数の解、すなわち、処理手順候補s11、s12のそれぞれのスループットX11_max=3.846、X12_max=49.23を、分割データ{T}の配分比率として決定する。
以上の処理によって、ステップ306において、決定された配分比率に基づいて処理手順候補s11、s12が実行される。
なお、本発明の実施形態では、データ格納部123を例に説明したが、ストレージシステムを備える計算機システムにも適用することができる。この場合、ストレージ装置12単位のスループットを考慮すればよい。
本発明の実施形態によれば、複数の処理手順をストレージ装置12の使用率が最大になるように実行することによって、ストレージ装置の性能を最大限利用し、かつ、高速に検索処理が可能となる。また、本発明の実施形態によれば、並列に複数の処理手順が実行されている場合に、ストレージ装置12の負荷状況に応じて、実行する処理手順及び各処理手順に割り当てるデータの配分を動的に変更できる。これによって、特定の記憶装置に負荷が集中した場合等性能の低下に柔軟に対応した検索処理が可能となる。
10 入出力装置
11 サーバ装置
12 ストレージ装置
13 通信用ネットワーク
14 ストレージ用ネットワーク
101、105 CPU
102、106 メモリ
103、104、109 ネットワークインタフェース
107 ディスクインタフェース
108 記憶装置
111 データベース管理システム
112 要求受付部
113 処理手順生成部
114 データ分割部
115 配分決定部
116 割当部
117 処理手順実行部
118 情報収集部
122 データ読出部
123 データ格納部
131 候補集合
132 分割データ集合
133 ストレージ装置情報
134 配分情報
401 構成情報
402 負荷情報
601 顧客情報
602 購買履歴
603 利用履歴
701 分割指定

Claims (12)

  1. 受信した問い合わせ要求に対する問い合わせ結果を出力する計算機と、前記問い合わせ要求に基づいて出力されるデータを格納するストレージシステムとを備える計算機システムであって、
    前記計算機は、第1のプロセッサと、前記第1のプロセッサと接続される第1のメモリと、前記第1のプロセッサに接続される第1のネットワークインタフェースとを備え、
    前記ストレージシステムは、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記第2のプロセッサに接続され、複数の前記データが格納される複数の記憶装置と、前記第2のプロセッサに接続される第2のネットワークインタフェースとを備え、
    前記計算機は、
    前記問い合わせ要求を受信する要求受付部と、
    前記問い合わせ要求に基づいて、前記各記憶装置に格納される前記データにアクセスする順序を含む複数の処理手順を生成する処理手順生成部と、
    前記各記憶装置に格納される前記データを分割するデータ分割部と、
    前記ストレージシステムの負荷状態を表す負荷情報を取得する情報取得部と、
    前記取得された負荷情報に基づいて、前記生成された各処理手順によって処理される前記分割されたデータを割り当てるための配分を決定する配分決定部と、
    前記決定された配分に基づいて、前記生成された各処理手順を並列実行する処理実行部と、を備えることを特徴とする計算機システム。
  2. 前記取得された負荷情報には、前記ストレージシステムが備える前記各記憶装置の負荷の上限を表す負荷上限値が含まれ、
    前記配分決定部は、前記生成された複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記生成された複数の処理手順によって処理されるデータ量の合計値が最大となる配分を算出することを特徴とする請求項1に記載の計算機システム。
  3. 前記配分決定部は、
    前記生成された複数の処理手順を、前記処理手順における最初にアクセスされるデータを格納する前記記憶装置が共通する前記処理手順を一つの集合とする部分集合を生成し、
    前記部分集合に含まれる複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記部分集合に含まれる複数の処理手順によって処理されるデータ量の合計値が最大となる配分を前記部分集合毎に算出し、
    前記算出された合計値が最大となる部分集合を選択し、
    前記処理実行部は、前記選択された部分集合における配分に基づいて、前記選択された部分集合に含まれる複数の処理手順を並列実行することを特徴とする請求項2に記載の計算機システム。
  4. 前記情報取得部は、前記処理実行部が前記生成された複数の処理手順を並列実行中の前記各記憶装置の負荷情報を取得し、
    前記配分決定部は、
    前記負荷情報を参照して、いずれかの前記記憶装置において所定値以上の負荷変動があるか否かを判定し、
    前記いずれかの記憶装置において所定値以上の負荷変動があると判定された場合に、前記生成された処理手順に割り当てる前記分割されたデータの配分を再度算出し、
    前記処理実行部は、新たに算出された前記配分に基づいて、前記生成された複数の処理手順を並列実行することを特徴とする請求項1に記載の計算機システム。
  5. 受信した問い合わせ要求に対する問い合わせ結果を出力する計算機と、前記問い合わせ要求に基づいて出力されるデータを格納するストレージシステムとを備える計算機システムにおけるデータ検索方法であって、
    前記計算機は、第1のプロセッサと、前記第1のプロセッサと接続される第1のメモリと、前記第1のプロセッサに接続される第1のネットワークインタフェースとを備え、
    前記ストレージシステムは、第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、前記第2のプロセッサに接続され、複数の前記データが格納される複数の記憶装置と、前記第2のプロセッサに接続される第2のネットワークインタフェースとを備え、
    前記方法は、
    前記計算機が、前記問い合わせ要求を受信する第1のステップと、
    前記計算機が、前記各記憶装置に格納される前記データを分割する第2のステップと、
    前記計算機が、前記問い合わせ要求に基づいて、前記各記憶装置に格納される前記データにアクセスする順序を含む複数の処理手順を生成する第3のステップと、
    前記計算機が、前記ストレージシステムの負荷状態を表す負荷情報を取得する第4のステップと、
    前記計算機が、前記取得された負荷情報に基づいて、前記生成された各処理手順によって処理される前記分割されたデータを割り当てるための配分を決定する第5のステップと、
    前記計算機が、前記決定された配分に基づいて、前記生成された各処理手順を並列実行する第6のステップと、を含むことを特徴とするデータ検索方法。
  6. 前記取得された負荷情報には、前記ストレージシステムが備える前記各記憶装置の負荷の上限を表す負荷上限値が含まれ、
    前記第5のステップでは、前記計算機が、前記生成された複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記生成された複数の処理手順によって処理されるデータ量の合計値が最大となる配分を算出することを特徴とする請求項5に記載のデータ検索方法。
  7. 前記第5のステップは、
    前記計算機が、前記生成された複数の処理手順を、前記処理手順における最初にアクセスされるデータを格納する前記記憶装置が共通する前記処理手順を一つの集合とする部分集合を生成する第7のステップと、
    前記計算機が、前記部分集合に含まれる複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記部分集合に含まれる複数の処理手順によって処理されるデータ量の合計値が最大となる配分を前記部分集合毎に算出する第8のステップと、
    前記計算機が、前記算出された合計値が最大となる部分集合を選択する第9のステップとを含み、
    前記第6のステップは、前記選択された部分集合における配分に基づいて、前記選択された部分集合に含まれる複数の処理手順を並列実行する第10のステップを含むことを特徴とする請求項6に記載のデータ検索方法。
  8. 前記方法は、
    さらに、前記計算機が、前記処理実行部が前記生成された複数の処理手順を並列実行中の前記各記憶装置の負荷情報を取得するステップと、
    前記計算機が、前記取得された負荷情報を参照して、いずれかの前記記憶装置において所定値以上の負荷変動があるか否かを判定するステップと、
    前記計算機が、前記いずれかの記憶装置において所定値以上の負荷変動があると判定された場合に、前記生成された処理手順に割り当てる前記分割されたデータの配分を再度算出するステップと、
    前記計算機が、新たに算出された前記配分に基づいて、前記生成された複数の処理手順を並列実行するステップと、を含むことを特徴とする請求項5に記載のデータ検索方法。
  9. 受信した問い合わせ要求に対して、前記問い合わせ要求の処理対象であるデータを格納するストレージシステムからデータを読み出し、前記読み出されたデータに対する処理を実行することによって問い合わせ結果を出力するデータベース管理計算機であって、
    前記データベース管理計算機計算機は、プロセッサと、前記プロセッサと接続されるメモリと、前記プロセッサに接続されるネットワークインタフェースとを備え、
    前記データベース管理計算機は、
    前記問い合わせ要求を受信する要求受付部と、
    前記問い合わせ要求に基づいて、前記ストレージシステムが備える複数の記憶装置のそれぞれに格納される前記データにアクセスする順序を含む複数の処理手順を生成する処理手順生成部と、
    前記各記憶装置に格納される前記データを分割するデータ分割部と、
    前記ストレージシステムの負荷状態を表す負荷情報を取得する情報取得部と、
    前記取得された負荷情報に基づいて、前記生成された各処理手順によって処理される前記分割されたデータを割り当てるための配分を決定する配分決定部と、
    前記決定された配分に基づいて、前記生成された各処理手順を並列実行する処理実行部と、を備えることを特徴とするデータベース管理計算機。
  10. 前記取得された負荷情報には、前記ストレージシステムが備える前記各記憶装置の負荷の上限を表す負荷上限値が含まれ、
    前記配分決定部は、前記生成された複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記生成された複数の処理手順によって処理されるデータ量の合計値が最大となる配分を算出することを特徴とする請求項9に記載のデータベース管理計算機。
  11. 前記配分決定部は、
    前記生成された複数の処理手順を、前記処理手順における最初にアクセスされるデータを格納する前記記憶装置が共通する前記処理手順を一つの集合とする部分集合を生成し、
    前記部分集合に含まれる複数の処理手順が実行された場合における前記各記憶装置の負荷が前記負荷上限値以下となり、かつ、前記部分集合に含まれる複数の処理手順によって処理されるデータ量の合計値が最大となる配分を前記部分集合毎に算出し、
    前記算出された合計値が最大となる部分集合を選択し、
    前記処理実行部は、前記選択された部分集合における配分に基づいて、前記選択された部分集合に含まれる複数の処理手順を並列実行することを特徴とする請求項10に記載のデータベース管理計算機。
  12. 前記情報取得部は、前記処理実行部が前記生成された複数の処理手順を並列実行中の前記各記憶装置の負荷情報を取得し、
    前記配分決定部は、
    前記負荷情報を参照して、いずれかの前記記憶装置において所定値以上の負荷変動があるか否かを判定し、
    前記いずれかの記憶装置において所定値以上の負荷変動があると判定された場合に、前記生成された処理手順に割り当てる前記分割されたデータの配分を再度算出し、
    前記処理実行部は、新たに算出された前記配分に基づいて、前記生成された複数の処理手順を並列実行することを特徴とする請求項9に記載のデータベース管理計算機。
JP2010203377A 2010-09-10 2010-09-10 計算機システム、データ検索方法及びデータベース管理計算機 Expired - Fee Related JP5043166B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010203377A JP5043166B2 (ja) 2010-09-10 2010-09-10 計算機システム、データ検索方法及びデータベース管理計算機
US13/814,989 US9384219B2 (en) 2010-09-10 2011-02-24 Computer system, data retrieval method and database management computer
PCT/JP2011/054175 WO2012032799A1 (ja) 2010-09-10 2011-02-24 計算機システム、データ検索方法及びデータベース管理計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010203377A JP5043166B2 (ja) 2010-09-10 2010-09-10 計算機システム、データ検索方法及びデータベース管理計算機

Publications (2)

Publication Number Publication Date
JP2012059130A true JP2012059130A (ja) 2012-03-22
JP5043166B2 JP5043166B2 (ja) 2012-10-10

Family

ID=45810407

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203377A Expired - Fee Related JP5043166B2 (ja) 2010-09-10 2010-09-10 計算機システム、データ検索方法及びデータベース管理計算機

Country Status (3)

Country Link
US (1) US9384219B2 (ja)
JP (1) JP5043166B2 (ja)
WO (1) WO2012032799A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013179453A1 (ja) * 2012-05-31 2013-12-05 株式会社日立製作所 解析システム、計算機システム及び解析方法
WO2016092604A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 データ処理システムおよびデータアクセス方法
WO2016110985A1 (ja) * 2015-01-08 2016-07-14 株式会社日立製作所 管理方法及び管理装置並びに記憶媒体

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597272B (zh) * 2020-05-26 2023-10-27 广州迈安信息科技有限公司 工程造价数据的存储方法、装置、数据服务器和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280528A (ja) * 2003-03-17 2004-10-07 Hitachi Ltd データベースシステム、サーバ、問い合わせ投入方法及びデータ更新方法
JP2009545060A (ja) * 2006-07-26 2009-12-17 マイクロソフト コーポレーション 超大規模データベースに対するデータ処理

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2912225B2 (ja) 1996-04-18 1999-06-28 四国日本電気ソフトウェア株式会社 通信処理システム
JP2005301353A (ja) 2004-04-06 2005-10-27 Canon Inc 分散情報検索方法及び検索中継装置、システム、プログラム、コンピュータ可読メモリ
US7555486B2 (en) * 2005-01-20 2009-06-30 Pi Corporation Data storage and retrieval system with optimized categorization of information items based on category selection
US7769754B2 (en) * 2006-05-15 2010-08-03 Algebraix Data Corporation Systems and methods for data storage and retrieval using algebraic optimization
US7870128B2 (en) * 2006-07-28 2011-01-11 Diskeeper Corporation Assigning data for storage based on speed with which data may be retrieved
US7908259B2 (en) * 2006-08-25 2011-03-15 Teradata Us, Inc. Hardware accelerated reconfigurable processor for accelerating database operations and queries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280528A (ja) * 2003-03-17 2004-10-07 Hitachi Ltd データベースシステム、サーバ、問い合わせ投入方法及びデータ更新方法
JP2009545060A (ja) * 2006-07-26 2009-12-17 マイクロソフト コーポレーション 超大規模データベースに対するデータ処理

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013179453A1 (ja) * 2012-05-31 2013-12-05 株式会社日立製作所 解析システム、計算機システム及び解析方法
JPWO2013179453A1 (ja) * 2012-05-31 2016-01-14 株式会社日立製作所 解析システム、計算機システム及び解析方法
US9710515B2 (en) 2012-05-31 2017-07-18 Hitachi, Ltd. Analysis system, computer system, and analysis method for analyzing behavior of database management system
WO2016092604A1 (ja) * 2014-12-08 2016-06-16 株式会社日立製作所 データ処理システムおよびデータアクセス方法
JPWO2016092604A1 (ja) * 2014-12-08 2017-06-01 株式会社日立製作所 データ処理システムおよびデータアクセス方法
WO2016110985A1 (ja) * 2015-01-08 2016-07-14 株式会社日立製作所 管理方法及び管理装置並びに記憶媒体

Also Published As

Publication number Publication date
WO2012032799A1 (ja) 2012-03-15
US9384219B2 (en) 2016-07-05
US20130159303A1 (en) 2013-06-20
JP5043166B2 (ja) 2012-10-10

Similar Documents

Publication Publication Date Title
JP5244236B2 (ja) 計算機システム、方法、およびプログラム
JP5400482B2 (ja) 管理計算機、リソース管理方法、リソース管理プログラム、記録媒体および情報処理システム
KR101569093B1 (ko) 분산 시스템에서 데이터를 처리하는 방법
JP4577384B2 (ja) 管理マシン、管理システム、管理プログラム、および、管理方法
CN111913955A (zh) 数据的排序处理装置、方法和存储介质
JP6172649B2 (ja) 情報処理装置、プログラム、及び、情報処理方法
US20100125715A1 (en) Storage System and Operation Method Thereof
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
CN111406250A (zh) 无服务器计算环境中的使用经预取的数据的配设
JP6083290B2 (ja) 分散処理システム
CN103761146B (zh) 一种MapReduce动态设定slots数量的方法
US10049034B2 (en) Information processing apparatus
CN110058940B (zh) 一种多线程环境下的数据处理方法及装置
JP6519111B2 (ja) データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置
CN111459641B (zh) 一种跨机房的任务调度和任务处理的方法及装置
CN107969153B (zh) 一种资源分配方法、装置及numa系统
JP6129290B1 (ja) 分散計算におけるアプリケーションパラメータ設定およびシステム仕様設定を推奨する方法およびシステム
CN111338779B (zh) 资源分配方法、装置、计算机设备和存储介质
JP5043166B2 (ja) 計算機システム、データ検索方法及びデータベース管理計算機
CN115202876A (zh) 一种基于etl服务器的任务处理方法、系统和电子设备
CN104778088B (zh) 一种基于减少进程间通信开销的并行i/o优化方法与系统
US8095768B2 (en) VSAM smart reorganization
CN112925792A (zh) 数据存储控制方法、装置、计算设备及介质
CN1783121A (zh) 用于执行设计自动化的方法和系统
CN113703945B (zh) 微服务集群的调度方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120604

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120619

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120711

R150 Certificate of patent or registration of utility model

Ref document number: 5043166

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150720

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees