(57)【要約】【課題】　従来、並列データベースの分割でレコードの作成・追加時と検索時の両方にハッシュ関数を使用しているが、（１）ハッシング結果は分割数に依存するため、ＣＰＵ増設等データベース分割数が変更された時、それまで蓄積したレコードを全て新しい分割数の元でハッシングをやりなおし再格納しなければならない。（２）レコードの再格納を行わなかった場合、新規追加したＣＰＵ下の外部記憶装置にはレコードが格納されていないため、データベース検索時、各ＣＰＵでの検索時間が不均等になる。【解決手段】　データベースへのアクセス要求は業務プログラムから発生し、最初にその要求が、格納、検索のいずれかを判断し、格納の場合、ハッシュ関数を使用してレコードを格納する外部記憶装置の管理番号を算出し、その管理番号に従って外部記憶装置中にレコードを格納する。検索ではハッシュ関数を使用せず、分割した全ての外部記憶装置を並列に検索する。【選択図】　図１
2004078974.tif 000002
【特許請求の範囲】
【請求項１】
　データを格納する外部記憶装置を備えた複数台のＣＰＵと、データベースを分割格納する外部記憶装置の構成を登録簿に登録し、その内容を参照、変更するデータベース構成情報登録・参照・変更機能と、データベースを構成する任意の外部記憶装置にレコードを格納するレコード格納・追加機能と、データベースを構成する任意の外部記憶装置中に存在するレコードを検索、更新するレコード検索・更新機能を有し、データベースのレコード群を各ＣＰＵ下の外部記憶装置へ分割格納し、格納されたレコード群を各ＣＰＵで並列に検索・更新することにより高速に処理を実行する並列データベース管理システムにおいて、レコードの格納、追加時にはデータベース構成情報を参照し、該レコードの値にハッシュ関数による演算を施して、該レコードを格納するＣＰＵ下の外部記憶装置を一意に決定してレコードの分割格納を実現し、検索、更新時にはハッシュ関数を使用せずにデータベースを構成する全てのＣＰＵ下の外部記憶装置の検索、更新を行うことを特徴とする並列データベースの分割方法。
【請求項２】
　請求項１記載の並列データベースの分割方法において、データベースへの単位時間の平均レコード増加量および外部記憶装置内のレコード数を記憶しておき、新規ＣＰＵ増設等のデータベース分割数変更時に任意の外部記憶装置内のレコード数を単位時間の全外部記憶装置に対する平均レコード増加量で除算した値に比例した時間だけ、使用するハッシュ関数を変更し、ハッシュ関数による演算結果による格納外部記憶装置が新規追加した外部記憶装置に優先的に割り当てられるようにすることを特徴とする並列データベースの分割方法。
【請求項３】
　請求項１記載の並列データベースの分割方法において、各外部記憶装置内のレコード数を記憶しておき、新規ＣＰＵ増設等のデータベース分割数変更時に各外部記憶装置内のレコード数を変更後のデータベース分割数で除算した件数だけ、各外部記憶装置から新規増設したＣＰＵ下の外部記憶装置へレコードを移動することを特徴とする並列データベースの分割方法。
【請求項４】
　データを格納する外部記憶装置を備えた複数台のＣＰＵと、データベースを分割格納する外部記憶装置の構成を登録簿に登録し、その内容を参照、変更するデータベース構成情報登録・参照・変更機構と、レコードの値にハッシュ関数を適用して該レコードを格納する外部記憶装置一意に決定する格納位置決定機構と、格納位置決定機構を用いてレコードを格納するレコード格納・追加機構と、データベースを構成する任意の外部記憶装置にレコードを格納するレコード格納・追加機構と、データベース構成情報登録・参照・変更機構を用いてデータベースの構成情報を参照し、データベースを構成する全ての外部記憶装置に対して並列に検索、更新要求を行うレコード検索、更新機構を備えたことを特徴とする並列データベースの管理システム。
【請求項５】
　請求項４記載の並列データベースの管理システムに、さらに、データベースへの単位時間の平均レコード増加量および外部記憶装置内のレコード数を記憶するレコード情報記憶機構と、任意の外部記憶装置内のレコード数を単位時間の全外部記憶装置に対する平均レコード増加量で除算した値に比例した時間だけ、登録簿に新規追加された外部記憶装置を選択する格納位置決定機構を加えたことを特徴とする並列データベースの管理システム。
【請求項６】
　請求項４記載の並列データベースの管理システムに、さらに、各外部記憶装置内のレコード数を記憶しておくレコード件数記憶機構と、データベース分割数変更時に各外部記憶装置内のレコード数を変更後のデータベース分割数で除算した件数だけ、各外部記憶装置から登録簿に新規追加された外部記憶装置へレコードを移動するレコード移動機構を備えたことを特徴とする並列データベースの管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は並列データベースのアクセスに係り、特にデータベース分割数変更時のレコード再分配に好適な並列データベースの分割方法及びその管理システムに関する。
【背景技術】
【０００２】
　従来、並列データベースを分割しようとする場合、分割に対するオーバヘッドが少なく、レコードの増加に対する柔軟性も高いハッシュ関数を使用した分割が行われる。この場合レコードの作成・追加時と検索時の両方にハッシュ関数を使用してレコードの格納・検索を実現している。このようなデータの分割格納方法は、例えば、特許文献１や特許文献２号公報などに記載されているようなシステムで使用されている。
【０００３】
【特許文献１】特開平２−１１３３４９号
【０００４】
【特許文献２】特開平４−１６０４７５号
【発明の開示】
【発明が解決しようとする課題】
【０００５】
　ところで、上述のような従来の手法によるハッシュ関数を用いたレコードの作成、追加および検索を行おうとすると、次のような問題点が発生する。すなわち、（１）ハッシング結果は分割数に依存するため、ＣＰＵ増設等データベース分割数が変更された時、それまで蓄積したレコードを全て新しい分割数の元でハッシングをやりなおし再格納しなければならず、これには大きな負担がかかり、効率良くシステムを運用することができない。（２）レコードの再格納を行わなかった場合、新規追加したＣＰＵ下の外部記憶装置にはレコードが格納されていないため、データベース検索時、各ＣＰＵでの検索時間が不均等になり、効率良く検索を行うことができない。
【０００６】
　本発明は、上述のような問題点を解決するために成されたものであり、本発明の目的は、データベースを分割する並列データベース管理システムにおいて、データベースの分割数変更に伴う作業を効率良く行う並列データベースの分割方法及びその管理システムを提供することにある。
【課題を解決するための手段】
【０００７】
　上の目的を解決するため、請求項１記載のデータベースの分割方法および請求項４記載の並列データベースの管理システムは、データベースを分割格納する外部記憶装置の構成を登録簿に登録し、その内容を参照、変更できるデータベース構成情報登録・参照・変更機能と、レコードの値にハッシュ関数を適用してデータベース構成情報登録簿に登録された外部記憶装置の中からレコードを格納する外部記憶装置を一意に決定する格納位置決定機能と、データベースを構成する任意の外部記憶装置にレコードを格納するレコード格納、追加機能と、データベースを構成する任意の外部記憶装置内のレコードを検索、更新するレコード検索、更新機能を有し、レコードの作成・追加時には格納位置決定機能とレコード格納、追加機能を使用してレコードの格納、追加を行い、レコードの検索、更新時には格納位置決定機能を使用せず、データベースを構成する全ての外部記憶装置に対してレコード検索、更新機能を使用して並列に検索し、ＣＰＵ増設時等のデータベース分割数変更時には追加した任意の外部記憶装置に集中してデータを格納できる手段を設けることにより、全レコードの再格納を行わなくてもレコードの格納状態を均等に保つことができる。
【０００８】
　請求項２記載のデータベースの分割方法および請求項５記載の並列データベースの管理システムは、データベースへの単位時間の平均レコード増加量および外部記憶装置内のレコード数を記憶する機能を有し、データベース分割数変更時に外部記憶装置内のレコード数を単位時間の平均レコード増加量で除算した値に比例した時間だけ、使用するハッシュ関数を変更することにより優先的に新規追加した外部記憶装置へレコードを格納し、データベース分割数変更時に不均等となったレコードをその後のレコード追加中に均等に格納する。
【０００９】
　請求項３記載のデータベースの分割方法および請求項６記載の並列データベースの管理システム発明は、外部記憶装置内のレコード数を記憶する機能を有し、データベース分割数変更時に従来の各外部記憶装置内のレコード数を変更後のデータベース分割数で除算した件数だけ、各外部記憶装置から新規増設したＣＰＵ下の外部記憶装置へ任意のレコードを移動し、データベース分割数変更時に不均等となったレコードをシステムが均等に格納する。
【００１０】
　以上に説明した実施例によれば、以下のような利点がある。
（１）データベース分割数変更時にレコードの再格納を行う必要がないので、容易にデータベース分割数を変更することが可能になり、作業の効率化、省力化を図ることができる。
（２）データベース分割数変更後、不均等となった外部記憶装置内のレコードをその後のレコード追加時や、システムの空き時間にシステムが均等に格納するため、データベース分割数変更後も検索効率を落とさずに運用することができるようになり、作業の効率化、省力化を図ることができる。
【発明の効果】
【００１１】
　以上に説明したように、本発明の並列データベースの分割方法によれば、以下のような利点がある。
（１）データベース分割数変更時にレコードの再格納を行う必要がないので、容易にデータベース分割数を変更することが可能になり、作業の効率化、省力化を図ることができる。
（２）データベース分割数変更後、不均等となった外部記憶装置内のレコードをその後のレコード追加時や、システムの空き時間にシステムが均等に格納するため、データベース分割数変更後も検索効率を落とさずに運用することができるようになり、作業の効率化、省力化を図ることができる。
【発明を実施するための最良の形態】
【００１２】
　以下、本発明の一実施例を図面を用いて具体的に説明する。
【００１３】
　図１は、請求項１および請求項４記載の発明の一実施例にかかる並列データベースの管理システムの分割方法を示す説明図である。
【００１４】
　図１において、データベースへのアクセス要求（ステップ１）は業務プログラムから発生し、最初にその要求が格納、検索のいずれであるかを判断する（ステップ２）。
【００１５】
　格納の場合、格納外部記憶装置指定の有無を判断する（ステップ３）。格納外部記憶装置指定がある場合、指定された外部記憶装置にレコードを格納する（ステップ４）。
【００１６】
　格納外部記憶装置指定がない場合、予め決定しておいたレコ−ド内の任意の部分を入力としてハッシュ関数を使用してハッシング計算を行う。計算結果を外部記憶装置数で除算した余りを０から外部記憶装置数まで割り当てられた管理番号に対応させることにより、レコードを格納する外部記憶装置の管理番号を算出する（ステップ５）。そして、算出された外部記憶装置管理番号に従いレコードを格納する（ステップ６）。
【００１７】
　検索の場合、レコードを格納する外部記憶装置を求めるためにハッシュ関数を使用せず、各ＣＰＵ毎にＣＰＵ制御下にある外部記憶装置を検索することにより求めるレコードを得る（ステップ７）。
【００１８】
　以上に説明したように、本実施例による並列データベースの分割方法によれば、検索時にデータベースを構成する全外部記憶装置を並列に検索することにより、データベース分割数変更時に全レコードの再格納を行う必要がなくなる。また、格納外部記憶装置指定を行い、追加する外部記憶装置にあらかじめレコードを格納しておくことも可能なため、データベース分割数変更後も各外部記憶装置のレコード件数を均等にしておくことができ、効率よく検索できるようになる。
【実施例１】
【００１９】
　次に、請求項２および請求項５記載の発明の実施例について説明する。図２は、本発明の一実施例にかかる並列データベース管理システムの構成図である。
【００２０】
　図２において、この並列データベース管理システムは業務プログラムからの要求を受け付け他のＣＰＵへ制御を渡す制御用ＣＰＵ１２−１と、検索、格納を実行するＣＰＵ１２−３、１２−４と、外部記憶装置１２−８、１２−９によって構成されている。制御用ＣＰＵ１２−１には、ハッシュ関数１２−２と、データベース構成情報登録部１２−１２を有し、レコード追加時にその格納外部記憶装置を決定する。ＣＰＵ１２−３、１２−４にはそれぞれレコード増加量記憶部１２−６と、レコード件数記憶部１２−７を有し、各外部記憶装置へのレコード追加時に外部記憶装置内のレコード件数のカウントと、単位時間内のレコード増加量の計測を行う。通常時はハッシュ関数１２−２は各外部記憶装置１２−８、１２−９に均等にレコードが格納されるようにデータベース分割数２を基準にハッシング計算を行っている。
【００２１】
　ＣＰＵ増設時に追加部分である１２−１１を新規に追加した時、使用するハッシュ関数を次のように変更する。
【００２２】
　データベースの実際の分割数３に１加えた値を基準としてハッシング計算を行い、４つの外部記憶装置に均等にレコードが格納されるようにする。ハッシング結果が４つ目の外部記憶装置を示した時には追加された外部記憶装置１２−１０に格納されるようにハッシング結果を調整する。これにより追加された外部記憶装置１２−１０には他の外部記憶装置の２倍のレコードが追加される。このようなハッシュ関数の変更を以下の期間だけ行う。
【００２３】
　レコード件数記憶部１２−６から得た任意の外部記憶装置内のレコード数を各ＣＰＵのレコード増加量記憶部１２−７から得た全外部記憶装置に対する単位時間の平均レコード増加量で除算した値にデータベースの実際の分割数３＋１を乗じた時間をハッシュ関数変更期間とする。
【００２４】
　以上に説明したように、本実施例による並列データベースの分割格納方法によれば、ハッシュ関数を一定の期間だけ変更することにより各外部記憶装置のレコード格納比率を変え、データベースのレコード追加中に各外部記憶装置のレコード件数を均等にすることができる。
【実施例２】
【００２５】
　次に、請求項３および請求項６記載の発明の実施例について図２を用いて説明する。図２において、ＣＰＵ増設時に追加部分である１２−１１を新規に追加した時、各ＣＰＵ１２−３、１２−４下のレコード件数記憶部にある外部記憶装置内のレコード件数を変更後のデータベース分割数３で除算した件数だけ、各外部記憶装置から新規増設したＣＰＵ下の外部記憶装置１２−１０へ任意のレコードを移動する。レコードの移動は、外部記憶装置１２−１０にレコードを格納した後、移動元のレコードを削除することにより実現する。
【００２６】
　本処理は各ＣＰＵが業務プログラムの要求による検索、格納処理で使用されていない空き時間に実行することにより、より効率良く実行することができる。
【００２７】
　以上に説明したように、本実施例による並列データベースの分割格納方法によれば、システムの空き時間に任意のレコードを新規増設したＣＰＵ下の外部記憶装置へ移動することにより、各外部記憶装置のレコード件数を均等にすることができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施例にかかる並列データベース管理システムの分割方法を説明するための図である。
【図２】本発明の一実施例にかかる並列データベース管理システムの構成図である。
【符号の説明】
【００２９】
１２−１…制御用ＣＰＵ、
１２−２…ハッシュ関数、
１２−３、１２−４、１２−５…ＣＰＵ、
１２−６…レコード増加量記憶部、
１２−７…レコード件数記憶部、
１２−８、１２−９、１２−１０…外部記憶装置、
１２−１１…追加部分、
１２−１２…データベース構成情報登録部。 
【図１】
2004078974.tif 000003
【図２】
2004078974.tif 000004
【手続補正書】
【提出日】平成15年9月29日(2003.9.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
データの格納要求の入力に応じて該データを格納する第１の記憶領域を備えたデータ格納システムにおけるデータ格納制御方法において、
　前記データを格納する第２の記憶領域の追加要求を入力した後、前記データの格納要求を入力すると所定条件に基づいて該データを格納すべき記憶領域を第１の記憶領域および第２の記憶領域のいずれかを選択し、当該選択された記憶領域へ該データを格納し、前記所定条件は、前記第２の記憶領域における単位時間あたりに格納されるデータ数を前記第１の記憶領域における単位時間あたりに格納されるデータ数よりも多くすることを特徴とするデータ格納制御方法。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】
請求項１記載のデータ格納制御方法において、前記第１記憶領域と前記第２の記憶領域は、それぞれ対応する第１、第２の記憶装置に設けることを特徴とするデータ格納制御方法。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項３
【補正方法】変更
【補正の内容】
【請求項３】
請求項１乃至２記載のデータ格納制御方法において、
前記第１の記憶領域へ格納される単位時間当りのデータ格納回数と前記第２の記憶領域へ格納される単位時間当たりのデータ格納回数との比率であるデータ格納比率は前記第２の記憶領域に格納されるデータが所定量に達するのに要する時間を算出し、前記算出された時間を経過した後に変更することを特徴とするデータ格納制御方法。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項４
【補正方法】変更
【補正の内容】
【請求項４】
請求項３記載のデータ格納制御方法において、
前記データを格納する前記各記憶領域の選択はハッシュ関数を用いて決定し、前記各記憶領域への単位時間当りのデータ格納回数は、前記第１の記憶領域と前記第２の記憶領域とに第１の所定の比率でデータを格納する第１のハッシュ関数から前記第１の記憶領域と前記第２の記憶領域とに第２の所定の比率でデータを格納する第２のハッシュ関数への変更に応じて制御することを特徴とするデータ格納制御方法。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
データの格納要求の入力に応じて該データを格納する第１の記憶領域を備えたデータ処理システムにおいて、
　前記データを格納する第２の記憶領域の追加要求を入力した後、前記データの格納要求を入力すると所定条件に基づいて該データを格納すべき記憶領域を第１の記憶領域および第２の記憶領域のいずれかを選択する手段と、当該選択された記憶領域へ該データ格納する手段とを備え、前記所定条回は、前記第２の記憶領域における単位時間あたりに格納されるデータ数を前記第１の記憶領域における単位時間あたりに格納されるデータ数よりも多くすることを特徴とするデータ処理システム。
【手続補正６】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項６
【補正方法】変更
【補正の内容】
【請求項６】
データの格納要求の入力に応じて該データを格納する第１の記憶領域を備えたデータ処理システムにおいて、
　前記データを格納する第２の記憶領域の追加要求を入力した後、前記データの格納要求を入力すると所定条件に基づいて該データを格納すべき記憶領域を第１の記憶領域および第２の記憶領域のいずれかを選択する手段とを備えたことを特徴とするデータ処理システム。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０００１
【補正方法】変更
【補正の内容】
【０００１】
　本発明はデータを記憶装置に格納する技術に係り、記憶装置にアクセスする際の負荷バランスを改善するデータ格納制御技術に関する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
　本発明は、上述のような問題点を改善するために成されたものであり、本発明の目的は、データを格納する記憶装置の数を変更した場合におけるデータ処理時にアクセスする複数の記憶装置における負荷バランスを改善することにある。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
　上記目的を達成するために、本願発明は以下の手段を有する。データの格納要求の入力に応じて該データを格納する第１の記憶領域を備えたデータ格納システムにおけるデータ格納制御方法において、前記データを格納する第２の記憶領域の追加要求を入力した後、前記データの格納要求を入力すると所定条件に基づいて該データを格納すべき記憶領域を第１の記憶領域および第２の記憶領域のいずれかを選択し、当該選択された記憶領域へ該データを格納し、前記所定条件は、前記第２の記憶領域における単位時間あたりに格納されるデータ数を前記第１の記憶領域における単位時間あたりに格納されるデータ数よりも多くする。このようにすることにより、データを格納する記憶装置の数を変更した場合におけるデータ処理時にアクセスする複数の記憶装置における負荷バランスを改善することが可能となる。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】削除
【補正の内容】
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】００１０
【補正方法】削除
【補正の内容】
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
　以上に説明したように、本願発明によれば、データベースを格納する記憶装置における負荷バランスを改善することが可能となる。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】変更
【補正の内容】
【００１３】
　データベースの管理システムの分割方法を示す説明図である。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】変更
【補正の内容】
【００１９】
　次の実施例について説明する。図２は、本発明の一実施例にかかる並列データベース管理システムの構成図である。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
　図２において、ＣＰＵ増設時に追加部分である１２−１１を新規に追加した時、各ＣＰＵ１２−３、１２−４下のレコード件数記憶部にある外部記憶装置内のレコード件数を変更後のデータベース分割数３で除算した件数だけ、各外部記憶装置から新規増設したＣＰＵ下の外部記憶装置１２−１０へ任意のレコードを移動する。レコードの移動は、外部記憶装置１２−１０にレコードを格納した後、移動元のレコードを削除することにより実現する。