(57)【要約】【課題】  あらゆるデータベース処理システムに対して、全体での処理の高速化を図ることができるデータベース検索システムを提供すること。【解決手段】  マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段１１と、グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段１３と、サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段１４と、を備えた。【選択図】図１
2006031631.tif 000002
【特許請求の範囲】
【請求項１】
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を備えたことを特徴とするデータベース処理システム。
【請求項２】
前記グループ化手段が、前記トランザクションデータの処理対象となる前記マスタデータベースに対する処理特性に応じてグループ化を行う、ことを特徴とする請求項１記載のデータベース処理システム。
【請求項３】
前記グループ化手段が、前記トランザクションデータ内に存在する前記マスタデータベースに対する検索キーに関連するデータに基づいてグループ化を行う、ことを特徴とする請求項１記載のデータベース処理システム。
【請求項４】
前記グループ化手段が、グループ化に用いる予め定められたルールを複数設定すると共に、これら複数のルールのうちの全部又は一部を利用することによってグループ数が予め定められた数値範囲になるようグループ化を行う、ことを特徴とする請求項１，２又は３記載のデータベース処理システム。
【請求項５】
所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うコンピュータに、
前記マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を実現するためのデータベース処理用プログラム。
【請求項６】
コンピュータを用いて、所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うデータベース処理方法であって、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化工程と、
グループ化された特定のグループにおけるトランザクションデータに基づいて前記マスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出工程と、
前記サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理工程と、
を有することを特徴とするデータベース処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データベース処理システムにかかり、特に、大量のトランザクションデータに対してデータベース照合等の検索処理を行って出力結果を得るバッチシステムやオンラインシステムなどのデータベース処理システムに関する。また、データベース処理方法及びデータベース処理用プログラムに関する。
【背景技術】
【０００２】
従来より、データベース処理において、その処理を高速化する技術開発が進められ、例えば以下の２つの技術が存在した。
【０００３】
まず、「キャッシュ技術」という技術は、一度アクセスされたデータベース上のデータをメモリ上に一定期間蓄え、次に同じデータがアクセスされたときにディスクアクセスを行わずメモリ上のデータにアクセスして処理を高速化するという技術である。しかし、かかるキャッシュ技術においては、一般的にコピーされるアクセス対象は物理ブロックであり、トランザクションデータのキー分布が広範囲に分布し、キャッシュ容量と比して分布が大きい場合には、キャッシュヒット率が低下する、という問題が生じる。
【０００４】
また、「事前ソート技術」という技術は、データベースアクセスを行うキー順にあらかじめトランザクションデータの並び替えを行い、トランザクションデータのキー値がブレイクするタイミングでのみＤＢアクセスを行うように業務ロジックを搭載し、処理を高速化するという技術である。しかし、かかる事前ソート技術においては、トランザクションデータの処理順序に意味があり、ソートが適さない処理には適用できないという問題が生じ、また、トランザクションデータ中のキー分布が広範でキー値の連続率が低い場合、ソートを行うことでシステム全体として結果的に処理時間が増大し逆効果となる場合があるという問題が生じる。さらに、事前にソートが可能なバッチ処理のみの適用となり汎用性に欠けるという問題や、業務ロジックにてブレイク処理の対応が必要となる、という問題も生じる。
【０００５】
また、下記の特許文献１には、利用者の指示情報に基づいて当該利用者が必要とする業務的な目的をもった特定のデータベースを作成し、かかるデータベースに対する処理を行うシステムが開示されている。しかし、かかる構成では、利用者が変われば目的とするデータベースも変わるため、新たに作成するデータベースに対する効果的な処理は期待できない、と言う問題が生じる。
【０００６】
【特許文献１】特開２００２−３６６４０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
以上より、上述した従来のデータベース検索システムでは、検索対象データの母体件数が多い場合には１件あたりの処理に時間がかかり、大量のトランザクションともなれば全体の処理時間がかかっていたため、キャッシュ技術などを用いて物理的に高速な装置を効果的に用いるなどの手法で対応を行ってきたが、かかる手法ではシステムに一律汎用的に作用するため、効果のある適用領域には条件と限界があった。すなわち、全てのデータベース処理に対して処理の高速化を図ることができない。
【０００８】
また、業務特性を考慮することで、ある特定の環境下では著しく効率化することが可能となる場合があるが、このような特性は一般的に業務固有のアプローチが必要であり、特性に応じた分析を行った後に効果度合いを判断するというように個別対応が多く、やはり全てのデータベース処理に対する高速化を図ることができない。
【０００９】
このため、本発明では、上記従来例の有する不都合を改善し、特に、あらゆるデータベース処理システムに対して、全体での処理の高速化を図ることができるデータベース処理システムを提供することをその目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明であるデータベース処理システムの一形態としては、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、
を備えたことを特徴としている。
【００１１】
そして、上記グループ化手段が、トランザクションデータの処理対象となるマスタデータベースに対する処理特性に応じてグループ化を行う、という構成にしてもよい。具体的には、上記グループ化手段が、トランザクションデータ内に存在するマスタデータベースに対する検索キーに関連するデータに基づいてグループ化を行う、という構成にしてもよい。
【００１２】
さらに、上記構成に加えて、
グループ化手段が、グループ化に用いる予め定められたルールを複数設定すると共に、これら複数のルールのうちの全部又は一部を利用することによってグループ数が予め定められた数値範囲になるようグループ化を行う、という構成にしてもよい。
【００１３】
上記構成にすることにより、まず、マスタ引き当てのキー値や処理の時間帯など、トランザクションデータの特徴値に応じてグループ化するためのルールが予め設定されており、これに基づいて複数のグループにグループ化される。このとき、所定の数のグループに分けられるよう、複数のルールを用いてグループ化を行う。続いて、それぞれのグループ内におけるトランザクションデータに共通する特性に基づいて、マスタデータベースから一時的なサブデータベースを抽出して生成する。特に、サブデータベースは、所定のグループにおけるトランザクションデータを処理可能なデータを含むよう抽出される。例えば、グループ化の際に用いられた上記検索キーを含むサブデータベースが生成される。その後、各グループに対応するサブデータベースに対して、当該グループのトランザクションデータの処理が実行される。
【００１４】
従って、サブデータベースにはトランザクションデータの処理を実行可能なデータが含まれている可能性が高いため、その処理の精度を維持しつつ、また、その母体数も少数であるため、処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの負荷を軽減できる。
【００１５】
また、本発明の別の形態として、データベース処理用プログラムを提供しており、当該プログラムは、
所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うコンピュータに、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化手段と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出手段と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理手段と、を実現するためのプログラムである。
【００１６】
さらに、本発明の別の形態として、データベース処理方法を提供しており、
コンピュータを用いて、所定の記憶装置に記憶された処理対象となるデータ群であるマスタデータベースに対して、所定の記憶装置に記憶されたトランザクションデータの処理を行うデータベース処理方法であって、
マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うグループ化工程と、
グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出工程と、
サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理工程と、を有することを特徴としている。
【００１７】
上記構成のデータベース処理プログラム、及び、データベース処理方法であっても、上述したデータベース処理システム同様に作用するため、上記目的を達成することができる。
【発明の効果】
【００１８】
本発明は、以上のように構成され機能するので、これによると、あらゆるトランザクション処理を行うシステムに対して、データベース処理の精度を維持しつつ、また、処理対象の母体数も少数となることから処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの付加を軽減できる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００１９】
本発明であるデータベース処理システムは、例えば、データベース照合等の検索処理を行って出力結果を得るバッチシステムまたはオンラインシステムである。そして、トランザクションデータをある指標値でグループ分けし、グループ毎にトランザクションデータの分布特性に応じたある規則性から本来のデータベース（マスタデータベース）から別の単一または複数の一時データベース（サブデータベース）を自動的に生成し、生成された一時データベース群を用いて本来の処理と同一または同様の結果を得る、ことを特徴としている。これにより、システム全体として少ない処理時間で処理結果を得ることができ、システムへの負担を抑制しつつ、データベース処理の高速化を図ることができる。
【００２０】
そして、上述したようにすることにより、コアとなる業務プログラムに手を入れることなく、従来の汎用的手法による限界を超えた処理の高速化という効果を得ることができる。特に、本発明はバッチ処理とオンライン問合せ処理の双方に適用が可能であり、スループットの向上を図ることができる。これは一定の負荷がかかっている環境下において、オンライン処理においてはレスポンス平均値の向上、バッチ処理においてはエラップスの向上に繋がる。なお、バッチ処理の方がオンライン処理よりも業務特性の分析精度を上げやすいため、効果の期待度は大きい。以下、システムの構成について、実施例を参照して詳述する。
【実施例１】
【００２１】
本発明の第１の実施例を、図１乃至図７を参照して説明する。図１は、データベース処理システムとなるコンピュータの構成を示す機能ブロック図である。図２は、データベース処理の様子を示す説明図である。図３は、データベースの構成を示す説明図である。図４は、システムの動作を示す説明図である。図５は、動作の一部を示す説明図である。図６乃至図７は、本発明の効果を示すための説明図である。
【００２２】
本実施例で説明するデータベース処理システムは、上述したように、例えば、データベース照合等の検索処理を行って出力結果を得るバッチシステム、あるいは、オンラインシステムである。但し、かかるシステムに限定されることなく、データベースに対して予め定められた複数のトランザクションデータの処理を行うシステムであれば、いかなるシステムでもよい。
【００２３】
ここで、トランザクションデータに基づく検索処理とは、例えば、図２に示すように「処理Ａ」にて示し、データベースをマスタ表のような単純な構成（商品マスタ）とし、入力されたコード値（商品コード）をキーとして名称（商品名称）をマスタから引き当てる処理を想定する。そして、この「処理Ａ」に想定する処理が、本実施例では後述するようにサブデータベースに対して実行される。なお、トランザクションデータの項目には「商品コード」以外に、その他の関連情報も存在している。
【００２４】
＜構成＞
本発明であるデータベース処理システムは、図１に示すように、コンピュータ１にて構築される。そして、このコンピュータ１は、一般的なコンピュータにて構成されており、演算処理装置であるＣＰＵ１０、記憶装置であるハードディスク２０やＲＡＭなどのメモリ３０を備えている。そして、ＣＰＵ１０には、本発明の特徴となるデータベース処理を実現するためのデータベース処理用プログラムが組み込まれることで、以下に説明する各処理部１１〜１５が構築されることとなる。また、ハードディスク２０には、予め設定されているデータを記憶する各記憶部２１〜２３が形成され、メモリ３０には、上記各処理部１１〜１５の作用により生成されたデータを記憶する各記憶部３１〜３３が形成されている。上記構成について、以下に詳述する。
【００２５】
まず、ハードディスク２０には、処理対象となるデータベースであるマスタデータベースを記憶するマスタデータベース記憶部２３が形成されている。また、このマスタデータベースに対する一連の処理の集合から成るトランザクションデータを記憶するトランザクションデータ記憶部２１が形成されている。さらには、このトランザクションデータ記憶部２１に記憶されているトランザクションデータを、グループ化するための区分け基準を表すグループ化ルールデータを記憶するグループ化ルールデータ記憶部２２が形成されている。このグループ化ルールデータは、後述するディスパッチ処理部１１にてグループ化する際に用いられるデータであるため、当該ディスパッチ処理部１１の説明時に詳述する。なお、ハードディスク２０に記憶されている上記各データは、コンピュータ１に接続された他のコンピュータの記憶装置に記憶されていてもよい。
【００２６】
次に、ＣＰＵ１０には、上述したように、所定のプログラムが組み込まれることで、マスタデータベースに対する一連の処理の集合から成るトランザクションデータを予め定められたルールにてグループ化を行うディスパッチ処理部１１（グループ化手段）と、このグループ化したトランザクションデータを分析するトランザクション分析処理部１２と、グループ化された特定のグループにおけるトランザクションデータに基づいてマスタデータベースから当該トランザクションデータを処理することが可能なデータを含むサブデータベースを抽出するマスタ抽出処理部１３（マスタ抽出手段）と、サブデータベースに対してグループ化されたトランザクションデータの処理を行うトランザクション処理部１４（トランザクション処理手段）と、この処理結果を出力する出力処理部１５と、が構築されている。
【００２７】
上記ディスパッチ処理部１１は、トランザクションデータに対してある指標値（以下、グループ化関数と呼ぶ）でグループ化を行う。このとき、グループ化関数の引数の１つとして、トランザクションデータのマスタデータベースに対する処理特性に応じたデータが選択される。特に、トランザクションデータ内にデータベース検索キーの分布特性と相関関係を持ったものがあれば、その相関関係を持ったデータが関数の引数の１つとして選択される。すなわち、このようなグループ化関数を選択する指令が、上記グループ化ルールデータ記憶部２２に記憶されているか、あるいは、ディスパッチ処理部１１に予め組み込まれていて、上記グループ化関数に基づいて、ディスパッチ処理部１１にてグループ化処理が行われる。
【００２８】
そして、具体的に、グループ化関数の性質としては、マスタ引き当てのキー値の分布特性を反映するものが望ましいため、例えば、トランザクションデータ中から「支社コード」などのように、適度に集約され、かつ「商品コード」の分布と相関関係のある変数が引数として複数選択される。そして、バッチ処理においては、データの処理順にこれら変数ができるだけ適度に連続して現れる性質を持っているものが望ましい。
【００２９】
なお、上述したような検索キーと相関関係を持った変数が全く何もない場合であっても、例えば以下に示すトランザクションデータのマスタデータベースに対する処理特性に応じたデータが、グループ化関数の引数の１つとして選択される。例えば、オンラインシステムでは、トランザクションデータ中の処理時間帯別や、アクセス端末番号の上２桁による分類、受付番号順に１万件ずつなど、また、バッチ処理システムでは、接続元やレコード番号等、入力データ種別毎、データ順に１万件ずつなどの指標が変数（引数）の候補となる。また「商品コードの頭２桁」などを変数に採用したり、前日の処理結果の統計情報を用いるなど日々変動型の条件を変数に採用することも応用例として検討対象となりうる。これらの変数を選択することは、ランダムな関数を選択することに比べて、一般的にはキー値分布と相関関係があると見込まれるためである。
【００３０】
そして、いかなるグループ化関数を用いるかは、システムの利用者がデータベースの特性やトランザクション処理の特性に応じて特定し、コンピュータ１に入力することにより設定される。
【００３１】
なお、バッチ処理においては、データの処理順に変数Ｐ＝(Ｐ1,Ｐ2,…)が適度に連続している場合には、当初のグループ化関数Ｇoのかわりに、Ｇo(Ｐ)の値が変化する（Ｐがブレイクすると呼ぶ）毎にカウントアップするような関数Ｇを新たなグループ化関数として構成する。これは、バッチ処理においてはグループ毎の単位で処理がスケジュールされる傾向があるため、データの順序性が必要であったり、グループ分けの処理が高負荷となることによる弊害を回避するために用いる。
【００３２】
なお、以下では、トランザクションデータ全体の集合をＴ、マスタデータベース全体の集合をＭ、マスタ引き当て関数（ＴからＭ内のデータを引き当てる関数）をΦ、グループ化関数をＧ、Ｇの値域を｛１,２,…,Ｎ｝として表すこととする。
【００３３】
そして、上記ディスパッチ処理部１１は、グループ化したトランザクションデータを、メモリ３１に形成されたグループ化トランザクションデータ記憶部３１に記憶する。このとき、ディスパッチ処理部１１は、グループ化の分割数などが適度な分布となるように、分割数が多すぎる場合は引数または返値の適度な集約や関数の不採用、分割数が少なすぎる時は引数の追加や別の関数を追加して、分割数を調整する。すなわち、グループ化を行う際に使用するルールを増減することによって、自動的にグループ数が予め定められた数値範囲になるようグループ化を行う機能を有する。これは、後述するように、サブデータベースがシステムのキャッシュを効果的に利用できるレベルの大きさまで小さくなるようにするためである。
【００３４】
続いて、上記トランザクション分析処理部１２について説明する。このトランザクション分析処理部１２は、グループ化した各トランザクションデータ（符号３１内のデータ）に対して、走査分析を行い、データベース引き当て時のキー値として使用されているものを洗い出す。そして、このキー値として使用されているデータを、各グループ毎に、グループ分析データとしてメモリ３０内のグループ分析データ記憶部３２に記憶する。
【００３５】
続いて、上記マスタ抽出処理部１３について説明する。このマスタ抽出処理部１３は、グループ分けされたトランザクションデータのまとまり毎に、まとまり内のトランザクションデータの分布特性に応じた一時的なデータベース（以下、サブデータベースと呼ぶ）を、元の検索対象データベースであるマスタデータベースから自動的に生成する。このとき、上記トランザクション分析処理部１２にて分析したグループ分析データ記憶部３２に記憶されたキー値に基づいて、これに対応するデータをマスタデータベースから抽出することによって構成することができる。なお、サブデータベースはマスタデータベースの部分集合であり、グループ内のトランザクションデータを処理することが可能なデータを含んだものである。
【００３６】
具体的には、例えば、グループｎに属するトランザクションの集合をＴｎ、Ｔｎのキーが参照するマスタデータベースの部分集合（サブデータベースと呼ぶ）をＭｎとする。バッチ処理においては、スケジュール単位としてのグループの処理開始前に全数調査を行ってＭｎを確定する。また、オンライン処理においては、初期予想と都度追加の２段階で構成する。このため、今処理しようとするトランザクションデータによる検索対象データが、サブデータベースに存在することを保証する、という構成を採る。その簡易的な手法として、トランザクションデータ１件毎にサブデータベース照会処理を実施する方法があるが、結果としてサブデータベース検索処理が２回発生することになるため本発明の効果が弱くなる。これを抑えるため、通常はトランザクションデータ中の別の条件ですでに存在することが保障されている別の指標値を選択し、その指標から外れたデータのみをサブデータベース検索処理で照会を行うように構成する。
【００３７】
そして、上記で構成したＭｎの集合は、検索処理においてミスヒットしないように最低限必要なものとして構成したものであるから、これ以外に余分なデータが少量含まれていることは構わない。特にオンライン処理においては、ＴｎのΦによる写像としてのΦ（Ｔｎ）を事前に生成することは困難であるから、ある程度の予想としてのＭ’ｎを事前に構成しておき、Ｍｎを、Φ（Ｔｎ）とＭ’ｎの和集合として構成を行うこととなる。すると、一般的には図３に示すように、各サブデータベースの各々の集合は、属する要素に重なりを持っており、全サブデータベースを合わせても元のマスタデータベースになるとは限らない。
【００３８】
なお、サブデータベースの生成タイミングにおいては、バッチ処理においてはグループ毎にトランザクションデータの全数調査を事前に行って一括処理を行うことが最も効率的である。オンライン処理においては、上述したようにグループ分けのある程度の想定条件で事前に予想して作成しておき（この事前作成処理は必ずしも実施しなくてもよい）、足りないものを都度追加する方法で行う。この場合、足りているか足りていないかを常に判断する処理が別途必要となる。
【００３９】
このようにして作成したサブデータベースをメモリ３１内のサブマスタデータベース記憶部３３に記憶しておき、上記トランザクション処理部１４にて、各々グループ分けしたトランザクションにマスタデータベースの替わりに適用することで、データベース引き当て処理を変更することなく、本来の目的と同等の処理結果を得ることが可能となる。
【００４０】
＜動作＞
次に、上記構成のシステムの動作を、図４乃至図５を参照して説明する。図４は、ＣＰＵ１０内の処理の様子を示す説明図である。図５は、グループが複数あった場合の処理を説明する説明図である。
【００４１】
まず、ディスパッチ処理部１１にて、グループ化関数を用いてトランザクションデータをグループ化する。すなわち、トランザクションデータＴ（２１）を、Ｔ１〜ＴＮに分解する処理を行う。そして、グループｎ（３１）が生成される。なお、このディスパッチ処理により、図５に示すように、複数のグループ（グループ１（３１ａ）、グループ２（３１ｂ））が生成されてもよく、生成されるグループの数は限定されない。
【００４２】
次に、グループ化されたトランザクションデータの分析がトランザクション分析処理部１２で行われ、その分析データ３２が記憶保持される。すなわち、ＴｎからＭｎを作成するための情報を分析する処理を行う。そして、この分析データ３２を用いて、マスタデータベース２３からマスタ抽出処理部１３にてマスタ抽出処理を行い、サブデータベース３３を生成する。すなわち、ＭからＭ１〜ＭＮを作成する処理を行う。このとき、複数のグループが生成される場合には、それに対応して複数のサブデータベース（サブＤＢ１（３３ａ），サブＤＢ２（３３ｂ））が生成される（図５参照）。
【００４３】
その後、各グループのトランザクションデータの処理を、トランザクション処理部１４にて当該グループに対応したサブデータベース３３（３３ａ，３３ｂ）に対して行う。これにより、トランザクションに対する出力結果を表す出力データ４０が生成される。
【００４４】
このようにすることにより、サブデータベースにはトランザクションデータの処理を実行可能なデータが含まれている可能性が高いため、その処理の精度を維持しつつ、また、その母体数も少数であるため、処理時間の短縮化を図ることができ、かつ、トランザクション処理を行うコンピュータの付加を軽減できる。
【００４５】
上記効果を、さらに図６乃至図７を参照して説明する。図６には、トランザクションデータとキー値分布の関係を表したものである。トランザクションデータ１件を処理する時間として、検索処理の処理時間は、検索対象マスタの母体の大きさと相関関係がある。この相関関係のスケールオーダを縦軸に表現したとするならば、トランザクション全体の処理Ａに相当する処理時間は、図６のグラフの面積に比例することとなる。これらを比較すると、面積は下記のようになる。
グループ化分割を行わない場合：面積＝Ｔ×Ｍ
グループ化分割を行った場合  ：面積＝Σｎ＝１〜Ｎ（Ｔｎ×Ｍｎ）
【００４６】
上記からも明らかなように、グループ化分割を行った場合の方が明らかに小さい。なお、本発明においては、「トランザクション分析」処理や「マスタ抽出」処理が必要となるため、多少のオーバーヘッドが発生するものの、通常これらのオーバーヘッド処理は、トランザクションデータの母体の大きさには比例するが、マスタ母体の大きさとは相関関係が低い傾向にあるため、マスタ母体が大きくなれば本発明の適用の優位性が増すこととなる。この様子を、図７に示す。この図の（Ａ）には、本願発明を適用しない場合のトランザクション処理の処理時間を表したグラフを示し、（Ｂ）には、本願発明を適用した場合のトランザクション処理を含む全処理時間を表したグラフを示す。なお、（Ｂ）は、本願発明を適用したときのトランザクション処理のみの処理時間（Ｂ１）と、本願発明を適用したときのオーバーヘッド処理時間（Ｂ２）と、を併せた処理時間となる（（Ｂ）＝（Ｂ１）＋（Ｂ２））。この図を参照すると、検索対象のデータベースのデータ数がａ値を超えたときに、処理の高速化を図ることができる。
【００４７】
ここで、上記構成に加え、上述した従来技術であるキャッシュ技術を併用することで、さらなる処理の高速化を図ることができる。なお、キャッシュへの取り込みにおいて元データベースのランダムアクセスが発生するが、本発明では通常、バッチ処理の適用において、この部分をキャッシュ技術の場合よりも少ない負荷で抑えることが可能な場合がある。これは、データベース処理システムの実装にも依存するが、一括処理において突合せ処理などのシーケンシャルアクセスが可能となるためである。
【産業上の利用可能性】
【００４８】
本発明は、大量のトランザクションデータを処理するデータベース処理システムに組み込むことで、当該トランザクションデータの処理の高速化を図ることができるため、産業上の利用可能性を有する。
【図面の簡単な説明】
【００４９】
【図１】本発明であるデータベース処理システムとして作動するコンピュータの構成を示す機能ブロック図である。
【図２】一般的なトランザクション処理の一例を示す説明図である。
【図３】マスタデータベースとサブデータベースとの関係を示す説明図である。
【図４】データベース処理システムの動作を示す説明図である。
【図５】データベース処理システムの動作の一部を示す説明図である。
【図６】トランザクション分布とキー値分布との関係を示す図である。
【図７】従来例と本発明との処理時間を比較した図である。
【符号の説明】
【００５０】
１  コンピュータ（データベース処理システム）
１０  ＣＰＵ
１１  ディスパッチ処理部（グループ化手段）
１２  トランザクション分析処理部
１３  マスタ抽出処理部（マスタ抽出手段）
１４  トランザクション処理部（トランザクション処理手段）
１５  出力処理部
２０  ハードディスク
２１  トランザクションデータ記憶部（トランザクションデータ）
２２  グループ化ルールデータ記憶部
２３  マスタデータベース記憶部（マスタデータベース）
３０  メモリ
３１  グループ化トランザクションデータ記憶部
３２  グループ分析データ記憶部
３３  サブデータベース記憶部（サブデータベース）
【図１】
2006031631.tif 000003
【図２】
2006031631.tif 000004
【図３】
2006031631.tif 000005
【図４】
2006031631.tif 000006
【図５】
2006031631.tif 000007
【図６】
2006031631.tif 000008
【図７】
2006031631.tif 000009