JP4675174B2 - データベース処理方法、システム及びプログラム - Google Patents

データベース処理方法、システム及びプログラム Download PDF

Info

Publication number
JP4675174B2
JP4675174B2 JP2005203138A JP2005203138A JP4675174B2 JP 4675174 B2 JP4675174 B2 JP 4675174B2 JP 2005203138 A JP2005203138 A JP 2005203138A JP 2005203138 A JP2005203138 A JP 2005203138A JP 4675174 B2 JP4675174 B2 JP 4675174B2
Authority
JP
Japan
Prior art keywords
processing
database
information processing
information
request
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
JP2005203138A
Other languages
English (en)
Other versions
JP2007025785A (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.)
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 JP2005203138A priority Critical patent/JP4675174B2/ja
Priority to US11/415,240 priority patent/US7853570B2/en
Publication of JP2007025785A publication Critical patent/JP2007025785A/ja
Application granted granted Critical
Publication of JP4675174B2 publication Critical patent/JP4675174B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Description

本発明はデータベースを複数に分割した各分割データベースに対してサーバを関連付けてデータ処理を行うデータベース処理技術に関し、特に分割データベースのそれぞれにマスタデータを格納・保持してデータベース処理を行うデータベース処理技術に適用して有効な技術に関するものである。
大規模DB及び高負荷な処理要求に対応する為に、データベースの処理負荷を複数のプロセッサに分散させ並列に実行するアーキテクチャが開示されている(例えば非特許文献1参照)。上記従来技術のShared everything, Shared disk(共用型)アーキテクチャでは、DB処理を実行する全ての計算機が全てのデータをアクセスすることが可能であり、Shared nothing(非共用型)アーキテクチャでは、自計算機に接続されたディスクに格納されたデータのみをアクセスすることが可能である。
Shared nothing(非共用型)アーキテクチャは、共用型アーキテクチャにくらべ、DB処理を実行する構成単位の間での共有リソースが少なく、スケーラビリティの点で非常に優れている。
David J. DeWitt and Jim Gray, "Parallel Database Systems: The Future of High Performance Database Systems", COMMUNICATIONS OF THE ACM, Vol.36, No.6, 1992, P.85-P.98
しかしながら、データベースを分割し(分割DBと呼ぶ)、その各々の分割DBへのアクセスの為に専用サーバを割り当て、ユーザからのDBアクセス要求をそれらの複数の専用サーバで並列処理することにより高速アクセスとスケーラビリティを実現するシェアドナッシング型アーキテクチャの並列RDBMSにおいて、専用サーバそれぞれに関連付けられたUAP(ユーザアプリケーションプログラム)が共通に参照する様なマスタデータは、アクセスが集中してシステム全体のボトルネックとなってしまう。ここで言う専用サーバとは、ハードウェアとしてのサーバマシンとは限らず、データベース管理システムを構成する1コンポーネントを示すこともある。以降この専用サーバを単に"サーバ"若しくは“バックエンドサーバ(BES)”と呼ぶことにする。
このマスタデータへのアクセス集中を回避する為の一つの方法として、上記分割DBのそれぞれにマスタデータを格納・保持する方法が挙げられる。しかし、この方法にはマスタデータへの更新が頻繁に発生する場合に以下の様な可用性の問題が存在する。具体的には、ある一つのBES若しくはBESを配置したサーバマシンに障害が発生した場合には、このマスタデータに対する更新処理はエラーとなり、結果として障害が発生しているBES以外のBESに関連付けられたマスタデータに対する更新も滞り、当該マスタデータを参照している全ての業務が実質的にサービス停止となってしまう。すなわち、ある一つのBESの障害がシステム全体に影響を与えてしまうこととなる。
本発明の目的は上記問題を解決し、ある情報処理装置に障害が発生した場合でも、その影響を局所化してシステム全体に与える影響を最小限にすることが可能な技術を提供することにある。
本発明は、データベースを複数に分割した各分割データベースに対して情報処理装置を関連付けてデータ処理を行うデータベース処理システムにおいて、サービス可能状態の情報処理装置を処理要求先として決定して処理要求を行うものである。
前記課題を解決するため、本発明のデータベース処理システムでは、データベースを複数に分割した各分割データベースに対して情報処理装置であるDBアクセスサーバ(BES)を関連付けてデータ処理を行う際に、AP(アプリケーションプログラム)からの問合せを処理要求受付サーバ(フロントエンドサーバ:FES)で受け取り、そのAPがDB処理サービス適用かどうか、すなわちBESのサービス可能状態により処理制御されるものであるかを判定し、そのAPがDB処理サービス適用である場合には、各BESがサービス可能状態であるかどうかを示すDB処理サービス状況を取得し、サービス中("Available")のBESのみを処理要求先として決定して、その決定したBESに前記問合せに対応する処理(DBアクセス)要求を送信する。
前記処理要求を受信したBESでは、その受信した処理要求に従ってデータベース上のデータを処理し、その処理結果を当該処理要求の送信元のFESへ送信する。FESでは、処理要求を行ったBESからの結果を受け取り、全てのDBアクセスの結果が正常終了の場合に問合せ結果を正常終了としてAPに返す。
なお、本発明のサービスとは、プログラムやオブジェクトの実行により実現される機能を指し、またFESやBESは、計算機等のハードウェアや、またはその様な処理を実施するプログラムやオブジェクトでも良い。
本発明によれば、ある情報処理装置に障害が発生した場合でも、その影響を局所化してシステム全体に与える影響を最小限にすることが可能である。
以下にデータベースを複数に分割した各分割データベースに対してBESを関連付けてデータ処理を行う一実施形態のデータベース処理システムについて説明する。
図1は本実施形態のデータベース処理システムの概念を示す図である。本実施形態のデータベース処理システムは、先に説明したデータベース管理システムのコンポーネントとして、処理要求受付サーバ(FES)10(FES:Front End Server)及びDBアクセスサーバ(BES)20(BES:Back End Server)を具備する。
処理要求受付サーバ(FES)10は、ユーザアプリケーションプログラム6(名称:MSTUP)からのユーザ問合せ50を受け付け、それを解析し、DBアクセス要求を生成し、DBアクセスサーバへDBアクセス要求を行う。そしてDBアクセスの結果を必要に応じてユーザアプリケーションプログラム6に返す。DBアクセスサーバ(BES)20は、処理要求受付サーバ(FES)10からのDBアクセス要求を受け取り、要求に従ってDB格納領域上のデータを操作し、必要に応じて結果を処理要求受付サーバ(FES)10に返す。処理要求受付サーバ(FES)10及びDBアクセスサーバ(BES)20ともに1プロセス若しくは複数のプロセスによって実現される。
本実施形態のデータベース管理システムのアーキテクチャは、Shared nothing(非共用型)アーキテクチャであり、本システムが管理するデータベース(例えばテーブル、インデクス)は、さまざまな手法により複数の分割テーブル及び分割インデクスに分割され、複数のDB格納領域に分散格納される。あるDB格納領域は決まったDBアクセスサーバに対応付けられており、DBアクセスサーバは、そのDBアクセスサーバに対応付けられたDB格納領域内のデータ(例えばテーブルデータ、インデクスデータ)のみをアクセスする。
図1の例では、通常、BES1は、DB格納領域1へのアクセス要求のみを、BES2は、DB格納領域2へのアクセス要求のみを処理する。BES1及びBES2は同じDB格納領域をアクセスすることはない。
図1の例では、UAPが共通データとして参照する為の「マスタ表」が複数の分割テーブル62(分割マスタ表1、分割マスタ表2、分割マスタ表3、分割マスタ表4)に分割され、その各々にマスタデータが格納されて、各々のDBアクセスサーバ(BES)20(BES1、BES2、BES3、BES4)を経由してデータベースをアクセスするUAPにより参照される。すなわち、BES1をアクセスするUAPは常に分割マスタ表1のマスタデータを、BES2をアクセスするUAPは常に分割マスタ表2のマスタデータを、BES3をアクセスするUAPは常に分割マスタ表3のマスタデータを、そしてBES4をアクセスするUAPは常に分割マスタ表4のマスタデータを参照する。分割マスタ表に格納されたマスタデータは、別のユーザアプリケーションプログラム6(MSTUP)によって適時最新の値に更新される。マスタデータを更新する為のユーザ問合せ50は例えば次の様なSQL文で実現する。
UPDATE T1 SET C2=5000 WHERE C1=2
通常は、本ユーザ問合せ50は処理要求受付サーバ(FES)10により受け付けられ、処理(DBアクセス)要求30として、マスタデータが格納された全分割マスタ表に関連付けられたDBアクセスサーバ(BES)20(BES1、BES2、BES3、BES4)に制御が渡る。DBアクセス要求30を受け取った各DBアクセスサーバ(BES)20は、関連付いた分割マスタ表に格納された該当マスタデータを更新(DBアクセス処理)する。そして実行結果を処理要求受付サーバ(FES)10へ送る。各BESからの実行結果を受け取った処理要求受付サーバ(FES)10はBESからの全実行結果が正常であることをもって、UAPからの問合せ要求の結果を正常としてUAPへ返す。
ここで、DBアクセスサーバBES1が何らかの要因(マシンのハードウェア障害等)にて停止中であるとする。その場合、マスタデータ更新である本ユーザ問合せ50を受け取った処理要求受付サーバ(FES)10は、まず、本ユーザ問合せ50の要求元であるUAPが「DB処理サービス適用」であるかどうかを、DB処理サービス適用APテーブル400を参照して判定する。この「DB処理サービス適用」は、DBアクセスサーバ障害の場合等、停止対象のDBアクセスサーバのサービスが論理的に停止状態かどうかを意識して処理制御を行うことを示す。ここでは、要求元UAPである"MSTUP"が「DB処理サービス適用」であり、その場合に次のステップとしてDB処理サービス状況を、DB処理サービス状況テーブル500を参照して取得する。ここではBES1は障害中であり"Unavailable"な状態である。BES2、BES3、及びBES4は、稼動中であり"Available"な状態である。この"Unavailable"/"Available"を管理するDB処理サービス状況テーブル500は、一般にはFESがアクセス可能なメモリ上に配置され、BESに障害が発生した場合に自動的に更新される。若しくは、データベース管理者等によりDBMS(データベース管理システム)が提供するユティリティやコマンド等を経由して更新される。
"Unavailable"な状態のBESが存在しない場合、BES1からBES4の全てのBESに対して処理(DBアクセス)要求を送信する。ここで"Unavailable"な状態のBESが存在する場合には、その情報を先に取得しておいて"Available"なBESのみを処理要求先として決定する。すなわち、更新処理のトランザクションを構成するBESを変更(縮小)する。本例では、BES2、BES3、BES4がトランザクションを構成するBESとして決定される。処理要求は、先に更新処理を構成するBESとして決定されたBESに対して送信され、本BESからの結果が全て正常である場合に更新結果を正常として要求元UAP6に返す。すなわち、本例ではBES1はトランザクションを構成する要素からは外される。以上の結果より、例えBES1が障害中の場合であっても、マスタデータの更新処理は滞りなく実行され、BES1の障害の影響をBES2、BES3、BES4は受けずに済む。すなわちシステムにBES1の障害が与える影響を最小限に抑えることができる。
図2は本実施形態のデータベース処理システムの概略構成を示す図である。図2に示す様に本実施形態のデータベース処理システムには、ユーザが作成したアプリケーションプログラム6と、問い合わせやリソース管理等のデータベースシステム全体の管理を行うデータベース管理システム2がある。
上記のデータベース管理システム2は、処理要求受付サーバ(FES)10、DBアクセスサーバ(BES)20を具備する。また、データベース管理システム2は、データベースアクセス対象となるデータを永続的に或いは一時的に格納するデータベース3、そしてDB処理サービス適用APテーブル400及びDB処理サービス関連テーブル600を有する。
処理要求受付サーバ(FES)10は、アプリケーションプログラム6から投入される問合せを受け付けて解析し、DBアクセス要求を生成し、DBアクセスサーバ(BES)20へDBアクセス要求を行う。そしてDBアクセスの結果を必要に応じてアプリケーションプログラム6に返す。DBアクセスサーバ(BES)20は、処理要求受付サーバ(FES)10からのDBアクセス要求を受け取り、要求に従って外部記憶装置上に記憶されるデータベース3をアクセスする。
上記データベース管理システム2はネットワーク等を介して他のシステムと接続されている。また、処理要求受付サーバ(FES)10及びDBアクセスサーバ(BES)20は必ずしも同一の情報処理装置上に配置される必要はない。それぞれ別々の情報処理装置上に配置され、ネットワーク等を介して1つのデータベース管理システムとして機能すれば良い。また、1つのデータベース管理システムは複数のFESを配置することにより多量のユーザからの要求の負荷を分散させることができる。また、複数のBESを有することによりデータ処理の並列度が高まり、大規模なデータベースに対するデータ処理も高速に実現することができる。
上記処理要求受付サーバ(FES)10は、問合せの構文解析・意味解析を行い、適切な処理手順を決定し、その処理手順に対応したコードを生成し、DBアクセスサーバ(BES)20に対してDBアクセス要求を行う処理要求制御部211を具備している。また、上記処理要求受付サーバ(FES)10の処理要求制御部211では、DBアクセス要求を行う前に要求先DBアクセスサーバのDB処理サービスの状況を判定し、状況に応じて処理要求先を選定する。
上記DBアクセスサーバ(BES)20は、処理要求受付サーバ(FES)10から受け取ったDBアクセス要求(生成したコード)に従ってデータベース3上のデータのアクセス制御等を行うデータ処理制御部221を具備している。
図3は本実施形態のコンピュータシステムのハードウェア構成の一例を示す図である。この例のコンピュータシステムは、情報処理装置3000、3100及び3200を含んでいる。
情報処理装置3000は、CPU3002、主記憶装置3001、通信制御装置3003、I/O制御装置3004及び端末3006により構成される。主記憶装置3001上には、アプリケーションプログラム3008が置かれ、CPU3002を用いて稼動している。アプリケーションプログラム3008がデータベース管理システム2の処理要求受付サーバ(FES)10にユーザ問合せ50を行うと、情報処理装置3000の通信制御装置3003と情報処理装置3100の通信制御装置3003によって、ネットワーク3007を経由して処理要求受付サーバ(FES)10に問合せ要求が送られる。
情報処理装置3100は、CPU3002、主記憶装置3001、通信制御装置3003、I/O制御装置3004、磁気ディスク装置等の外部記憶装置3005及び端末3006により構成される。情報処理装置3100の主記憶装置3001上には、図2を用いて先に説明した処理要求受付サーバ(FES)10を有するデータベース管理システム2が置かれ、CPU3002を用いて稼動している。外部記憶装置3005上にはデータベース管理システム2が管理するデータベース3が格納される。また、データベース管理システム2を実現するプログラム3300も外部記憶装置3005上に格納される。処理要求受付サーバ(FES)10は、I/O制御装置3004により外部記憶装置3005からデータの読み出し/書き込みを行い、通信制御装置3003によりネットワーク3007で接続された他の情報処理装置とデータの送受信を行う。
情報処理装置3200は、CPU3002、主記憶装置3001、通信制御装置3003、I/O制御装置3004、磁気ディスク装置等の外部記憶装置3005及び端末3006により構成される。情報処理装置3200の主記憶装置3001上には、図2を用いて先に説明したDBアクセスサーバ(BES)20を有するデータベース管理システム2が置かれ、CPU3002を用いて稼動している。外部記憶装置3005上にはデータベース管理システム2が管理するデータベース3が格納される。また、データベース管理システム2を実現するプログラム3300も外部記憶装置3005上に格納される。DBアクセスサーバ(BES)20は、I/O制御装置3004により外部記憶装置3005からデータの読み出し/書き込みを行い、通信制御装置3003によりネットワーク3007で接続された他の情報処理装置とデータの送受信を行う。
図4は本実施形態のDB処理サービス適用APテーブル400の一例を示す図である。図4に示す様にDB処理サービス適用APテーブル400のエントリ401〜403は、BESに障害が発生した際にDB処理サービスを停止中状態("Unavailable")として認識し、処理制御させる様に宣言したAPの名称を含んでいる。
例えば図1における例として、エントリ401にAP"MSTUP"が登録されている。本テーブルエントリへのAP名称の登録は、APが動作する前に予めDB管理者等のユーザがDBMS提供の手段により実施する。また、APがDBMSに最初に問合せを行う際に動的に登録することも可能である。
図5は本実施形態のDB処理サービス状況テーブル500の一例を示す図である。図5に示す様にDB処理サービス状況テーブル500の個々のエントリ501〜504は、対応するBESがDB処理サービスを提供中が停止中かを示す情報を含んでいる。本例では、提供中の状態を"Available"で、停止中の状態を"Unavailable"で示している。
本DB処理サービスの提供中/停止中とは、実施のBESがマシン障害等でDB処理が可能かどうかとは独立した概念的なものである。具体的には、図5の例ではBES1(501)及びBES2(502)が停止中(Unavailable)、BES3(503)及びBES4(504)が提供中(Available)となっているが、図1の例において実際にマシン障害が発生しDB処理を行うことができないのはBES1のみであり、BES2ではDB処理が可能である。停止状態のBES1及びBES2を停止中と認識するのは図4のDB処理サービス適用テーブルに登録されたAPのみである。すなわち、AP"MSTUP"からの問合せはBES1及びBES2はサービス停止状態としてDBMS内で処理させる。処理制御に関しては、図7を用いて後記する。
図6は本実施形態のDB処理サービス関連テーブル600の一例を示す図である。図6に示す様にDB処理サービス関連テーブル600の各エントリは、サーバマシン障害等に伴いDB処理サービス停止状態とするBESに関連して停止状態とするBESの名称を含んでいる。例えば、エントリ601はBES1を停止状態とする際に、それと連動してBES2も停止状態にすることを示している。エントリ604及びエントリ605で、BES4を停止状態とする際には、BES2及びBES3の2つのBESのDB処理サービスを停止状態にすることを示している。
本テーブルへのエントリ登録は、まずはデータベースシステム構築時にDB管理者等のユーザによって行われる。
図7は本実施形態の処理要求制御部211の処理手順を示すフローチャートである。図7に示す様に処理要求受付サーバ(FES)10の処理要求制御部211では、まずUAP6からのユーザ問合せ50を通信制御装置3003により受け取る(ステップ701)。
次に受け取った問合せ要求を解析して処理要求先候補を決定する(ステップ702)。要求先候補は、一般にDBMSが管理するディクショナリ情報を参照して決定する。そして、DBアクセスサーバ(BES)20のサービス可能状態により処理制御されるAPを示すDB処理サービス適用APテーブル400をサーチし(ステップ703)、当該APに関連するテーブルエントリが見つかったかどうかを判断する(ステップ704)。テーブルエントリが見つからなかった場合にはステップ709に進み、全ての処理要求先候補を取得してDBアクセス要求先として決定する。またUAP6に関連するテーブルエントリが見つかった場合には、ステップ705に進み、処理要求先候補を取得してメモリに格納する。
次に、取得した候補であるBESの名称をキーとしてDB処理サービス状況テーブル500をサーチし(ステップ706)、当該BESに関連するテーブルエントリのサービス状況は"Available"かを判定する(ステップ707)。サービス状況が"Available"の場合には、ステップ708に進み、当該BESをDBアクセス要求先に決定し、DBアクセス要求を決定したBESへ送信する(ステップ710)。ステップ707でサービス状況が"Available"ではない、すなわち"Unavailable"の場合、当該BESをDBアクセス要求先には決定せず、これまで決定したDBアクセス要求先のBESへDBアクセス要求を送信する(ステップ710)。
FESからDBアクセス要求を受信したデータ処理制御部221では、その受け取ったDBアクセス要求に従ってデータベース3上のデータのアクセス制御等を行い、DBアクセス結果をFESへ送信する。
図8は本実施形態の処理要求制御部211の処理の続きを示す図である。その後、ステップ711では、送信したBESからのDBアクセス結果を受け取り、DBアクセス結果が全て正常終了かを判定する(ステップ712)。DBアクセス結果が全て正常終了の場合、問合せ結果を正常終了としてAPに返す(ステップ713)。DBアクセス結果にエラー終了が含まれていた場合、ステップ714に進み、正常終了を返したBESに対して取り消し処理(ロールバック)を要求する。その後、問合せ結果をエラー終了としてAPに返す(ステップ715)。
図9は本実施形態のBES障害時の対処の処理手順を示すフローチャートである。BESを配置及び稼動しているサーバマシンのハードウェア障害等で、そのBESでのDB処理が実行できなくなってしまった場合に、DBMSが提供するユティリティをユーザ若しくはDBMS外の運用管理プログラムにより実行することにより、本対処が実施される。
本対処により、DB処理が実行できなくなってしまったBES及びそれに関連するBESのDB処理サービスを概念的に停止状態に変更し、図4に記載のDB処理サービス適用APテーブル400に登録されたAPの実行制御をDBMSが行う。
本対処のステップとしては、まず本対処を実現するユティリティに指定されたBES名称を用いてDB処理サービス関連テーブル600のエントリを特定し、そのエントリに含まれる「関連サービス(BES)」を取得する(ステップ801)。次に、前記取得した「関連サービス(BES)」に関連するDB処理サービス状況テーブル500のエントリを特定し、そのエントリの「サービス状況」を"Unavailable"に変更する(ステップ802)。
先の図1を用いて説明した例では、BES1を配置しているサーバマシンに障害が発生した際に、本対処によりBES1及びBES2をDB処理サービス停止状態に変更している。
以上、図7乃至図9で示したフローチャートの処理は、図3で例として示したコンピュータシステムにおけるプログラムとして実行される。しかし、そのプログラムは図3の例の様にコンピュータシステムに物理的に直接接続される外部記憶装置に格納されるものと限定はしない。ハードディスク装置、フレキシブルディスク装置等のコンピュータで読み書きできる記憶媒体にそのプログラムを格納することができる。また、ネットワークを介して図3のコンピュータシステムを構成する情報処理装置とは別の情報処理装置に接続される外部記憶装置にそのプログラムを格納することもできる。
以上説明した様に本実施形態のデータベース処理システムによれば、サービス可能状態の情報処理装置を処理要求先として決定して処理要求を行うので、ある情報処理装置に障害が発生した場合でも、その影響を局所化してシステム全体に与える影響を最小限にすることが可能である。
本実施形態のデータベース処理システムの概念を示す図である。 本実施形態のデータベース処理システムの概略構成を示す図である。 本実施形態のコンピュータシステムのハードウェア構成の一例を示す図である。 本実施形態のDB処理サービス適用APテーブル400の一例を示す図である。 本実施形態のDB処理サービス状況テーブル500の一例を示す図である。 本実施形態のDB処理サービス関連テーブル600の一例を示す図である。 本実施形態の処理要求制御部211の処理手順を示すフローチャートである。 本実施形態の処理要求制御部211の処理の続きを示す図である。 本実施形態のBES障害時の対処の処理手順を示すフローチャートである。
符号の説明
6…ユーザアプリケーションプログラム、10…処理要求受付サーバ(FES)、20…DBアクセスサーバ(BES)、30…処理(DBアクセス)要求、50…ユーザ問合せ、60…分割マスタ表、61…DB格納領域、62…分割テーブル、400…DB処理サービス適用APテーブル、500…DB処理サービス状況テーブル、2…データベース管理システム、3…データベース、4…テーブル、211…処理要求制御部、221…データ処理制御部、600…DB処理サービス関連テーブル、3000、3100及び3200…情報処理装置、3001…主記憶装置、3002…CPU、3003…通信制御装置、3004…I/O制御装置、3005…外部記憶装置、3006…端末、3007…ネットワーク、3008…アプリケーションプログラム、3300…プログラム、401〜403…エントリ、501〜504…エントリ、601〜605…エントリ。

Claims (7)

  1. データベースを複数に分割した各分割データベースに対して情報処理装置を関連付けてデータ処理を行うデータベース処理システムにおけるデータベース処理方法において、
    前記データベース処理システムは処理要求制御部とデータ処理制御部を備え、
    前記処理要求制御部が、データベースへの問合せを通信装置により受信した際に、各情報処理装置がサービス可能状態であるかどうかを示すDB処理サービス状況テーブルを記憶装置から読み出して、前記受信した問合せを処理する情報処理装置の内で前記DB処理サービス状況テーブルにおいてサービス可能状態であるものを処理要求先として決定し、その決定した処理要求先の情報処理装置に対して前記問合せに対応する処理要求を通信装置により送信する第1のステップと、
    前記データ処理制御部が、前記処理要求を通信装置により受信して、その受信した処理要求に従ってデータベース上のデータを処理し、その処理結果を通信装置により当該処理要求の送信元へ送信する第2のステップと、
    前記処理要求制御部が、前記処理要求を送信した全ての情報処理装置から処理結果を通信装置により受信し、それらの処理結果が正常終了を示している場合に、前記問合せの結果を示す問合せ結果を正常終了としてその問合せの送信元へ通信装置により送信する第3のステップと、
    前記データベース処理システムが、情報処理装置で障害が発生した場合に、その情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納する第4のステップと、
    前記データベース処理システムが、ある情報処理装置のサービス停止状態に関連してサービス停止状態となる情報処理装置を示すDB処理サービス関連テーブルを記憶装置から読み出して、前記障害の発生した情報処理装置と関連する情報処理装置の情報を前記DB処理サービス関連テーブルから取得し、その関連する情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納する第5のステップとを有することを特徴とするデータベース処理方法。
  2. 前記処理要求制御部は、前記第1のステップにおいて、データベースへの問合せを通信装置により受信した際に、前記情報処理装置のサービス可能状態により処理制御されるアプリケーションプログラムを示すDB処理サービス適用APテーブルを記憶装置から読み出して、前記問合せを送信したアプリケーションプログラムが前記DB処理サービス適用APテーブル中に示されたものである場合に、前記サービス可能状態による処理要求先の決定を行うことを特徴とする請求項1に記載されたデータベース処理方法。
  3. 前記処理要求制御部は、前記問合せを送信したアプリケーションプログラムが前記DB処理サービス適用APテーブル中に示されたものでない場合に、全ての情報処理装置を処理要求先として決定することを特徴とする請求項2に記載されたデータベース処理方法。
  4. 前記処理要求制御部は、前記第3のステップにおいて、前記受信した処理結果中にエラー終了を示すものが含まれている場合に、正常終了を示す処理結果を送信した情報処理装置に対して、当該処理を取り消す取り消し処理要求を通信装置により送信し、前記問合せ結果をエラー終了としてその問合せの送信元へ通信装置により送信することを特徴とする請求項1乃至請求項3のいずれか1項に記載されたデータベース処理方法。
  5. 前記処理要求制御部は、前記第1のステップにおいて、各情報処理装置に関連付けられた分割データベース中のマスタデータの更新を行う為の問合せを通信装置により受信した場合に、それらの情報処理装置の内でサービス可能状態であるものをマスタデータ更新の処理要求先として決定することを特徴とする請求項1乃至請求項4のいずれか1項に記載されたデータベース処理方法。
  6. データベースを複数に分割した各分割データベースに対して情報処理装置を関連付けてデータ処理を行うデータベース処理システムにおいて、
    データベースへの問合せを通信装置により受信した際に、各情報処理装置がサービス可能状態であるかどうかを示すDB処理サービス状況テーブルを記憶装置から読み出して、前記受信した問合せを処理する情報処理装置の内で前記DB処理サービス状況テーブルにおいてサービス可能状態であるものを処理要求先として決定し、その決定した処理要求先の情報処理装置に対して前記問合せに対応する処理要求を通信装置により送信し、前記処理要求を送信した全ての情報処理装置から処理結果を通信装置により受信し、それらの処理結果が正常終了を示している場合に、前記問合せの結果を示す問合せ結果を正常終了としてその問合せの送信元へ通信装置により送信する処理要求制御部と、
    前記処理要求を通信装置により受信して、その受信した処理要求に従ってデータベース上のデータを処理し、その処理結果を通信装置により当該処理要求の送信元へ送信するデータ処理制御部とを備え、
    情報処理装置で障害が発生した場合に、その情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納し、
    ある情報処理装置のサービス停止状態に関連してサービス停止状態となる情報処理装置を示すDB処理サービス関連テーブルを記憶装置から読み出して、前記障害の発生した情報処理装置と関連する情報処理装置の情報を前記DB処理サービス関連テーブルから取得し、その関連する情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納することを特徴とするデータベース処理システム。
  7. データベースを複数に分割した各分割データベースに対して情報処理装置を関連付けてデータ処理を行うデータベース処理システムにおけるデータベース処理方法をコンピュータに実行させる為のプログラムにおいて、
    前記データベース処理システムは処理要求制御部とデータ処理制御部を備え、
    前記処理要求制御部が、データベースへの問合せを通信装置により受信した際に、各情報処理装置がサービス可能状態であるかどうかを示すDB処理サービス状況テーブルを記憶装置から読み出して、前記受信した問合せを処理する情報処理装置の内で前記DB処理サービス状況テーブルにおいてサービス可能状態であるものを処理要求先として決定し、その決定した処理要求先の情報処理装置に対して前記問合せに対応する処理要求を通信装置により送信するステップと、
    前記データ処理制御部が、前記処理要求を通信装置により受信して、その受信した処理要求に従ってデータベース上のデータを処理し、その処理結果を通信装置により当該処理要求の送信元へ送信するステップと、
    前記処理要求制御部が、前記処理要求を送信した全ての情報処理装置から処理結果を通信装置により受信し、それらの処理結果が正常終了を示している場合に、前記問合せの結果を示す問合せ結果を正常終了としてその問合せの送信元へ通信装置により送信するステップと、
    前記データベース処理システムが、情報処理装置で障害が発生した場合に、その情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納するステップと、
    前記データベース処理システムが、ある情報処理装置のサービス停止状態に関連してサービス停止状態となる情報処理装置を示すDB処理サービス関連テーブルを記憶装置から読み出して、前記障害の発生した情報処理装置と関連する情報処理装置の情報を前記DB処理サービス関連テーブルから取得し、その関連する情報処理装置がサービス可能状態ではないことを示す情報を前記DB処理サービス状況テーブルに格納するステップとをコンピュータに実行させることを特徴とするプログラム。
JP2005203138A 2005-07-12 2005-07-12 データベース処理方法、システム及びプログラム Expired - Fee Related JP4675174B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005203138A JP4675174B2 (ja) 2005-07-12 2005-07-12 データベース処理方法、システム及びプログラム
US11/415,240 US7853570B2 (en) 2005-07-12 2006-05-02 Method and system for data processing with parallel database systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005203138A JP4675174B2 (ja) 2005-07-12 2005-07-12 データベース処理方法、システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2007025785A JP2007025785A (ja) 2007-02-01
JP4675174B2 true JP4675174B2 (ja) 2011-04-20

Family

ID=37662858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005203138A Expired - Fee Related JP4675174B2 (ja) 2005-07-12 2005-07-12 データベース処理方法、システム及びプログラム

Country Status (2)

Country Link
US (1) US7853570B2 (ja)
JP (1) JP4675174B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779016B2 (en) * 2006-09-14 2010-08-17 International Business Machines Corporation Parallel execution of operations for a partitioned binary radix tree on a parallel computer
US8656448B2 (en) * 2006-10-26 2014-02-18 International Business Machines Corporation Providing policy-based application services to an application running on a computing system
US8032899B2 (en) 2006-10-26 2011-10-04 International Business Machines Corporation Providing policy-based operating system services in a hypervisor on a computing system
US8713582B2 (en) * 2006-10-26 2014-04-29 International Business Machines Corporation Providing policy-based operating system services in an operating system on a computing system
US8296430B2 (en) * 2007-06-18 2012-10-23 International Business Machines Corporation Administering an epoch initiated for remote memory access
US7958274B2 (en) * 2007-06-18 2011-06-07 International Business Machines Corporation Heuristic status polling
US9065839B2 (en) * 2007-10-02 2015-06-23 International Business Machines Corporation Minimally buffered data transfers between nodes in a data communications network
US20090113308A1 (en) * 2007-10-26 2009-04-30 Gheorghe Almasi Administering Communications Schedules for Data Communications Among Compute Nodes in a Data Communications Network of a Parallel Computer
US7984450B2 (en) * 2007-11-28 2011-07-19 International Business Machines Corporation Dispatching packets on a global combining network of a parallel computer
US7895260B2 (en) * 2008-07-28 2011-02-22 International Business Machines Corporation Processing data access requests among a plurality of compute nodes
US8365186B2 (en) 2010-04-14 2013-01-29 International Business Machines Corporation Runtime optimization of an application executing on a parallel computer
US8504730B2 (en) 2010-07-30 2013-08-06 International Business Machines Corporation Administering connection identifiers for collective operations in a parallel computer
US8565120B2 (en) 2011-01-05 2013-10-22 International Business Machines Corporation Locality mapping in a distributed processing system
US9317637B2 (en) 2011-01-14 2016-04-19 International Business Machines Corporation Distributed hardware device simulation
US9298501B2 (en) * 2011-05-19 2016-03-29 Globalfoundries Inc. Concurrent management console operations
US8689228B2 (en) 2011-07-19 2014-04-01 International Business Machines Corporation Identifying data communications algorithms of all other tasks in a single collective operation in a distributed processing system
US9250948B2 (en) 2011-09-13 2016-02-02 International Business Machines Corporation Establishing a group of endpoints in a parallel computer
JP5867161B2 (ja) * 2012-02-29 2016-02-24 富士通株式会社 データアクセス制御装置、データアクセス制御方法およびプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236601A (ja) * 2001-02-09 2002-08-23 Nippon Telegr & Teleph Corp <Ntt> 特定モジュール故障時の分散データベースアクセス処理方法
JP2004318744A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd 高可用性を提供するデータベース処理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4769772A (en) * 1985-02-28 1988-09-06 Honeywell Bull, Inc. Automated query optimization method using both global and parallel local optimizations for materialization access planning for distributed databases
US5247664A (en) * 1991-03-28 1993-09-21 Amoco Corporation Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US6079000A (en) * 1997-12-30 2000-06-20 Unisys Corporation XPC backup for in-process audit
US6249801B1 (en) * 1998-07-15 2001-06-19 Radware Ltd. Load balancing
US6463439B1 (en) * 1999-07-15 2002-10-08 American Management Systems, Incorporated System for accessing database tables mapped into memory for high performance data retrieval
US6516325B1 (en) * 1999-11-16 2003-02-04 Novell, Inc. Virtual partition vector for a computer directory system
US20030158865A1 (en) * 2001-12-28 2003-08-21 Frank Renkes Managing multiple data stores
US7058958B1 (en) * 2002-04-23 2006-06-06 Microsoft Corporation Client programming model with abstraction
US7818349B2 (en) * 2004-02-21 2010-10-19 Datallegro, Inc. Ultra-shared-nothing parallel database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236601A (ja) * 2001-02-09 2002-08-23 Nippon Telegr & Teleph Corp <Ntt> 特定モジュール故障時の分散データベースアクセス処理方法
JP2004318744A (ja) * 2003-04-21 2004-11-11 Hitachi Ltd 高可用性を提供するデータベース処理方法

Also Published As

Publication number Publication date
US20070016589A1 (en) 2007-01-18
JP2007025785A (ja) 2007-02-01
US7853570B2 (en) 2010-12-14

Similar Documents

Publication Publication Date Title
JP4675174B2 (ja) データベース処理方法、システム及びプログラム
US10929428B1 (en) Adaptive database replication for database copies
US10642840B1 (en) Filtered hash table generation for performing hash joins
US20170337224A1 (en) Targeted Processing of Executable Requests Within A Hierarchically Indexed Distributed Database
US10891267B2 (en) Versioning of database partition maps
CN107787490B (zh) 分布式数据库网格中的直接连接功能
US11175832B2 (en) Thread groups for pluggable database connection consolidation in NUMA environment
US7409397B2 (en) Supporting replication among a plurality of file operation servers
US20070101341A1 (en) Event locality using queue services
US8224837B2 (en) Method and mechanism for supporting virtual content in performing file operations at a RDBMS
US11645281B1 (en) Caching query plans in database systems
JP2969627B2 (ja) 分散型データベースシステムの管理方法
JP2004318744A (ja) 高可用性を提供するデータベース処理方法
US11216421B2 (en) Extensible streams for operations on external systems
JP4572581B2 (ja) データベース処理方法およびシステム並びにその処理プログラム
US7536422B2 (en) Method for process substitution on a database management system
US11106667B1 (en) Transactional scanning of portions of a database
KR20170129540A (ko) 룰 관리 시스템 및 방법
Li Modernization of databases in the cloud era: Building databases that run like Legos
US11379463B1 (en) Atomic enforcement of cross-page data constraints in decoupled multi-writer databases
US11615083B1 (en) Storage level parallel query processing
US11947555B1 (en) Intelligent query routing across shards of scalable database tables
JP5071518B2 (ja) データベース処理方法、データベース処理システム及びデータベース管理プログラム
US20220027369A1 (en) Query-based routing of database requests
US20230376485A1 (en) Distributed query plan generation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101220

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

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

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

Free format text: PAYMENT UNTIL: 20140204

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees