JP5594460B2 - 送信情報制御装置、方法及びプログラム - Google Patents

送信情報制御装置、方法及びプログラム Download PDF

Info

Publication number
JP5594460B2
JP5594460B2 JP2010050042A JP2010050042A JP5594460B2 JP 5594460 B2 JP5594460 B2 JP 5594460B2 JP 2010050042 A JP2010050042 A JP 2010050042A JP 2010050042 A JP2010050042 A JP 2010050042A JP 5594460 B2 JP5594460 B2 JP 5594460B2
Authority
JP
Japan
Prior art keywords
data
aggregated
processing
cost
processing result
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.)
Expired - Fee Related
Application number
JP2010050042A
Other languages
English (en)
Other versions
JP2011186695A (ja
Inventor
純平 上村
岳彦 柏木
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010050042A priority Critical patent/JP5594460B2/ja
Publication of JP2011186695A publication Critical patent/JP2011186695A/ja
Application granted granted Critical
Publication of JP5594460B2 publication Critical patent/JP5594460B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、分散データベースシステムにおいて、データベース処理の結果データの送信処理を制御する技術に関する。
データベースが保持するデータに対するクエリ処理は、多段階のデータ操作を行うことで達成される。一般的に多段階のデータ操作を行う処理方法として、ある処理が終わってから次の処理を開始するバッチ型の処理方法と、ある処理が終わった部分に対して次の処理を行うパイプライン型の処理の処理方法がある。分散データベースにおいていくつかの処理を分散して行う場合においても、ノード間で、パイプライン型の処理を行う方法とバッチ型の処理を行う方法が考えられる。
パイプライン型処理は、前処理の一部の結果を用いて次の処理をすぐに開始できるため、次処理開始までの待ち時間が少なく、並列に処理を行うことができる。また、バッチ型処理は、処理結果を集約して次のノードに転送するため、総転送データサイズを小さくして短い時間で転送を行うことができる。
例えば、特許文献1には、分散データベースにおいて、リンク情報を用いて階層テーブル同士を結合することで入れ子節を含むXQuery処理の高速化を可能とするデータベース処理装置が開示されている。
特開2009−211154号公報
特許文献1の分散データベースシステムでは、クエリの処理結果データを各DBサーバから要求元サーバに送信する際、ネットワークやノードの負荷等のような動的に変化するシステム状況を全く考慮していない。このため、システム状況に応じて最適なデータ送信処理方法を選択してデータベース処理の高速化を図ることができなかった。
本発明は、上記問題点に鑑みてなされたもので、システム状況に適したデータ送信処理方法を選択することにより、分散データベースシステムにおける処理を高速化することができる送信情報制御装置、方法及びプログラムを提供することを目的とする。
上記課題を解決する本発明は、分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおいて用いられる送信情報制御装置であって、データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段と、前記ストレージ処理部からの処理結果データを取得する処理結果取得手段と、前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算するコスト計算手段と、前記ストレージ処理部から取得した各処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定する判定手段と、前記ストレージ処理部から取得した各処理結果データを集約すると判定した場合、当該各処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した各処理結果データを集約しないと判定した場合、当該各処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段と、を備えることを特徴とする送信情報制御装置である。
上記課題を解決する本発明は、分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおける送信情報制御方法であって、データベース処理要求を受信して、該当するストレージ処理部に供給し、前記ストレージ処理部からの処理結果データを取得し、前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算し、前記ストレージ処理部から取得した処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定し、前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する、ことを特徴とする送信情報制御方法である。
上記課題を解決する本発明は、コンピュータを、データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段、前記ストレージ処理部からの処理結果データを取得する処理結果取得手段、前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算するコスト計算手段、前記ストレージ処理部から取得した処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定する判定手段、前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段、として機能させるためのプログラムである。
本発明によれば、システム状況に適したデータ送信処理方法を選択することにより、分散データベースシステムにおける処理を高速化することができる。
図1は本発明の実施形態に係るルータ(送信制御装置)を用いる分散データベース管理システムの機能ブロック図である。 図2は分散データベースを構成するデータベース・テーブルTBLの一例を概略的に示す図である。 図3は本発明の実施形態に係るルータの機能ブロック図である。 図4はストレージ処理部の機能ブロック図である。 図5は集約実行判定処理を説明するためのフローチャートである。 図6は分散データベース管理システムの動作を説明するための図である。 図7はデータの集約処理を説明するための図である。
以下、本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態に係る送信制御装置(ルータ)を用いる分散データベース管理システム10の全体構成を概略的に示す機能ブロック図である。この分散データベース管理システム10は、ロードバランサ11と、クエリサーバ20A、20B、20Cと、データサーバ22〜22と、管理サーバ30とを備え、これはLAN(Local Area Network)等のネットワークにより接続されている。
データサーバ22〜22には、それぞれ分散データベースを構成する部分データベースが格納されている。分散データベース管理システム10は、この分散データベースに対するデータ操作を行う。分散データベースは、少なくとも1つのテーブル構造を有し、部分データベースは、このテーブル構造のサブセット(部分集合)を構成する。
図2は、分散データベースを構成するデータベース・テーブルTBLの一例を概略的に示す図である。このデータベース・テーブルTBLは、複数のタプル(行)と、列方向に定義されたカラム(属性フィールド)A,A,・・・,Aとを有する。タプルとカラムとの交差領域で定まる領域にはデータが格納される。図2に示すように、このデータベース・テーブルTBLを行方向に分割(水平分割)することで複数の部分集合TG,TG,・・・,TGを構成することができる。このような部分集合TG,TG,・・・,TGを、部分データベースのテーブルとしてそれぞれデータサーバ22〜22に格納することができる。
なお、データベース・テーブルTBLをカラム方向に分割(垂直分割)することで複数の部分データベース・テーブルを構成してもよいし、あるいは、水平分割と垂直分割との組合わせにより複数の部分データベース・テーブルを構成してもよい。
図1に例示されるように、通信網NWには、分散データベース管理システム10とクライアント端末T1とが接続されている。これら分散データベース管理システム10とクライアント端末T1だけでなく、多数のクライアント端末が通信網NWに接続される。ネットワークNWは、例えばインターネット等の広域ネットワークとLANを少なくとも含む。
クライアント端末T1は、分散データベース管理システム10が有するデータベースについてSQLやXQuery(XML Query Language:XML問い合わせ言語)等のデータベース言語(データ操作言語)で記述されたクエリを生成し、このクエリを分散データベース管理システム10に宛てて送信する機能を有する。クエリには、分散データベースに対してデータの検索、挿入、更新あるいは削除等のデータ操作を規定するデータベース言語が記述されている。
ロードバランサ11は、通信網NWを介してクライアント端末T1から送信されたクエリをデータ処理要求として受信し、このクエリをクエリサーバ20A〜20Cに均等に振り分けて処理不可を分散する機能を有する。ロードバランサ11は、例えばラウンドロビン方式に従ってクエリサーバ20A〜20Cのいずれかを選択してもよい。
クエリサーバ20A〜20Cは、それぞれクエリ解析部21A〜21Cを備えている。クエリ解析部21A〜21Cは、ロードバランサ11により振り分けられたクエリを解析し最適化する機能を有している。クエリ解析部21A〜21Cは、受信したクエリを、ストレージ処理部25のデータ構造に基づいて最適化された解析ツリー形式のクエリに変換する。このとき、クエリを例えば抽象構文木(AST:Abstract Syntax Tree)形式のクエリに変換することができる。
データサーバ22〜22の各々は、ルータ(送信情報制御装置)24と複数のストレージ処理部25〜25とを有する。データサーバ22〜22は、LANなどの有線伝送路又は無線伝送路を介して相互に接続されている。データサーバ22内のルータ24は、ストレージ処理部25〜25のうちの任意のストレージ処理部間のデータ転送を制御する機能と、他のデータサーバ22内のルータ24との間でデータ通信を行う機能を有する。
図3は、ルータ24の構成を概略的に示す機能ブロック図である。ルータ24は、ルーティングテーブル241と、クエリ配送部242と、資源情報テーブル243と、回答受付部244と、集約実行部245と、データ送信部246とを備える。
ルーティングテーブル241には、ストレージ処理部25と、ストレージ処理部25にそれぞれ格納されているデータベース・テーブルとの対応関係が設定されている。
クエリ配送部242は、ルーティングテーブル241や管理サーバ30を参照して、受信したクエリの配送先となるストレージ処理部25や他のルータ24を決定し、クエリを配送する。クエリを他のルータ24に配送する場合には、クエリに付与されている静的集約実行ポリシが「集約する」を示し且つルータ24自身の負荷状況が閾値以下である場合、そのクエリ情報中の静的集約実行ポリシを「集約してもよい」に変更する。
クエリに付与される静的集約実行ポリシは、要求元が実行結果データをどのような形式で受け取りたいか(データの集約を必要とするか否か)を示しており、「集約する」(集約を必要とする)と「集約してもよい」(集約を必要としない)の2つの値のいずれかをとる。静的集約実行ポリシは、クエリサーバ20A〜20Cのクエリ解析部21A〜21Cと、後述するストレージ処理部25〜25のクエリ解析部252により、クエリに付与される。
資源情報テーブル243には、システム資源に関する資源情報が設定されている。資源情報は、クエリサーバ20や他のルータ24とのネットワーク速度、ノード間の負荷、CPU未使用率*CPUクロック数、他のノードのCPU情報(使用率、クロック数)等の情報を含む。これらの資源情報のうち、動的に変化する情報(ネットワーク負荷や各ノードの負荷等)についてはルータ24自身が定期的に取得して更新設定する。
回答受付部244は、ストレージ処理部25や他のルータ24から返ってきた回答データ(クエリ結果)を一時的に保存する。
集約実行部245は、クエリに付与されている静的集約実行ポリシが「集約する」の場合は、回答受付部244にあるデータを集約する。また、静的集約実行ポリシが「集約してもよい」の場合は、データの集約を行う場合と行わない場合で、資源情報に基づくコスト比較を行い、比較結果に基づいてデータの集約を行うか否かを判定する。データの集約を行う場合のコストの方が小さい場合には集約すると判定し、回答受付部244に保存されているクエリ結果のデータを集約する。また、データの集約を行わない場合のコストの方が小さい場合には集約しないと判定し、データの集約は行わない。
データ送信部246は、集約実行部245が集約しないと判定した各クエリ結果を直ちにクエリの発行元に送信する。また、集約すると判定されたクエリ結果については、集約後にクエリの発行元に送信する。
図4は、ストレージ処理部25の構成を概略的に示す機能ブロック図である。ストレージ処理部25は、キュー部250と、データ操作部251と、ストレージ装置255を備える。データ操作部251は、クエリ解析部252と、トランザクション実行部253と、内部クエリ発行部254を含む。ストレージ装置255は、複数のストレージを搭載しており、これらストレージを制御するコントローラや入出力ポートを有している。
キュー部250は、ルータ24から順次入力された複数のクエリを一時的に保存する機能を有し、先に入力され保持されたクエリを優先的にデータ操作部251に供給する。
データ操作部251のクエリ解析部252は、キュー部250から供給されたクエリを解析し、実行プランを生成する。トランザクション実行部253は、この実行プランに従ったトランザクションを実行する。
トランザクション実行部253は、トランザクション実行のために必要なデータセットがストレージ装置255内の部分データベースに格納されていないとき、内部クエリ発行部254に対して当該データセットのデータ取得要求を発する。そして、内部クエリ発行部254により取得されたデータセットを用いてトランザクションを実行する。
内部クエリ発行部254は、トランザクション実行部253からのデータ取得要求に応じて、内部クエリを生成し、生成した内部クエリを含むデータ転送要求をルータ24に対して発し、これに対応するデータセットを取得する。
管理サーバ30は、分散データベースを構成する複数の部分データベースと、データサーバ22〜22との対応関係を示す管理テーブル30を有している。クエリサーバ20A〜20Cのいずれかが、受信クエリの解析結果を管理サーバ30に転送すると、管理サーバ30は、その解析結果に基づいて管理テーブル30Tを参照してデータサーバ22〜22の中からクエリの供給先を決定し、この結果をそのクエリサーバ20に通知する。通知を受けたクエリサーバ20は、この通知内容に従って、データサーバ22〜22のうちの単数又は複数のデータサーバに、変換後のクエリを送信する。
次に本実施形態に係るルータ(送信情報制御装置)24による集約実行判定処理について図5のフローチャートを参照して説明する。なお、本処理は、ルータ24がクエリを受け付けた後から、ストレージ処理部25或いは他のルータ24からクエリ結果が返ってくるまでの間の任意のタイミングで開始される。
まず、集約実行部245は、受信したクエリに付与されている静的集約実行ポリシが「集約する」であるかを判別する(ステップS1)。
ステップS1において静的集約実行ポリシが「集約する」である場合には、集約を行うことを決定して本処理を終了する(ステップS2)。
また、ステップS1において静的集約実行ポリシが「集約してもよい」の場合、集約実行部245は、クエリ結果を集約する場合と集約しない場合のコストを計算する(ステップS3)。コスト計算に用いられる算出式は、例えば資源情報を用いてコストを計算するものを採用してもよく、式の内容は任意に設定できる。資源情報とは、本システムにおけるネットワークや各ノードの負荷情報(転送速度、転送時間、利用率、負荷値等)を含む。また、コスト計算式は、任意のタイミングで更新できる。
コスト計算式の一例として、(集約する場合のコスト)=(データが全て揃うまでの時間)+(集約に要する時間)+(集約後データの転送時間)+(集約後データの解凍処理時間)、(集約しない場合のコスト)=α+(データの転送時間)、というような、時間に基づいた式を用いてもよい。
(データが全て揃うまでの時間)は見積もり時間でよく、前回のクエリの実測値等を用いて求めてもよい。また、αは定数である。また、(集約に要する時間)は、データの見積量(バイト)と集約処理の速度(バイト/秒)で求めてもよい。データの見積量は前回のクエリ処理時の実測値などを利用して求めても良い。(集約後データの転送時間)は、集約後データの見積量(バイト)と、資源情報テーブル243に保持している回線速度(バイト/秒)から求めてもよい。(集約後データの解凍処理時間)は、集約後データの見積量(バイト)と解凍処理の速度(バイト/秒)から求めてもよい。(データの転送時間)は、集約前データの見積量(バイト)と資源情報テーブル243に保持されている回線速度(バイト/秒)から求めてもよい。
なお、集約処理や解凍処理の速度、どの程度データが小さくなるかを示す集約効率は、集約アルゴリズムの静的な性質として予め取得され、ルータ24の記憶部に記憶されていてもよい。
コスト計算式の他の例として、(集約する場合のコスト)=β×(ルータ自身のCPU利用率)、(集約しない場合のコスト)=γ×(結果送信先のCPU利用率)、というような、CPU資源等の利用率に基づいた式を用いてもよい。β、γは定数である。
次に、集約実行部245は、クエリ結果を集約する場合のコストと集約しない場合で計算したコストを比較し(ステップS4)、集約する場合のコストの方が集約しない場合のコストよりも小さい場合には(ステップS4:YES)、集約を行うことを決定して本処理を終了する(ステップS2)。また、集約しない場合のコストの方が集約する場合のコストよりも小さい場合には(ステップS4:NO)、集約を行わないことを決定して本処理を終了する(ステップS5)。
次に、分散データベース管理システム10の動作を示す通信シーケンスの一例を、図6を参照して説明する。
まず、クエリサーバ20Aが、ロードバランサ11を介してクライアント端末T1からクエリを受信する。
クエリサーバ20Aのクエリ解析部21Aは、受信したクエリを解析し、この解析結果に基づいて、受信クエリを、ストレージ処理部25のデータベース構造に基づいて最適化された解析ツリー形式のクエリに変換する(L1)。次に、クエリ解析部21Aは、クエリの解析結果に基づいて、クエリを送信すべきデータサーバ22iを決定し(L2)、データサーバiにクエリを送信する。
データサーバ22iでは、ルータ24iのクエリ配送部242が、ルーティングテーブル241を参照し、受信クエリの配送先をストレージ処理部25aに決定し(L3)、ストレージ処理部25aに配送する。
ストレージ処理部25aのデータ操作部251は、クエリを解析し、最適化された実行プランを生成する(L4)。クエリサーバ20Aのクエリ解析部21Aが、ストレージ処理部25が管理する部分データベースの構造に合わせてクエリの最適化を既に行っている場合には、データ操作部251は、クエリの最適化を行う必要はない。
その後、ストレージ処理部25aのトランザクション実行部253が、実行プランに従ってトランザクションを実行していく。処理の途中で、トランザクション実行部253が、トランザクション実行のために必要なデータセットがストレージ装置255内の部分データベースに格納されていないと判定したとする。この場合、トランザクション実行部253は、内部クエリ発行部254に対して、必要なデータセットのデータ取得要求を発する。
例えば、トランザクション実行部253が、選択操作(特定の条件に合致するタプルを抽出し、これら抽出されたタプルから新たなテーブルを生成するためのデータ操作)や結合操作(ジョイン操作:複数のカラムを結合して新たなテーブルを生成するためのデータ操作)を実行しようとしたが、自己のストレージ処理部25で管理する部分テーブルに、その選択操作や結合操作に必要なタプルやカラムが存在しない場合、これらのデータセットのデータ取得要求を内部クエリ発行部254に発する。
このデータ取得要求に応じて、内部クエリ発行部254は、内部クエリを生成し(L5)、この内部クエリを含むデータ転送要求をルータ24iに送信する。ここでは、内部クエリ発行部254は、内部クエリ内の静的集約実行ポリシを「集約する」に設定したとする。
ルータ24iは、管理サーバ30やルーティングテーブル241を参照することで、内部クエリの配送先をストレージ処理部25b、データサーバ22j、22kと決定し(L6)、内部クエリを配送する。ここで、ルータ24iは、静的集約実行ポリシを「集約する」から「集約してもよい」に変更したとする。
ストレージ処理部25bは、転送された内部クエリを解析して最適化する(L7)。そして、データ操作を実行し(L8)、得られたデータセットを内部クエリ結果としてルータ24iに送信する。
また、データサーバ22jのルータ24jは、ルーティングテーブル241を参照して配送先を決定し(L9)、内部クエリをストレージ処理部25cに配送する。ストレージ処理部25cは、内部クエリを解析して最適化する(L10)。そして、データ操作を実行し(L11)、得られたデータセットを内部クエリ結果としてルータ24jに送信する。この例では、ルータ24jは、上述した集約実行判定処理を実行し、集約を行わないことを決定したとする。ルータ24jは、内部クエリ結果を受信すると、それをそのままルータ24iに送信する。
また、データサーバ22kのルータ24kは、ルーティングテーブル241を参照して配送先を決定し(L12)、内部クエリをストレージ処理部25d、ストレージ処理部25eに配送する。ストレージ処理部25d、ストレージ処理部25eは、内部クエリを解析して最適化する(L13、L14)。そして、データ操作を実行し(L15、L16)、得られたデータセットを内部クエリ結果としてルータ24kに送信する。この例では、ルータ24kは、上述した集約実行判定処理を実行し、集約を行うことを決定したとする。ルータ24kは、受信した内部クエリ結果の集約を行い(L17)、それをルータ24iに送信する。集約処理は、ストレージ処理部25のデータ構造を考慮した集約処理や、zip等のデータの可逆圧縮アルゴリズムによる集約処理を含んでもよい。
次に、ルータ24iは、ストレージ処理部25b、データサーバ22j、22kからそれぞれ得られた内部クエリ結果を集約し(L18)、ストレージ処理部25aに送信する。
ストレージ処理部25aのトランザクション処理部253は、内部クエリ発行部254により取得されたデータセットを用いてデータ操作を実行し(L19)、その実行結果(クエリ結果)をルータ24iに送信する。ルータ24iは、受信したクエリ結果をクエリサーバ20Aに送信する。クエリサーバ20Aは、受信したクエリ結果をクライアント端末T1に送信する。クライアント端末T1は、受信したクエリ結果を表示する(L20)。
データの集約処理について、上述した処理シーケンスにおいてルータ24kがクエリ結果の集約を行う場面(図6:L17)を例に、図7を参照して説明する。図示されるように、この例では、ストレージ処理部25が、キーの一覧と、キーの示す値を保持する辞書からなるデータ構造を有するテーブルデータを保持する。図7では、ストレージ処理部25dが、テーブルデータを、キーの一覧であるRTaと、列ごとの辞書であるCa1、Ca2からなるデータセットDSaとして保持している。RTaにおいて、TIDは行番号を示す記号であり、CollRefは列1のキーを示す記号で、Col2Refは列2のキーを示す記号である。Ca1は列1の辞書であり、Ca2は列2の辞書である。これらの辞書は、キー値と実際のデータ値の対応関係を保持している。
また、ストレージ処理部25eは、データセットDSbを保持している。データサーバ22kのストレージ処理部25d、25eが、データセットDSa、DSbをルータ24kに送信すると、ルータ24kは、これらのデータセットDSa、DSbを集約して、新たなテーブルRTd、Cd1、Cd2を生成し、これらのテーブルを含むデータセットDSdをルータ24iに送信する。
なお、図7に示されるように、テーブルCa1とテーブルCb1では、同一の実体データ値“AA”に対して異なるキー(参照識別子)CRV11、CRV12が使用されている。また、テーブルCa2とテーブルCb2では、同一の実体データ値“AD”に対して異なるキーCRV21、CRV22が使用されている。この場合、ルータ24kは、同一の実体データ値“AA”に対して一意のキーCRV11を割り当て、同一の実体データ値“AD”に対して一意のキーCRV21を割り当て、新たなテーブルRTd、Cd1、Cd2を生成する。これにより、参照識別子の不整合を解消することができ、辞書のデータサイズを小さくすることができる。
以上のように、本実施の形態によれば、データサーバ22のルータ24が、クエリ結果データを転送する際に、データの集約を行うか行わないかをコスト計算結果に基づいて動的に決定するため、ネットワークの混雑の回避、データ取得の待機時間の削減、負荷の分散等を効率的に行うことができ、高速なクエリ処理を実現することができる。
なお、上記実施形態では、ルータ24は、集約実行判定処理においてコスト計算を行っているがこれに限定されず、コスト計算は他の所定のタイミングで予め行って、計算結果を記憶しておき、集約実行判定処理において、この保存された計算結果を参照するようにしてもよい。
上述した本発明の実施形態に係るルータ24は、データサーバ22のCPU(Central Processing Unit)が記憶部に格納された動作プログラム等を読み出して実行することにより実現されてもよく、また、ハードウェアで構成されてもよい。上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することもできる。
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおいて用いられる送信情報制御装置であって、
データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段と、
前記ストレージ処理部からの処理結果データを取得する処理結果取得手段と、
前記処理結果データを処理要求元へ送信する際のコストの計算を行うコスト計算手段と、
前記ストレージ処理部から取得した処理結果データを集約するか否かを、コスト計算結果に基づいて判定する判定手段と、
前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段と、
を備えることを特徴とする送信情報制御装置。
(付記2)
前記コスト計算手段は、ネットワーク負荷情報とノードの負荷情報の少なくとも一方を含む、システム資源に関する資源情報に基づいてコスト計算を行う、
ことを特徴とする付記1に記載の送信情報制御装置。
(付記3)
前記処理要求には、前記処理結果データの集約を必要とするか否かを示すポリシ情報が付与されており、
前記判定手段は、前記ポリシ情報に、前記処理結果データの集約を必要としない旨が設定されている場合に、前記処理結果データを集約するか否かを前記コスト計算結果に基づいて判定する、
ことを特徴とする付記1又は2に記載の送信情報制御装置。
(付記4)
分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおける送信情報制御方法であって、
データベース処理要求を受信して、該当するストレージ処理部に供給し、
前記ストレージ処理部からの処理結果データを取得し、
前記処理結果データを処理要求元へ送信する際のコストの計算を行い、
前記ストレージ処理部から取得した処理結果データを集約するか否かを、コスト計算結果に基づいて判定し、
前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する、
ことを特徴とする送信情報制御方法。
(付記5)
ネットワーク負荷情報とノードの負荷情報の少なくとも一方を含む、システム資源に関する資源情報に基づいて前記コストの計算を行う、
ことを特徴とする付記4に記載の送信情報制御方法。
(付記6)
前記データベース処理要求は、前記処理結果データの集約を必要とするか否かを示すポリシ情報が処理要求元により付与されており、
前記コスト計算結果に基づく判定は、前記ポリシ情報に、前記処理結果データの集約を必要としない旨が設定されている場合に行う、
ことを特徴とする付記4又は5に記載の送信情報制御方法。
(付記7)
コンピュータを、
データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段、
前記ストレージ処理部からの処理結果データを取得する処理結果取得手段、
前記処理結果データを処理要求元へ送信する際のコストの計算を行うコスト計算手段、
前記ストレージ処理部から取得した処理結果データを集約するか否かを、コスト計算結果に基づいて判定する判定手段、
前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段、
として機能させるためのプログラム。
(付記8)
前記コスト計算手段は、ネットワーク負荷情報とノードの負荷情報の少なくとも一方を含む、システム資源に関する資源情報に基づいてコスト計算を行う、
ことを特徴とする付記7に記載のプログラム。
(付記9)
前記処理要求には、前記処理結果データの集約を必要とするか否かを示すポリシ情報が付与されており、
前記判定手段は、前記ポリシ情報に、前記処理結果データの集約を必要としない旨が設定されている場合に、前記処理結果データを集約するか否かを前記コスト計算結果に基づいて判定する、
ことを特徴とする付記7又は8に記載のプログラム。
10 分散データベース管理システム
11 ロードバランサ
20A〜20C クエリサーバ
21A〜21C クエリ解析部
22〜22 データサーバ
24 ルータ(送信情報制御装置)
25〜25 ストレージ処理部
30 管理サーバ
241 ルーティングテーブル
242 クエリ配送部
243 資源情報テーブル
244 回答受付部
245 集約実行部
246 データ送信部
250 キュー部
251 データ操作部
252 クエリ解析部
253 トランザクション実行部
254 内部クエリ発行部
255 ストレージ装置

Claims (9)

  1. 分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおいて用いられる送信情報制御装置であって、
    データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段と、
    前記ストレージ処理部からの処理結果データを取得する処理結果取得手段と、
    前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算するコスト計算手段と、
    前記ストレージ処理部から取得した各処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定する判定手段と、
    前記ストレージ処理部から取得した各処理結果データを集約すると判定した場合、当該各処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した各処理結果データを集約しないと判定した場合、当該各処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段と、
    を備えることを特徴とする送信情報制御装置。
  2. 前記コスト計算手段は、前記処理結果データを処理要求元へ送信する際にかかる時間を前記コストとして、データの集約を行う場合と行わない場合についてそれぞれ計算し、
    前記判定手段は、データの集約を行う場合のコストの方がデータの集約を行わない場合のコストより小さい場合にはデータの集約を行うと判定し、データの集約を行わない場合のコストの方がデータの集約を行う場合のコストより小さい場合にはデータの集約を行わないと判定する、
    ことを特徴とする請求項1に記載の送信制御装置。
  3. 前記処理要求には、前記処理結果データの集約を必要とするか否かを示すポリシ情報が付与されており、
    前記判定手段は、前記ポリシ情報に、前記処理結果データを集約してもよい旨が設定されている場合に、前記処理結果データを集約するか否かを前記コスト計算結果に基づいて判定する、
    ことを特徴とする請求項1又は2に記載の送信情報制御装置。
  4. 分散データベースを構成する複数のストレージ処理部を備える分散データベースシステムにおける送信情報制御方法であって、
    データベース処理要求を受信して、該当するストレージ処理部に供給し、
    前記ストレージ処理部からの処理結果データを取得し、
    前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算し
    前記ストレージ処理部から取得した処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定し、
    前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する、
    ことを特徴とする送信情報制御方法。
  5. 前記処理結果データを処理要求元へ送信する際にかかる時間を前記コストとして、データの集約を行う場合と行わない場合についてそれぞれ計算し、
    データの集約を行う場合のコストの方がデータの集約を行わない場合のコストより小さい場合にはデータの集約を行うと判定し、データの集約を行わない場合のコストの方がデータの集約を行う場合のコストより小さい場合にはデータの集約を行わないと判定する、
    ことを特徴とする請求項4に記載の送信制御方法。
  6. 前記データベース処理要求は、前記処理結果データの集約を必要とするか否かを示すポリシ情報が処理要求元により付与されており、
    前記コスト計算結果に基づく判定は、前記ポリシ情報に、前記処理結果データを集約してもよい旨が設定されている場合に行う、
    ことを特徴とする請求項4又は5に記載の送信情報制御方法。
  7. コンピュータを、
    データベース処理要求を受信し、該当するストレージ処理部に供給する処理要求供給手段、
    前記ストレージ処理部からの処理結果データを取得する処理結果取得手段、
    前記処理結果データを処理要求元へ送信する際のコストを、データの集約を行う場合と行わない場合についてそれぞれ計算するコスト計算手段、
    前記ストレージ処理部から取得した処理結果データを集約するか否かを、データの集約を行う場合と行わない場合のコスト計算結果の比較結果に基づいて判定する判定手段、
    前記ストレージ処理部から取得した処理結果データを集約すると判定した場合、当該処理結果データを集約して処理要求元に送信し、前記ストレージ処理部から取得した処理結果データを集約しないと判定した場合、当該処理結果データを集約せずに処理要求元に送信する処理結果データ送信手段、
    として機能させるためのプログラム。
  8. 前記コスト計算手段は、前記処理結果データを処理要求元へ送信する際にかかる時間を前記コストとして、データの集約を行う場合と行わない場合についてそれぞれ計算し、
    前記判定手段は、データの集約を行う場合のコストの方がデータの集約を行わない場合のコストより小さい場合にはデータの集約を行うと判定し、データの集約を行わない場合のコストの方がデータの集約を行う場合のコストより小さい場合にはデータの集約を行わないと判定する、
    ことを特徴とする請求項7に記載のプログラム。
  9. 前記処理要求には、前記処理結果データの集約を必要とするか否かを示すポリシ情報が付与されており、
    前記判定手段は、前記ポリシ情報に、前記処理結果データを集約してもよい旨が設定されている場合に、前記処理結果データを集約するか否かを前記コスト計算結果に基づいて判定する、
    ことを特徴とする請求項7又は8に記載のプログラム。
JP2010050042A 2010-03-08 2010-03-08 送信情報制御装置、方法及びプログラム Expired - Fee Related JP5594460B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010050042A JP5594460B2 (ja) 2010-03-08 2010-03-08 送信情報制御装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010050042A JP5594460B2 (ja) 2010-03-08 2010-03-08 送信情報制御装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011186695A JP2011186695A (ja) 2011-09-22
JP5594460B2 true JP5594460B2 (ja) 2014-09-24

Family

ID=44792897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010050042A Expired - Fee Related JP5594460B2 (ja) 2010-03-08 2010-03-08 送信情報制御装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5594460B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342557B2 (en) * 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
JP7485934B2 (ja) * 2020-06-30 2024-05-17 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5596744A (en) * 1993-05-20 1997-01-21 Hughes Aircraft Company Apparatus and method for providing users with transparent integrated access to heterogeneous database management systems
EP1640873A4 (en) * 2003-06-27 2008-03-05 Fujitsu Ltd STORAGE CAPABILITY MANAGEMENT METHOD, ASSOCIATED SERVER, AND RECORDING MEDIUM
JP5383061B2 (ja) * 2008-02-28 2014-01-08 三菱電機株式会社 データ処理装置及び通信システム及びデータ処理方法及びプログラム

Also Published As

Publication number Publication date
JP2011186695A (ja) 2011-09-22

Similar Documents

Publication Publication Date Title
US12032573B2 (en) Structured cluster execution for data streams
JP5719323B2 (ja) 分散処理システム、ディスパッチャおよび分散処理管理装置
CN104885078B (zh) 用于大规模并行处理数据库集群中的两阶段查询优化的方法
US20180276274A1 (en) Parallel processing database system with a shared metadata store
US10223437B2 (en) Adaptive data repartitioning and adaptive data replication
CN109933631A (zh) 基于Infiniband网络的分布式并行数据库系统及数据处理方法
CN105045871B (zh) 数据聚合查询方法及装置
US20070038658A1 (en) Communication optimization for parallel execution of user-defined table functions
CN106708917B (zh) 一种数据处理方法、装置以及olap系统
CN107077513B (zh) 用于数据的高效重新分区的通信
US20110307470A1 (en) Distributed database management system and distributed database management method
JP5730386B2 (ja) 計算機システム及び並列分散処理方法
CN101916280A (zh) 并行计算系统及按查询内容进行负载均衡的方法
CN112199427A (zh) 一种数据处理方法和系统
EP3172682B1 (en) Distributing and processing streams over one or more networks for on-the-fly schema evolution
Shao et al. Page: a partition aware engine for parallel graph computation
US20140379691A1 (en) Database query processing with reduce function configuration
CN103886508A (zh) 海量农田数据的监控方法和系统
CN102054000A (zh) 数据查询方法、装置及系统
CN106471501A (zh) 数据查询的方法、数据对象的存储方法和数据系统
Ji et al. Wide area analytics for geographically distributed datacenters
JP2016526719A (ja) 時間調整を使用したストリームデータ処理方法
US20240095280A1 (en) Graph operations engine for tenant management in a multi-tenant system
Theeten et al. Chive: Bandwidth optimized continuous querying in distributed clouds
JP5594460B2 (ja) 送信情報制御装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140108

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140307

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: 20140709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140722

R150 Certificate of patent or registration of utility model

Ref document number: 5594460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees