(57)【特許請求の範囲】
【請求項１】
複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納するデータベースシステムであって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手段と、
該手段による再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手段と、
受け付けた検索要求、更新要求、削除要求のいずれかに対応して、前記既存の記憶装置に対して検索、更新、削除のいずれかの処理を実行し、該既存の記憶装置に対する処理を実行した後、前記追加記憶装置に対して当該要求に対応する処理を実行する手段と、
受け付けた挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手段と
を有することを特徴とするデータベースシステム。
【請求項２】
複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納し、前記表のデータに対する検索要求、更新要求、削除要求に対応する処理を各記憶装置に対して並列に行うデータベースシステムであって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手段と、
該手段による再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手段と、
受け付けた検索要求、更新要求、削除要求のいずれかに対応して、前記既存の記憶装置に対して検索処理、更新処理、削除処理のいずれかを並列実行し、該既存の記憶装置に対する並列処理の完了後に前記追加記憶装置に対して当該要求に対応する検索処理、更新処理、削除処理のいずれかを並列実行する手段と、
受け付けた挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手段と
を有することを特徴とするデータベースシステム。
【請求項３】
複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納するデータベースシステムのデータベース管理方法であって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手順と、
該手順での再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手順と、
検索要求、更新要求、削除要求のいずれかを受け付けた場合、当該要求に対応して、前記既存の記憶装置に対して検索、更新、削除のいずれかの処理を実行し、該既存の記憶装置に対する処理を実行した後、前記追加記憶装置に対して当該要求に対応する処理を実行する手順と、
挿入要求を受け付けた場合、当該挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手順と
を有することを特徴とするデータベース管理方法。
【請求項４】
複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納し、前記表のデータに対する検索要求、更新要求、削除要求に対応する処理を各記憶装置に対して並列に行うデータベースシステムのデータベース管理方法であって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手順と、
該手順での再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手順と、
検索要求、更新要求、削除要求のいずれかを受け付けた場合、当該要求に対応して、前記既存の記憶装置に対して検索処理、更新処理、削除処理のいずれかを並列実行し、該既存の記憶装置に対する並列処理の完了後に前記追加記憶装置に対して当該要求に対応する検索処理、更新処理、削除処理のいずれかを並列実行する手順と、
挿入要求を受け付けた場合、当該挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手順と
を有することを特徴とするデータベース管理方法。
【請求項５】
コンピュータに、請求項３もしくは請求項４のいずれかに記載のデータベース管理方法における各手順を実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表（テーブル）によるデータ管理を行うデータベースに係わり、特に、表データを分割して格納する記憶装置の追加に伴うデータの再分割処理を効率的に行うのに好適なデータベースシステムとデータベース管理方法およびプログラムに関するものである。
【０００２】
【従来の技術】
データベースシステムの効率化を図る技術としては、例えば、「日経エレクトロニクス１９９５．２．２７（ｎｏ．６３０）」（１９９５年、日経ＢＰ社発行）の第１０３頁に記載のように、リレーショナルデータベース管理システム（ＲＤＢＭＳ：Relational DataBase Management System）の処理負荷を複数のプロセサに分散させ並列に実行するアーキテクチャに関する技術や、同じく「日経エレクトロニクス１９９５．２．２７（ｎｏ．６３０）」（１９９５年、日経ＢＰ社発行）の第１０９頁に記載のように、ＲＤＢＭＳにおいて、表データを複数のディスク（記憶装置）へ分割して格納することによりディスクアクセスを分散させる技術等がある。
【０００３】
この従来技術に記載の、例えば、表の分割の一方式であるハッシュ分割方式は、表を構成する列が持つ値にハッシュ関数を使用して均等に分割する方式であり、データが各ディスク（記憶装置）に均等に格納されるため、負荷が均等に分散される。
【０００４】
しかし、データ量が増加してくると、記憶装置の容量不足や、性能劣化が発生するため、表データを格納するディスク台数を増やし分割数を増やす必要が出てくる。
【０００５】
ハッシュ分割された表の分割数を増やすと、既に格納されたデータを再度均等に分割し格納し直す必要があるが（これを「再配置処理」と呼ぶ）、このような再配置処理の効率化を図る技術として、例えば、特願平１１−３２２１１９号公報に記載のものがある。
【０００６】
この特願平１１−３２２１１９号公報に記載の技術を適用することにより、ハッシュ分割された表の分割数の増加に伴う、既格納済データの再配置処理を、格納済みデータから、追加したディスクへのデータ移動のみで実現することができる。
【０００７】
しかし、この従来技術は、再配置処理の効率化を図っただけのものであり、表に対する検索、更新、削除、挿入等のデータベース処理要求が受け付けられない状態にして、再配置処理を実行する必要がある。すなわち、再配置処理が開始されると、再配置処理が終了するまで、表に対する検索、更新、削除、挿入等のデータベース処理が実行されなくなる。
【０００８】
また、データの再配置に関する技術として、例えば、特開平７−１４１１２１号公報や特開平８−２２１２１６号公報、特開平１１−１４３６４７号公報に記載のように、ディスクアレイシステムにおいて、記憶装置を増設した際に、データの再配置とデータアクセス（読み出し、書き込み）を平行して実行するものがある。
【０００９】
例えば、特開平７−１４１１２１号公報および特開平８−２２１２１６号公報に記載の技術では、再配置中の位置等の再編成中の情報を、処理装置からのデータアクセス時に参照可能とし、また、処理装置よりアクセス要求されるデータが特定されており、アクセス要求されるデータが再編成されたかどうかの判別を容易に行うことができる。
【００１０】
また、特開平１１−１４３６４７号公報に記載の技術のよれば、動的な論理ディスクの再構成が可能であり、増設した物理ディスクにもアクセスを分散させ、装置を動作させたまま増設によるディスクアレイ装置の性能を向上させることができる。
【００１１】
しかし、これらのディスクアレイシステムにおける再編成技術では、再配置中の位置等の再編成中の情報を共用する必要がある。すなわち、アクセス要求を受け付けるノードが、再編成中の情報を得るためには、再編成のためのデータ移動を対象ノード間で行った後、その情報を、アクセス要求を受け付けるノードに連絡する必要があり、そのための通信オーバーヘッドが発生してしまう。
【００１２】
従って、上述のディスクアレイシステムにおける再編成技術をデータベースシステムに適用したとしても、再配置処理とデータアクセスとの並列実行を効率的に行うことはできない。データベースシステムにおいては、再配置中の位置等の情報を共用することなく、再配置処理とデータアクセスを並列実行させることが要求される。
【００１３】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、新たな記憶装置の追加に伴う表データの再配置処理中は、表に対する検索、更新、削除、挿入等のデータベース処理を実行することができない点である。
【００１４】
本発明の目的は、これら従来技術の課題を解決し、表データの再配置処理実行中にも、検索、更新、削除、挿入等のデータベース処理要求の受付、および実行を停止させることなく並行して実行させ、データベースの操作性および性能を向上させることを可能とするデータベースシステムとデータベース管理方法およびプログラムを提供することである。
【００１５】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータベースシステムとデータベース管理方法は、（１）複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割規則（方法）に従って決定された記憶装置に格納するものであり、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を実行すると共に、このデータ再配置処理実行中に、表に対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置に追加記憶装置を含めて検索、更新、削除を実行し、また、表に対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置の情報を含めて指定のデータ分割方法に従って決定した記憶装置にデータを挿入することを特徴とする。（２）また、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割方法に従って決定された記憶装置に格納し、表に対して検索、更新、削除が要求された場合には各記憶装置に対して並列処理を行う並列データベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を実行し、このデータ再配置処理実行中に、表に対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置で検索、更新、削除を各記憶装置に対して並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置での検索、更新、削除を各記憶装置に対して並列処理実行し、さらに、表に対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置の情報を含めて指定のデータ分割方法に従って決定した記憶装置にデータを挿入することを特徴とする。（３）また、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割方法に従って決定された記憶装置に格納するデータベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定したデータを既存の記憶装置から追加記憶装置へコピーし、コピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加し、移動対象となった全てのデータの追加記憶装置へのコピーが完了すると、コピー元の全てのデータを削除するデータ再配置処理を実行し、このデータ再配置処理実行中に、表に対する検索が要求されると、既存の記憶装置に格納されたデータを検索対象として検索処理を行い、また、表に対する更新、削除が要求されると、既存の記憶装置に格納されたデータを更新、削除対象として処理を行い、更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対しも同じ更新、削除、動作を行い、さらに、表に対する挿入が要求されると、既存の記憶装置に対して指定の分割方法に従って決定した記憶装置にデータを格納し、挿入データが追加記憶装置を含めて指定の分割方法に従うと移動対象となる場合は移動先の追加記憶装置に対してもデータを格納し、追加記憶装置への格納位置情報を既存の記憶装置に格納したデータに付加することを特徴とする。（４）また、定義された表により上記（１）〜（３）を選択し実行することを特徴とする。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図１は、本発明に係わるデータベースシステムの構成例を示すブロック図であり、図２は、図１におけるデータベースシステムのハードウェア構成例を示すブロック図、図３は、図１におけるハッシュ関数値格納位置対応表の登録内容例を示す説明図、図４は、図１におけるデータベース管理システムによる再配置処理中のデータベース処理要求の受付と実行動作の第１の例を示す説明図である。
【００１７】
図２に示すように、本例のデータベースシステムを構成するデータベース管理システム（図中、「ＤＢＭＳ」と記載）３００は、それぞれＣＰＵ（Central Processing Unit）や入力装置および表示装置等を具備してコンピュータ機能を有する複数のユーザ端末３００ａ〜３００ｃからの要求に基づき、データの検索、更新、削除、挿入（追加）等のデータベース処理を行うものであり、ネットワーク３０１で相互結合されたそれぞれコンピュータ機能を有するＤＢＭＳ受付けノード４００とＤＢＭＳ実行ノード４１０ａ〜４１０ｃにより構成される。
【００１８】
ＤＢＭＳ受付けノード４００は、ＣＰＵ４０１と主記憶装置（図中「主記憶」と記載）４０２およびＨＤＤ（Hard Disk Drive）等からなる外部記憶装置３１８を具備し、メモリ４０２に格納されたＤＢＭＳ受付部プログラム（図中「ＤＢＭＳ受付部ＰＧＭ」と記載）３１０ａをＣＰＵ４０１が実行することにより、図１のＤＢＭＳ受付部３１０における各処理部の機能を構成し、ＤＢＭＳの受け付け処理を行う。
【００１９】
ＤＢＭＳ実行ノード４１０ａ〜４１０ｃのそれぞれは、ＣＰＵ４１１ａ〜ＣＰＵ４１１ｃと主記憶装置（図中「主記憶」と記載）４１２ａ〜４１２ｃおよびＨＤＤ等からなる外部記憶装置３２５ａ〜３２５ｃを具備し、主記憶装置４１２ａ〜４１２ｃに格納されたＤＢＭＳ実行部プログラム（図中「ＤＢＭＳ実行部ＰＧＭ」と記載）３２０ａ〜３２０ｃをＣＰＵ４１１ａ〜４１１ｃが実行することにより、図１のＤＢＭＳ実行部３２０ａ〜３２０ｃにおける各処理部の機能を構成し、ＤＢＭＳの実行処理を行う。
【００２０】
尚、ＤＢＭＳ受付部プログラム３１０ａとＤＢＭＳ実行部プログラム３２０ａ〜３２０ｃは、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）やＤＶＤ（Digital Video Disc/Digital Versatile Disc）などの光ディスク等からなる記録媒体に記憶され、これらの記録媒体から外部記憶装置３１８，３２５ａ〜３２５ｃにインストールされ、主記憶装置４０２，４１２ａ〜４１２ｃにロードされる。
【００２１】
図１に示すＤＢＭＳ３００におけるＤＢＭＳ受付部３１０とＤＢＭＳ実行部３２０ａ〜３２０ｃは、図２におけるＤＢＭＳ受付けノード４００とＤＢＭＳ実行ノード４１０ａ〜４１０ｃに対応するものであり、それぞれ、ネットワーク３０１で相互結合されている。
【００２２】
ＤＢＭＳ受付部３１０は、要求受付部３１１と解析部３１２、処理手順生成部３１３、実行先決定部３１４、実行要求・結果受取部３１５、返却部３１６、および、再配置処理実行部１０２からなり、ＤＢＭＳ実行部３２０ａ〜３２０ｃは、検索部３２１ａ〜３２１ｃ、更新部３２２ａ〜３２２ｃ、削除部３２３ａ〜３２３ｃ、挿入部３２４ａ〜３２４ｃからなる。
【００２３】
ＤＢＭＳ受付部３１０は、要求受付部３１１により、ユーザ端末からの処理要求３３０を受け付け、その要求を、解析部３１２により解析し、処理手順生成部３１３により、その要求を実現させるための処理手順を生成する。
【００２４】
そして、実行先決定部３１４により、生成した処理手順をどのＤＢＭＳ実行部で実行させるかを決定し、実行要求・結果受取部３１５により、決定したＤＢＭＳ実行部に実行要求を行い、ＤＢＭＳ実行部より実行結果を受け取る。受け取った結果を、返却部３１６により、ユーザに返却する。
【００２５】
解析処理部３１２と処理手順生成部３１３、および、実行先決定部３１４では、外部記憶装置３１８に格納されたハッシュ関数値格納位置対応表３１７や表定義情報３１９を参照し、データ格納先決定のための情報や、表に関する情報を取得する。
【００２６】
例えば、表定義情報３１９には、表を分割格納する記憶装置の管理に用いられる格納領域情報３４０、格納領域追加時の記憶装置の管理に用いられる追加領域情報３４１、再配置処理実行中を示す再配置処理処理中フラグ３４２が格納される。尚、これら表定義情報３１９の各構成要素の詳細に関しては、後述の図５〜図１２を用いた具体例での説明において説明する。
【００２７】
ＤＢＭＳ実行部３２０ａ〜３２０ｃは、ＤＢＭＳ受付部３１０より実行要求を受け取ると、検索、更新、削除、挿入等の指示に対応して、検索部３２１ａ〜３２１ｃ、更新部３２２ａ〜３２２ｃ、削除部３２３ａ〜３２３ｃ、挿入部３２４ａ〜３２４ｃを起動し、それぞれの処理手順を実行し、その実行結果を、ＤＢＭＳ受付部３１０に返却する。
【００２８】
処理手順実行時には、外部記憶装置３２５ａ〜３２５ｃに格納された表データ３２６をアクセスする。
【００２９】
尚、このような処理において、ＤＢＭＳ受付部３１０の実行先決定部３１４が、複数のＤＢＭＳ実行部（３２０ａ〜３２０ｃ）を選択した場合、ＤＢＭＳ受付部３１０の実行要求・結果受取処理部３１５は、選択された全てのＤＢＭＳ実行部（３２０ａ〜３２０ｃ）に同時に実行要求し、それぞれのＤＢＭＳ実行部（３２０ａ〜３２０ｃ）において並行に処理を実行することでも良い。
【００３０】
ここで、ＤＢＭＳ３００におけるデータの分割動作について説明する。本例では、データを分割して格納する場合、格納対象データにハッシュ関数を適用し「０」から「９」の値を生成し、その値により格納先を振り分ける。
【００３１】
図３にその詳細を示すハッシュ関数格納位置対応表３１７は、ハッシュ関数値より格納位置を決定するための情報で、本例においては、データの分割を「最大１０分割」までとし、各分割数時にハッシュ関数値のデータが何処に格納されるかを示す情報が格納される。
【００３２】
例えば、二つの記憶装置に分割して格納する場合、ハッシュ関数格納位置対応表３１７における２分割時の「領域０」と「領域１」の項目のように、ハッシュ関数値「０，４，６，７，９」となるデータを「領域０」に格納し、ハッシュ関数値「１，２，３，５，８」となるデータを「領域１」に格納する。
【００３３】
格納領域が追加された場合に、再配置処理実行部１０２により移動するデータも、図３のハッシュ関数格納位置対応表３１７により求めることができる。例えば、記憶装置が１つ追加され、２分割より３分割とする場合、「領域２」が追加され、ハッシュ関数格納位置対応表３１７における３分割の場合のように、「領域２」にハッシュ関数値「２，７，３」となるデータを格納することになるので、２分割時に「領域０」と「領域１」のそれぞれに格納されていたハッシュ関数値「２，７，３」となるデータを、追加領域である「領域２」に移動すればよい。
【００３４】
同様に、２分割から５分割化する場合には、「領域２」、「領域３」、「領域４」が追加され、「領域２」には「２，７」、「領域３」には「３，６」、「領域４」には「４，５」となるハッシュ関数値のデータを移動させればよい。
【００３５】
このような格納領域が追加された場合のデータの移動処理、すなわち、再配置処理と、データベース処理（検索、更新、削除、挿入等）要求の受付とに対して、図１に示す構成のデータベースシステムでは、データベース管理システム３００により、以下のようにして対処する。
【００３６】
すなわち、表のデータを格納する記憶装置、例えば、外部記憶装置３２５ｃの追加が要求されると、ＤＢＭＳ受付部３１０では、再配置処理実行部１０２により、ハッシュ関数値格納位置対応表３１７を参照して、既存の記憶装置、例えば、外部記憶装置３２５ａ，３２５ｂから追加記憶装置（外部記憶装置３２５ｃ）へ移動するデータを決定し、移動対象として決定した全てのデータを追加記憶装置（外部記憶装置３２５ｃ）に移動させる。
【００３７】
このデータの再配置処理を実行中に、表のデータに対する検索、更新、削除などの処理が要求されると、表のデータを格納する既存の記憶装置（外部記憶装置３２５ａ，３２５ｂ）および追加記憶装置（外部記憶装置３２５ｃ）のそれぞれに対して検索、更新、削除を実行し、また、表のデータに対する挿入が要求された場合には、ハッシュ関数値格納位置対応表３１７を参照し、当該記憶装置（外部記憶装置３２５ａ，３２５ｂ，３２５ｃのいずれか）にデータを挿入する。
【００３８】
また、図１のデータベース管理システム３００が、表のデータに対して検索、更新、削除が要求された場合に、各記憶装置に対して並列処理を行う並列データベースシステムであれば、データの再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置（外部記憶装置３２５ａ，３２５ｂ）に対して検索、更新、削除を並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置（外部記憶装置３２５ｃ）を含めて検索、更新、削除を並列処理実行し、さらに、表のデータに対する挿入が要求されると、既存の記憶装置（外部記憶装置３２５ａ，３２５ｂ）の情報と追加記憶装置（外部記憶装置３２５ｃ）の情報を含めて、ハッシュ関数値格納位置対応表３１７を参照して実行先決定部３１４が決定した記憶装置（外部記憶装置３２５ａ，３２５ｂａ，３２５ｃのいずれか）にデータを挿入する。
【００３９】
このような格納領域が追加された場合のデータの移動処理における図１のＤＢＭＳ３００による本発明に係わる制御方法、すなわち、再配置処理中のデータベース処理要求の受付と実行動作について、図４を用いてより具体的に説明する。
【００４０】
図４（ａ）に示すように、ハッシュ関数値「０，４，６，７，９」となるデータが記憶装置Ａ１２０に、また、ハッシュ関数値「１，２，３，５，８」となるデータが記憶装置Ｂ１３０に、それぞれ分割して格納されているデータベース表がある場合での、再配置処理、および、再配置処理中の検索、更新、削除、挿入処理について説明する。
【００４１】
図４（ａ）に示す構成では、検索、更新、削除の各処理１００は、記憶装置Ａ１２０と記憶装置Ｂ１３０において各データ１２１〜１２５，１３１〜１３５に対して実行され、また、ハッシュ関数値が「３」となるようなデータ１３３の挿入処理１０１は、記憶装置Ｂ１３０で実行される。
【００４２】
ここで、図４（ｂ）に示すように、記憶装置Ｃ１４０が追加された場合（記憶装置Ａ１２０と記憶装置Ｂ１３０を合わせて既存領域と呼び、記憶装置Ｃ１４０を追加領域と呼ぶ）、再配置処理１０２ａでは、記憶装置Ａ１２０と記憶装置Ｂ１３０に格納されたデータより記憶装置Ｃ１４０へ移動するデータを選び出し、選び出したハッシュ関数値「７，２，３」となるデータを記憶装置Ｃ１４０へ移動する。
【００４３】
このデータの移動は、まず、記憶装置Ａ１２０と記憶装置Ｂ１３０の移動対象データの検索を行い、次に、記憶装置Ｃ１４０への挿入を行い、そして、記憶装置Ａ１２０と記憶装置Ｂ１３０の移動対象データの削除を行うとの手順で実行する。
【００４４】
尚、データベースシステムにおいては、この移動対象データの検索から移動対象データの削除までの間、データにはロックがかかり、他のユーザが検索、更新、削除処理を行うことが禁止される。
【００４５】
本例では、再配置処理１０２ａの実行中、検索、更新、削除の各処理１００を、既存領域と追加領域の両方で実行する。すなわち記憶装置Ａ１２０と記憶装置Ｂ１３０と記憶装置Ｃ１４０で実行する。尚、このような検索、更新、削除中には、当該データにロックがかかり、ユーザから別途指示されるまで、再配置処理１０２ａが当該データを参照するのは禁止される。
【００４６】
また、再配置処理中のハッシュ関数値が「３」となるデータの挿入処理１０１は、移動先の追加領域である記憶装置Ｃ１４０に当該データを格納する。
【００４７】
再配置処理１０２ａにより移動中のデータを、他のユーザが検索、更新、削除しようとすると、ロックによりアクセスが禁止されているため、データの移動完了まで待たされるが、データの移動完了によりロックが解除されると、待たされていた処理を再開することができる。
【００４８】
また、検索、更新、削除中のデータを、再配置処理１０２ａにより移動しようとした場合も、ロックによりアクセスが禁止されているため、ユーザがロックを解除するまで待たされるが、ロックが解除されると、待たされていた再配置処理１０２ａが再開される。
【００４９】
これにより、不当にデータの値を更新されたり、データが削除されることを防止できる。
【００５０】
再配置処理１０２ａの実行中は、ハッシュ関数値が「７」となるデータは記憶装置Ａ１２０または記憶装置Ｃ１４０に格納され、ハッシュ関数値が「２、３」となるデータは記憶装置Ｂ１２０または記憶装置Ｃ１４０に格納されることになるが、検索、更新、削除の各処理１００では、既存領域と追加領域の両方を参照するので、どちらに格納されていても、検索、更新、削除を行うことが可能である。
【００５１】
また、再配置対象となるようなデータを再配置先に挿入することにより、余分な再配置処理の発生を防止できる。
【００５２】
以上の処理により、再配置処理中に、再配置中の表データに対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能となる。
【００５３】
このような処理動作を、図５から図１２により、さらに具体的な例を用いて詳細に説明する。
【００５４】
図５は、図１におけるデータベース管理システムの再配置処理前の具体的な第１の構成例を示すブロック図であり、図６は、図５におけるデータベース管理システムの管理対象である在庫表の構成例を示す説明図、図７は、図５におけるＤＢＭＳ受付部での第１の処理動作例を示すフローチャート、図８は、図５におけるＤＢＭＳ受付部での第２の処理動作例を示すフローチャート、図９は、図５におけるＤＢＭＳ受付部での第３の処理動作例を示すフローチャート、図１０は、図５におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図、図１１は、図１０におけるデータベース管理システムによる再配置処理動作例を示すフローチャート、図１２は、図１におけるデータベースシステムの再配置処理後の具体的な構成例を示すブロック図である。
【００５５】
図５に示すデータベースシステムのデータベース管理システムにおけるＤＢＭＳ受付部６００とＤＢＭＳ実行部６１０ａ〜６１０ｃは、それぞれ、図１に示すデータベース管理システム３００におけるＤＢＭＳ受付部３１０とＤＢＭＳ実行部３２０ａ〜３２０ｃと実質的に同じ機能を有するものである。
【００５６】
ＤＢＭＳ受付部６００に接続する記憶装置ｄ６３０には、図３に示したハッシュ関数値格納位置対応表３１７と同じ内容のハッシュ関数値格納位置対応表６３５と、表毎に定義される表定義情報６３１が格納される。この表定義情報６３１には、表が何処に格納されているかを示す格納領域情報（図中、「格納領域」と記載）６３２と、表に領域を追加した場合に何処の領域を追加したかを示す追加領域情報（図中、「追加領域」と記載）６３３、および、再配置処理実行中を示す再配置処理中フラグ６３４を格納する。
【００５７】
ＤＢＭＳ実行部６１０ａ、ＤＢＭＳ実行部６１０ｂそれぞれに接続する各記憶装置Ａ６２０ａ、記憶装置Ｂ６２０ｂには、在庫表である格納データ６２１，６２２がデータベースとして格納され、ＤＢＭＳ受付部６００の指示により検索、更新、削除、挿入等の操作が実行される。
【００５８】
本例においては、最大分割数を１０とし、分割に使用するハッシュ関数は、格納データ６２１，６２２における各商品の識別番号（商品コード）を、最大分割数「１０」で割った余りの値としている。
【００５９】
図６に示すように、本例で取り扱うデータベースは、衣料関係の在庫表５００であり、商品コード５１０、商品名５２０、色５３０、単価５４０、在庫量５５０の各項目からなる。
【００６０】
図６に示す在庫表５００を図５のデータベースシステムに適用し、商品コード５１０における値を用いて、記憶装置Ａ６２０ａ、記憶装置Ｂ６２０ｂに分割格納する場合、商品コード５１０における値に対して算出されるハッシュ関数値に、ハッシュ関数値格納位置対応表６３５、すなわち、図３に示すハッシュ関数値格納位置対応表３１７の２分割時の振分けを適用する。
【００６１】
この結果、ハッシュ関数値「０，９，４，６，７」となる値のデータは記憶装置Ａ６２０ａに格納し、ハッシュ関数値「１，８，５，２，３」となる値のデータは記憶装置Ｂ６２０ｂに格納する。また、記憶装置ｄ６３０内における表定義情報６３１の格納領域情報６３２に、記憶装置Ａ、記憶装置Ｂが定義されている。
【００６２】
この状態で検索、更新、削除要求が行われると、ＤＢＭＳ受付部６００は、要求受付部６０１により、その要求を受け付け、解析部６０２により、受け付けた要求を解析し、処理手順生成部６０３により、解析した要求を実現させるための処理手順を生成し、実行先決定部６０４により、生成した処理手順をどの実行部で実行させるか決定する。
【００６３】
この実行先決定部６０４による実行先決定処理の詳細は、図７に示すように、まず、記憶装置ｄ６３０の表定義情報６３１における再配置処理中フラグ６３４の値を参照し、再配置処理実行中か否かチェックし（ステップＳ７０１）、再配置処理実行中でない場合、格納領域情報６３２に定義された領域を実行先とする（ステップＳ７０２）。
【００６４】
図５に示す例の場合、格納領域情報６３２には、記憶装置Ａ、記憶装置Ｂが定義されているので、ＤＢＭＳ実行部６１０ａ、ＤＢＭＳ実行部６１０ｂを実行先とする。尚、ステップＳ７０１でのチェック結果が再配置処理実行中の場合の動作は後述する。
【００６５】
このように決定した実行先に対して、ＤＢＭＳ受付部６００では、実行要求・結果受取部６０５により、実行要求と、その結果の受け取り処理を行う。この実行要求・結果受取部６０５による処理の詳細は、図８に示すように、まず、再配置処理中フラグ６３４の値を参照し、再配置処理実行中か否かチェックする（ステップＳ７１１）。
【００６６】
再配置処理実行中でない場合には、実行先決定部６０４で決定した全てのＤＢＭＳ実行部に対して同時に実行要求を行い（ステップＳ７１２）、各ＤＢＭＳ実行部からの実行結果を受け取る（ステップＳ７１３）。
【００６７】
図５におけるＤＢＭＳ受付部６００は、返却部６０６の処理により、最後に受け取った実行結果を返却する。尚、ステップＳ７１１でのチェック結果が再配置処理実行中の場合の動作は後述する。
【００６８】
また、図５におけるデータベース管理システムに挿入要求が行われると、ＤＢＭＳ受付部６００は、上述した要求受付部６０１、解析部６０２、処理手順生成部６０３による各処理、および、実行先決定部６０４による、挿入先となる実行先の決定を行う。
【００６９】
この実行先決定部６０４による挿入実行先の決定処理の詳細は、図９に示すように、まず、図５の記憶装置ｄ６３０の表定義情報６３１における再配置処理中フラグ６３４の値を参照し、再配置処理実行中か否かをチェックする（ステップＳ７２１）。
【００７０】
再配置中でない場合には、挿入するデータよりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表６３５（図１および図３のハッシュ関数値格納位置対応表３１７）を参照して、ハッシュ関数値より、格納領域情報６３２に定義された領域から挿入実行先を選択する（ステップＳ７２２）。尚、ステップＳ７２１でのチェック結果が再配置処理実行中の場合の動作は後述する。
【００７１】
図５に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求める。ハッシュ関数値が「０，９，４，６，７」となる場合は記憶装置Ａ６２０ａを選択し、また、ハッシュ関数値が「１，８，５，２，３」となる場合は記憶装置Ｂ６２０ｂを選択する。
【００７２】
このようにして選択した挿入先に対して、ＤＢＭＳ受付部６００は、実行要求・結果受取部６０５により、挿入実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部６０６により返却する。
【００７３】
また、図５のデータベース管理システムにおいて、図１０に示すようにして、在庫表の格納領域として記憶装置Ｃ６２０ｃを追加すると、記憶装置ｄ６３０の追加領域情報６３３に記憶装置Ｃが定義され、再配置処理要求が生成され、再配置処理実行部１１００での処理が開始される。
【００７４】
この再配置処理実行部１１００による再配置処理の詳細を、図１１に基づき説明する。すなわち、図５に示す記憶装置ｄ６３０の表定義情報６３１における再配置処理中フラグ６３４を、再配置処理実行中とし（ステップＳ１１０１）、格納領域情報６３２および追加領域情報６３３を参照して、領域追加前の分割数と領域追加後の分割数を求め、ハッシュ関数値格納位置対応表６３５を参照し、移動対象となるデータを求める（ステップＳ１１０２）。
【００７５】
図１０では２分割していたものに領域が１つ追加され、３分割となるので、ハッシュ関数値格納位置対応表６３５（図３のハッシュ関数値格納位置対応表３１７）に基づき、ハッシュ関数値「２，７，３」となるデータが移動対象となることがわかる。
【００７６】
このようにして求めた移動対象データが格納されたＤＢＭＳ実行部に対して、再配置処理実行部１１００は、データの検索要求を行う（ステップＳ１１０３）。図１０では、移動対象のハッシュ関数値「７」は記憶装置Ａ６２０ａに格納され、また、ハッシュ関数値「２，３」となるデータは記憶装置Ｂ６２０ｂに格納されているので、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂに対して検索要求を行う。
【００７７】
再配置処理実行部１１００から検索要求されたＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂは、データを１件検索し、結果をＤＢＭＳ受付部６００に返却する。
【００７８】
図１１において、ＤＢＭＳ受付部６００は、ＤＢＭＳ実行部６１０ａ，６１０ｂから返却されたデータを１件受取り（ステップＳ１１０４）、受け取ったデータの値よりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表６３５を参照して移動先を求め（ステップＳ１１０５）、移動先のＤＢＭＳ実行部に対して挿入要求を行う（ステップＳ１１０６）。
【００７９】
挿入要求されたＤＢＭＳ実行部はデータの挿入を実行し、挿入完了をＤＢＭＳ受付部６００に連絡する（ステップＳ６１４）。ＤＢＭＳ受付部６００はデータの挿入完了を受け取り（ステップＳ１１０７）、挿入した元データの削除要求を行う（ステップＳ１１０８）。
【００８０】
例えば、図１０の再配置処理実行部１１００では、ＤＢＭＳ実行部６１０ａで商品コードの値が「６７７」のデータ１０００が検索され、ＤＢＭＳ受付部６００に返却される。データの移動先は記憶装置Ｃ６２０ｃなので、ＤＢＭＳ実行部６１０ｃに挿入を要求し、記憶装置Ｃ６２０ｃにデータ１００１が格納される。
【００８１】
挿入完了後、再配置処理実行部１１００は、ＤＢＭＳ実行部６１０ａにおける商品コードの値が「６７７」のデータ１０００を削除するよう要求する。
【００８２】
再配置処理実行部１１００から削除要求されたＤＢＭＳ実行部６１０ａは、削除部６１３ａにより、当該データの削除を行い、削除完了をＤＢＭＳ受付部６００に連絡する。ＤＢＭＳ受付部６００は、データ削除完了を受け取り（ステップＳ１１０９）、次の検索データを取り出し、次の検索データがあるか否かチェックする（ステップＳ１１１０）。
【００８３】
次のデータがある場合には、データがなくなるまで、ステップＳ１１１０〜Ｓ１１０４におけるデータ受取り、挿入、削除の各処理を繰り返し、次のデータがなくなり全てのデータの移動が終了すると、格納領域情報６３２に追加領域情報６３３の内容を追加し（ステップＳ１１１１）、追加領域情報６３３の内容の削除（ステップＳ１１１２）と、再配置処理処理中フラグ６３４の消去を行う（ステップＳ１１１３）。
【００８４】
このようにして、再配置処理が終了すると、図１２に示すように、記憶装置Ａ６２０ａには格納データ６２１ａが、記憶装置Ｂ６２０ｂには格納データ６２２ａが、そして、記憶装置Ｃ６２０ｃには格納データ６２３が格納される。
【００８５】
このような再配置処理中に、データの検索、更新、削除、および、データの挿入が要求された場合の動作について、すなわち、本発明に係わるデータベース管理方法について、以下、説明する。
【００８６】
まず、再配置処理中に、データの検索、更新、削除が要求された場合について説明する。このような場合、図１０におけるＤＢＭＳ受付部６００では、要求受付部６０１と解析部６０２、処理手順生成部６０３での各処理、および、実行先決定部６０４での実行先決定処理を行い、この実行先決定処理において、図７に示すように、再配置処理中フラグを参照し、再配置処理実行中かチェックする（ステップＳ７０１）。
【００８７】
この際、再配置処理実行中であり、記憶装置ｄ６３０の表定義情報６３１における格納領域情報６３２および追加領域情報６３３に定義された領域を実行先とする（ステップＳ７０３）。図１０に示す例では、格納領域情報６３２に記憶装置Ａ６２０ａと記憶装置Ｂ６２０ｂが、また、追加領域情報６３３に記憶装置Ｃ６２０ｃが定義されているので、ＤＢＭＳ実行部６１０ａ、ＤＢＭＳ実行部６１０ｂ、ＤＢＭＳ実行部６１０ｃのそれぞれが実行先となる。
【００８８】
このようにして決定した各実行先に対して、ＤＢＭＳ受付部６００は、実行要求・結果受取部６０５による処理を行うが、この場合の実行要求結果受取り処理を、図８で説明する。
【００８９】
すなわち、ＤＢＭＳ受付部６００は、記憶装置ｄ６３０の表定義情報６３１における再配置処理中フラグ６３４を参照し、再配置処理実行中か否かをチェックすると（ステップＳ７１１）、再配置処理実行中であるので、まず、図７の実行先決定処理でステップＳ７０３において決定した実行先に基づき、格納領域情報６３２に定義された記憶装置に対応する各ＤＢＭＳ実行部に実行要求を行う（ステップＳ７１４）。
【００９０】
実行要求先の全てのＤＢＭＳ実行部から実行結果を受け取ると（ステップＳ７１５）、次に、追加領域情報６３３に定義された記憶装置に対応する各ＤＢＭＳ実行部に実行要求を行い（ステップＳ７１６）、実行要求したＤＢＭＳ実行部から実行結果を受け取る（ステップＳ７１７）。
【００９１】
ＤＢＭＳ受付部６００は、ステップＳ６０６での処理により、最後に受け取った結果を返却する。
【００９２】
図１０の例では、記憶装置ｄ６３０の表定義情報６３１における格納領域情報６３２に記憶装置Ａ６２０ａと記憶装置Ｂ６２０ｂが定義され、また、追加領域情報６３３に記憶装置Ｃ６２０ｃが定義されているので、まず、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂに対して、検索、更新、削除実行要求を行い、全ての結果を受け取った後、ＤＢＭＳ実行部６１０ｃに対して検索、更新、削除実行要求を行い、結果を受け取る。
【００９３】
また、再配置処理中に挿入が要求された際には、ＤＢＭＳ受付部６００は、図１０における要求受付部６０１、解析部６０２、処理手順生成部６０３、および、挿入先決定部６０４の各処理を行うが、この挿入先決定部６０４での処理は、図９に示す処理となる。
【００９４】
すなわち、ステップＳ７２１における、再配置処理中フラグを参照しての再配置処理実行中か否かのチェックでは、再配置処理実行中となるので、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表６３５を参照し、ハッシュ関数値より格納領域情報６３２に定義された領域と追加領域情報６３３に定義された領域から挿入先を選択する（ステップＳ７２３）。
【００９５】
図１０に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求め、ハッシュ関数値が「０，９，４，６」となる場合は記憶装置Ａ６２０ａを選択し、また、ハッシュ関数値が「１，８，５」となる場合は記憶装置Ｂ６２０ｂを選択し、さらに、ハッシュ関数値が「２，７，３」となる場合は記憶装置Ｃ６２０ｃを選択する。
【００９６】
そして、ＤＢＭＳ受付部６００では、選択した挿入先に対して、挿入実行要求・結果受取部６０５による処理を行い、最後に受け取った結果を、返却部６０６により返却する。
【００９７】
このような検索、更新、削除、挿入中のデータに対してはロックがかかり、ユーザから別途指示されるまで、他のユーザや再配置処理が検索、更新、削除を行うことが禁止される。同様に、再配置処理中のデータ一件毎に移動処理を行うデータに対してもロックがかかり、移動処理完了時まで、他のユーザが検索、更新、削除処理を行うことが禁止される。
【００９８】
尚、本例においては、検索、更新、削除処理の実行先は、データが格納された全ての記憶装置に対して実施しているが、条件が付加された検索、更新、削除処理の場合、実行先の記憶装置を絞って実行させることが可能である。再配置処理中の検索、更新、削除処理で、実行先の記憶装置を絞った場合、実行先の記憶装置に再配置対象のデータが格納されている場合のみ、追加領域で検索、更新、削除処理を行えばよい。
【００９９】
以上の処理により、再配置処理中であっても、再配置中の表データに対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能である。
【０１００】
次に、本発明に係わるデータベースシステムの他の例を説明する。このデータベースシステムでは、例えばハッシュ分割により決定した既存の記憶装置に格納しているデータに対して、記憶装置の追加に伴い再配置処理を行う際、移動対象に決定したデータを既存の記憶装置から追加記憶装置へコピーし、コピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加し、移動対象となった全てのデータの追加記憶装置へのコピーが完了した後に、コピー元の全てのデータを削除する。
【０１０１】
そして、このデータ再配置処理の実行中に、表のデータに対する検索が要求されると、既存の記憶装置に格納されたデータを検索対象として検索処理を行う。また、再配置処理実行中に、表のデータに対する更新、削除が要求されると、まず、既存の記憶装置に格納されたデータを更新、削除対象として処理を行い、次に、更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対し同じ更新、削除処理を行う。
【０１０２】
また、再配置処理実行中に、表のデータに対する挿入が要求され、当該挿入データが追加記憶装置への移動対象データである場合には、当該挿入データを、既存の記録装置に格納すると共に移動先の追加記憶装置に対しても格納し、この追加記憶装置への格納位置情報を、既存の記憶装置に格納したデータに付加する。
【０１０３】
このような動作を行うデータベースシステムの基本構成は、図１で示したものと同じあり、また、そのハードウェア構成も、図２で示したものと同じで良い。
【０１０４】
以下、このような構成で、かつ、データの分割に関しても、図１および図３で示したハッシュ関数値格納位置対応表３１７に基づくものとし、図６に示した在庫表を図１のデータベースシステムに適用し、第２の例としてのデータベースシステムの動作説明を、図１３から図２１を用いて行う。
【０１０５】
図１３は、図１におけるデータベース管理システムの再配置処理前の具体的な第２の構成例を示すブロック図であり、図１４は、図１３におけるＤＢＭＳ受付部での検索実行先決定処理動作例を示すフローチャートであり、図１５は、図１３におけるＤＢＭＳ受付部での更新および削除実行先決定処理動作例を示すフローチャート、図１６は、図１３におけるＤＢＭＳ受付部での更新実行処理動作例を示すフローチャート、図１７は、図１３におけるＤＢＭＳ受付部での削除実行処理動作例を示すフローチャート、図１８は、図１３におけるＤＢＭＳ受付部での挿入実行先決定処理動作例を示すフローチャート、図１９は、図１３におけるＤＢＭＳ受付部での挿入実行処理動作例を示すフローチャート、図２０は、図１３におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図、図２１は、図２０におけるデータベース管理システムによる再配置処理動作例を示すフローチャート、図２２は、図１におけるデータベースシステムによる再配置処理中のデータベース処理要求の受付と実行動作の第２の例を示す説明図である。
【０１０６】
図１３に示すデータベースシステムにおいて、この状態で検索要求が行われると、ＤＢＭＳ受付部６００ａは、要求受付部６０１、解析部６０２、処理手順生成部６０３での各処理を行い、実行先決定部６０４により実行先を決定するが、本例においての実行先決定処理は、図７で示した先の例（第１の例）のように再配置処理実行中であるか否かを判定することなく、図１４に詳細を示すように、単に、格納領域情報６３２に定義された領域を実行先とする（ステップＳ１３０１）。
【０１０７】
図１３に示す例では、格納領域情報６３２に記憶装置Ａおよび記憶装置Ｂが定義されているので、ＤＢＭＳ実行部６１０ａ、ＤＢＭＳ実行部６１０ｂを実行先とする。そして、ＤＢＭＳ受付部６００ａでは、実行要求・結果受取部６０５により、このように決定した実行先に対して検索実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部６０６により返却する。
【０１０８】
また、データの更新もしくは削除に関しても、その要求が行われると、ＤＢＭＳ受付部６００ａは、要求受付部６０１、解析部６０２、処理手順生成部６０３での各処理を行い、実行先決定部６０４での処理により実行先を決定するが、その実行先決定処理としては、検索要求と同様に、図７で示した第１の例のように再配置処理実行中であるか否かを判定することなく、図１５に示すように、単に、格納領域情報６３２に定義された領域を実行先とする（ステップＳ１４０１）。
【０１０９】
図１３に示す例では、格納領域情報６３２に記憶装置Ａおよび記憶装置Ｂが定義されているので、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂを実行先とする。そして、ＤＢＭＳ受付部６００ａは、このように決定した実行先に対して、実行要求・結果受取部６０５により、更新、削除実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部６０７により返却する。
【０１１０】
ＤＢＭＳ実行部６１０ａ，６１０ｂは、更新部６１２ａ，６１２ｂ、および、削除部６１３ａ，６１３ｂにより、図１６および図１７に示すように、更新、削除指定されたデータを検索し（ステップＳ１５０１、Ｓ１６０１）、更新、削除処理を実行する（ステップＳ１５０２、Ｓ１６０２）。
【０１１１】
さらに、更新、削除データを参照し、コピー先を示す位置情報が付加されているか否かをチェックし（ステップＳ１５０３、Ｓ１６０３）、コピー先を示す位置情報が付加されていれば、当該コピー先のデータに対して更新、削除を実行する（ステップＳ１５０６、Ｓ１６０６）。
【０１１２】
その後、あるいは、ステップＳ１５０３、Ｓ１６０３において、位置情報が付加されていない場合には、次の更新、削除指定されたデータを取り出し、次のデータがあるか否かをチェックし（ステップＳ１５０４、Ｓ１６０４）、次のデータがある場合、全てを検索するまでステップＳ１５０１、Ｓ１６０１からの処理を繰り返す。また、次のデータが無くて、全てのデータの検索が終了すると、ＤＢＭＳ受付部６００ａへ実行終了連絡を行う（ステップＳ１５０５、Ｓ１６０５）。
【０１１３】
また、挿入要求が行われた場合には、図１３のＤＢＭＳ受付部６００ａは、要求受付部６０１、解析部６０２、処理手順生成部６０３での各処理を行い、実行先決定部６０４により挿入先を決定する。本例においては、この挿入先決定処理は、図１８に示すようになる。
【０１１４】
すなわち、まず、再配置処理中フラグ６３４を参照し、再配置処理実行中か否かをチェックし（ステップＳ１７０１）、ここでは、再配置処理中でない場合として、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表６３５（図１および図３におけるハッシュ関数値格納位置対応表３１７）を参照し、ハッシュ関数値に基づき、格納領域情報６３２に定義された領域から挿入先を選択する（ステップＳ１７０２）。
【０１１５】
図１３に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求める。ハッシュ関数値が「０，９，４，６，７」となる場合は記憶装置Ａ６２０ａを選択し、ハッシュ関数値が「１，８，５，２，３」となる場合は記憶装置Ｂ６２０ｂを選択する。
【０１１６】
そして、選択した挿入先に対して、ＤＢＭＳ受付部６００ａは、実行要求・結果受取部６０５により、挿入実行要求を行い、その結果を受け取る。この実行要求、結果受取りは、図１９に示す手順で行う。
【０１１７】
すなわち、図１３のＤＢＭＳ受付部６００ａは、再配置処理中フラグ６３４を参照し、再配置処理実行中か否かをチェックし（ステップＳ１８０１）、再配置中でない場合には、実行先決定部６０４での決定処理で選択した記憶装置に対応するＤＢＭＳ実行部に挿入実行要求を行い（ステップＳ１８０２）、その結果を受け取る（ステップＳ１８０３）。そして、最後に受け取った結果を返却する。尚、ステップＳ１８０１でのチェックの結果において、再配置処理実行中の場合の動作は後述する。
【０１１８】
図１３におけるデータベースシステムに、図１０で示した例と同様に、図２０に示すように、在庫表の格納領域に記憶装置Ｃ６２０ｃを追加すると、記憶装置ｄ６３０の追加領域情報６３３に記憶装置Ｃが定義され、再配置処理要求により再配置処理実行部１９０１による処理が開始される。
【０１１９】
この再配置処理では、図２１に示すように、まず、図１３における再配置処理中フラグ６３４を再配置処理実行中にし（ステップＳ２００１）、格納領域情報６３２、追加領域情報６３３を参照して、領域追加前の分割数、および、領域追加後の分割数を求め、ハッシュ関数値格納位置対応表６３５（図１および図３におけるハッシュ関数値格納位置対応表３１７）を参照し、移動対象となるデータを求める（ステップＳ２００２）。
【０１２０】
図２０の例では、２分割していた表に領域が１つ追加され３分割となるので、図３に示すハッシュ関数値格納位置対応表３１７により、ハッシュ関数値「２，７，３」となるデータが移動対象となることがわかる。
【０１２１】
次に、ステップＳ２００２で求めた移動対象データが格納されたＤＢＭＳ実行部に対してデータの検索要求を行う（ステップＳ２００３）。図２０の例では、移動対象のハッシュ関数値「７」は記憶装置Ａ６２０ａに、また、ハッシュ関数値「２，３」は記憶装置Ｂ６２０ｂに格納されているので、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂに対して検索要求を行う。
【０１２２】
このようにして、ＤＢＭＳ受付部６００ａから検索要求されたＤＢＭＳ実行部６１０ａ，６１０ｂは、データを１件検索し、結果をＤＢＭＳ受付部６００ａに返却する。ＤＢＭＳ受付部６００ａは、再配置処理実行部１９０１により、結果を１件受取り（ステップＳ２００４）、受け取ったデータの値よりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表６３５（図１および図３におけるハッシュ関数値格納位置対応表３１７）を参照して移動先（図２０ではＤＢＭＳ実行部６１０ｃ）を求め（ステップＳ２００５）、移動先に対して挿入要求を行う（ステップＳ２００６）。
【０１２３】
挿入要求されたＤＢＭＳ実行部６１０ｃは、挿入部６１４ｃにより、当該データの記憶装置Ｃ６２０ｃでの挿入を行い、データ挿入位置情報と挿入完了をＤＢＭＳ受付部６００ａに連絡する。
【０１２４】
ＤＢＭＳ受付部６００ａは、再配置処理実行部１９０１により、データ挿入位置情報と挿入完了を受け取り（ステップＳ２００７）、移動元データに移動先データ挿入位置情報の追加を行う（ステップＳ２００８）。
【０１２５】
図２０の例では、ＤＢＭＳ実行部６１０ａにおいて、商品コードの値が「６７７」のデータ（トレーナー）１９１１が検索され、ＤＢＭＳ受付部６００ａに返却され、データの移動先は記憶装置Ｃ６２０ｃなのでＤＢＭＳ実行部６１０ｃに挿入要求し、記憶装置Ｃ６２０ｃにデータ１９２１が格納される。そして、挿入完了後、ＤＢＭＳ実行部６１０ａの移動元のデータ１９１１に移動先位置情報１９１２が追加される。
【０１２６】
ステップＳ２００８での処理の後、図１３におけるＤＢＭＳ受付部６００ａの再配置処理実行部１９０１では、次の検索データを取り出し、次のデータがあるか否かをチェックし（ステップＳ２００９）、次のデータがある場合には、全てのデータの処理が終わるまで、ステップＳ２００４〜２００８におけるデータ受取り、移動先特定、データ挿入、移動先位置情報追加処理を繰り返す。
【０１２７】
また、ステップＳ２００９において、次のデータが無くなり全てのデータの移動が終了すると、移動対象データが格納されていたＤＢＭＳ実行部に対して、移動先位置情報が追加されたデータの削除要求を行う（ステップＳ２０１０）。
【０１２８】
削除要求されたＤＢＭＳ実行部では、対象のデータを検索して削除を実行し、削除の完了後、削除完了をＤＢＭＳ受付部６００ａに連絡するので、ＤＢＭＳ受付部６００ａは、このデータの削除完了を受け取り（ステップＳ２０１１）、格納領域情報６３２に追加領域情報６３３を追加し（ステップＳ２０１２）、追加領域情報６３３の削除（ステップＳ２０１３）、および、再配置処理処理中フラグの消去を行う（ステップＳ２０１４）。
【０１２９】
このようにして、再配置処理が終了すると、図２０における記憶装置Ａ６２０ａに格納していた格納データ６２１（在庫表）と、記憶装置Ｂ６２０ｂに格納していた格納データ６２２（在庫表）は、図１２で示す場合と同様に再配置され、記憶装置Ａ６２０ａには格納データ６２１ａが、記憶装置Ｂ６２０ｂには格納データ６２２ａが、記憶装置Ｃ６２０ｃには格納データ６２３が配置される。
【０１３０】
このような再配置処理中に、検索や更新、削除、および、挿入処理要求がなされた場合について以下説明する。
【０１３１】
まず、再配置処理中に検索処理要求がなされた場合、図１３および図２０におけるＤＢＭＳ受付部６００ａでは、要求受付部６０１による要求受付け、解析部６０２による要求の解析、処理手順生成部６０３による処理手順の生成、および、実行先決定部６０４による実行先の決定を行う。
【０１３２】
この実行先の決定処理では、図１４に示すように、図２０の記憶装置ｄ６３０の表定義情報６３１における格納領域６３２に定義された領域を実行先とする（ステップＳ１３０１）。
【０１３３】
図２０に示す例の場合、格納領域６３２には記憶装置Ａと記憶装置Ｂが定義されているので、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂに対して検索実行要求を行う。
【０１３４】
すなわち、実行要求・結果受取部６０５は、実行先決定部６０４が決定した実行先に対して検索実行要求を行い、その結果を受け取る。そして、返却部６０６において、実行要求・結果受取部６０５が最後に受け取った結果を返却する。
【０１３５】
次に、再配置処理中に更新や削除処理要求がなされた場合、ＤＢＭＳ受付部６００ａでは、要求受付部６０１による要求受付け、解析部６０２による要求の解析、処理手順生成部６０３による処理手順の生成、および、実行先決定部６０４による実行先の決定を行う。
【０１３６】
この実行先の決定処理では、図１５に示すように、図２０の記憶装置ｄ６３０の表定義情報６３１における格納領域６３２に定義された領域を実行先とする（ステップＳ１４０１）。
【０１３７】
図２０に示す例の場合、格納領域６３２には記憶装置Ａと記憶装置Ｂが定義されているので、ＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂに対して更新や削除実行要求を行う。
【０１３８】
更新や削除が要求されたＤＢＭＳ実行部６１０ａとＤＢＭＳ実行部６１０ｂは、それぞれ、更新部６１２ａ，６１２ｂ、削除部６１３ａ，６１３ｂにより、図１６および図１７に示すようにして、更新や削除が指定されたデータを検索し（ステップＳ１５０１、Ｓ１６０１）、更新処理や削除処理を実行する（ステップＳ１５０２、Ｓ１６０２）。
【０１３９】
さらに、更新、削除データを参照し、これらの更新、削除データにコピー先を示す位置情報が付加されているか否かをチェックし（ステップＳ１５０３、Ｓ１６０３）、コピー先を示す位置情報が付加されていれば、当該コピー先のデータに対して更新、削除を実行する（ステップＳ１５０６、Ｓ１６０６）。
【０１４０】
その後、あるいは、ステップＳ１５０３、Ｓ１６０３において位置情報が付加されていない場合には、次の更新、削除指定されたデータを取り出し、次のデータがあるか否かをチェックする（ステップＳ１５０４、Ｓ１６０４）。
【０１４１】
次のデータがある場合、全てを検索するまでステップＳ１５０１、Ｓ１６０１からの処理を繰り返す。また、次のデータが無くて、全てのデータの検索が終了すると、ＤＢＭＳ受付部６００ａへ実行終了連絡を行う（ステップＳ１５０５、Ｓ１６０５）。
【０１４２】
このようにして、ＤＢＭＳ実行部６１０ａ，６１０ｂより実行終了連絡を受けると、ＤＢＭＳ受付部６００ａは、最後に受け取った結果を返却する。すなわち、実行要求・結果受取部６０５により、その結果を受け取り、返却部６０６により、実行要求・結果受取部６０５が最後に受け取った結果を返却する。
【０１４３】
また、挿入要求が行われた場合には、図１３および図２０におけるＤＢＭＳ受付部６００ａは、要求受付部６０１、解析部６０２、処理手順生成部６０３での各処理を行い、実行先決定部６０４により挿入先を決定する。本例においては、この挿入先決定処理は、図１８に示すようになる。
【０１４４】
すなわち、まず、再配置処理中フラグ６３４を参照し、再配置処理実行中か否かをチェックし（ステップＳ１７０１）、ここでは、再配置処理中であり、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表６３５（図１および図３に示すハッシュ関数値格納位置対応表３１７）を参照し、ハッシュ関数値より格納領域６３２から挿入先（１）を決定し（ステップＳ１７０３）、格納領域６３２に定義された領域と追加領域情報６３３のそれぞれに定義された領域から挿入先（２）を決定する（ステップＳ１７０４）。
【０１４５】
図２０に示す例の場合、挿入先（１）は、ハッシュ関数値が「０，９，４，６，７」となる場合は記憶装置Ａ６２０ａを選択し、ハッシュ関数値が「１，８，５，２，３」となる場合は記憶装置Ｂ６２０ｂを選択する。
【０１４６】
また、挿入先（２）は、ハッシュ関数値が「０，９，４，６」となる場合は記憶装置Ａ６２０ａを選択し、ハッシュ関数値が「１，８，５」となる場合は記憶装置Ｂ６２０ｂを選択し、そして、ハッシュ関数値が「２，７，３」となる場合は記憶装置Ｃ６２０ｃを選択する。
【０１４７】
このようにして選択した挿入先に対して、ＤＢＭＳ受付部６００ａは、実行要求・結果受取部６０５により、挿入実行要求を行い、その結果を受け取る。この実行要求と結果の受取りは、図１９に示すようにして行う。
【０１４８】
すなわち、図２０における実行要求・結果受取部６０５は、まず、記憶装置ｄ６３０の表定義情報６３１における再配置処理中フラグ６３４を参照し、再配置処理実行中か否かをチェックする（ステップＳ１８０１）。
【０１４９】
ここでは、再配置処理中であり、挿入先（１）と挿入先（２）が同じ記憶装置であるか否かをチェックし（ステップＳ１８０４）、同じ記憶装置の場合、決定した挿入先に対して、挿入実行要求を行い（ステップＳ１８０５）、その結果を受け取る（ステップＳ１８０６）。
【０１５０】
また、ステップＳ１８０４でのチェック結果において、挿入先（１）と挿入先（２）が違う記憶装置の場合、まず挿入先（２）に対して挿入実行要求を行い（ステップＳ１８０７）、当該ＤＢＭＳ実行部で挿入処理完了後、挿入先データ格納位置情報を受け取る（ステップＳ１８０８）。
【０１５１】
次に、挿入先（１）に対して、挿入先（２）に対する挿入処理完了時に受け取ったデータ格納位置情報を挿入データに追加して挿入実行要求を行う（ステップＳ１８０９）。そして、当該ＤＢＭＳ実行部の挿入処理完了後、結果を受け取る（ステップＳ１８１０）。
【０１５２】
図２０に示す例の場合、ハッシュ関数値が「０，９，４，６」となる場合は挿入先（１）と挿入先（２）が同じ記憶装置Ａ６２０ａであり、また、ハッシュ関数値が「１，８，５」となる場合は挿入先（１）と挿入先（２）が同じ記憶装置Ｂ６２０ｂであるので、それぞれのＤＢＭＳ実行部６１０ａ，６１０ｂに挿入要求し、挿入結果を受け取る。
【０１５３】
また、ハッシュ関数値が「７」となる場合は挿入先（１）は記憶装置Ａ６２０ａ、挿入先（２）は記憶装置Ｃ６２０ｃとなるため、まず記憶装置Ｃ６２０ｃに対応するＤＢＭＳ実行部６１０ｃに挿入要求し、挿入位置情報データを受け取り、次に記憶装置Ａ６２０ａに対応するＤＢＭＳ実行部６１０ａにＤＢＭＳ実行部６１０ｃより受け取った挿入位置データを付加したデータの挿入要求を行う。
【０１５４】
同様に、ハッシュ関数値が「２，３」となる場合、挿入先（１）は記憶装置Ｂ６２０ｂ、挿入先（２）は記憶装置Ｃ６２０ｃとなるため、まず記憶装置Ｃ６２０ｃに対応するＤＢＭＳ実行部６１０ｃに挿入要求し、挿入位置情報データを受け取り、次に記憶装置Ｂ６２０ｂに対応するＤＢＭＳ実行部６１０ｂに対して、ＤＢＭＳ実行部６１０ｃより受け取った挿入位置データを付加したデータの挿入要求を行う。
【０１５５】
このような検索、更新、削除、挿入処理中は、処理中のデータに対してロックがかかり、ユーザから別途指示されるまで、他のユーザや再配置処理が検索、更新、削除を行うことは禁止される。同様に、再配置処理中のデータ一件毎に移動処理を行うデータに対してもロックがかかり、移動処理完了時まで、他のユーザが検索、更新、削除処理を行うことが禁止される。
【０１５６】
尚、本例において、検索、更新、削除処理の実行先は、データが格納された全ての記憶装置に対して実施しているが、条件が付加された検索、更新、削除処理の場合、実行先を絞って実行させることが可能である。
【０１５７】
以上の第２の例における再配置処理、および、再配置処理中の検索、更新、削除、挿入処理について、図２２を用いて以下にまとめる。
【０１５８】
まず、図２２（ａ）において、記憶装置Ａ２１２０には、ハッシュ関数値「０，４，６，７，９」となるデータが、また、記憶装置Ｂ２１３０には、ハッシュ関数値「１，２，３，５，８」となるデータが、それぞれ分割して格納されているものとする。
【０１５９】
このように分割されたデータベース表がある場合、検索処理２１００は、記憶装置Ａ２１２０と記憶装置Ｂ２１３０で実行され、更新・削除処理２１００は、記憶装置Ａ２１２０と記憶装置Ｂ２１３０で実行され、ハッシュ関数値が「３」となるようなデータ２１３１の挿入は記憶装置Ｂ２１３０で実行される。
【０１６０】
ここに、図２２（ｂ）に示すように、記憶装置Ｃ２１４０が追加された場合（記憶装置Ａ２１２０と記憶装置Ｂ２１３０を合わせて既存領域と呼び、記憶装置Ｃ２１４０を追加領域と呼ぶ）、再配置処理２１０３は、記憶装置Ａ２１２０と記憶装置Ｂ２１３０に格納されたデータから、記憶装置Ｃ２１４０へ移動するデータ２１２１を選び出し、選び出したデータ２１２１を記憶装置Ｃ２１４０へコピーし、コピー元データ２１２１にコピーしたデータ２１４２の格納位置情報２１２２を付加する。
【０１６１】
このデータ２１２１のコピーは記憶装置Ａ２１２０と記憶装置Ｂ２１３０の移動対象データの検索と、記憶装置Ｃ２１４２への挿入により行う。また、この移動対象データ２１２１のコピーから当該データ２１２１への格納位置情報の付加までの間、このデータ２１２１にロックをかけ、他のユーザが検索、更新、削除処理を行うことを禁止する。
【０１６２】
このような再配置処理中での検索２１００は、既存領域で実行する。すなわち、記憶装置Ａ２１２０と記憶装置Ｂ２１３０で実行する。また、再配置処理中の更新、削除処理２１０１も、既存領域で実行するが、もし、更新、削除対象のデータにコピー先位置情報が付加されている場合には、コピー先位置情報が示すデータに対しても更新、削除処理を実行する。
【０１６３】
すなわち、記憶装置Ａ２１２０と記憶装置Ｂ２１３０で更新、削除処理を実行し、コピー先位置情報２１２２，２１３２が付加されているデータ２１２１、２１３１の更新、削除を行った場合には、コピー先位置情報２１２２、２１３２が示す記憶装置Ｃにおけるデータ２１４１、２１４２に対しても更新、削除を実行する。
【０１６４】
尚、検索、更新、削除中のデータにはロックがかかり、ユーザから別途指示されるまで、再配置処理がデータを参照するのを禁止する。
【０１６５】
次に、再配置処理中のハッシュ関数値が「３」となるようなデータ２１３１の挿入処理２１０２では、データ２１４１を記憶装置Ｃ２１４０に格納し、さらに、データの位置情報２１３２を付加したデータ２１３１を記憶装置Ｂ２１３０に格納する。
【０１６６】
再配置処理で移動中のデータを、他のユーザが検索、更新、削除しようとすると、ロックによりアクセスが禁止されているため、データの移動完了まで待たされるが、データの移動完了によりロックが解除されると、待たされていた処理を再開することができる。
【０１６７】
また、検索、更新、削除中のデータを、再配置処理が移動しようとした場合も、ロックによりアクセスが禁止されているため、ユーザがロックを解除するまで待たされ、ロックが解除されると、待たされていた再配置処理が再開される。これにより、不当にデータの値を更新されたり、データが削除されることを防止できる。
【０１６８】
さらに、再配置実行中も、再配置処理で移動したデータが既存領域に残っているので、既存領域で実行するだけで全てのデータを検索することができる。
【０１６９】
以上のようにして、第２の例のデータベースシステムでは、再配置処理により移動されたデータは、移動先位置情報が付加されるので、位置情報が付加されたデータの更新、削除実行時に位置情報の示すデータに対して更新、削除実行を行うことにより、再配置処理により移動されたデータに対しても更新、削除が行える。
【０１７０】
また、再配置対象となるようなデータを再配置処理中のデータと同じ形式で格納することにより、余分な再配置処理の発生を防止できる。
【０１７１】
この結果、再配置処理中に再配置中の表（テーブル）に対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能となる。
【０１７２】
尚、以上に説明した第１の例と第２の例の両方の実現が可能な構成のデータベース管理システムで、表（テーブル）に含まれる列の型やインデクスの有無等により、第１の例、または第２の例のいずれかの機能動作を選択して実行することにより、表（テーブル）の属性に応じた最適な再配置処理、および、検索、更新、削除、挿入処理を実行することが可能となる。
【０１７３】
以上、図１〜図２２を用いて説明したように、本例のデータベースシステムとデータベース管理方法では、以下の手順により、データ管理処理を行う。
【０１７４】
（１）まず、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割規則（方法）、例えばハッシュ関数に従って決定された記憶装置に格納するデータベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置から追加記憶装置へ移動するデータを、ハッシュ関数を用いた分割規則に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を行い、さらに、このデータ再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、当該データを格納する既存の記憶装置と追加記憶装置とのそれぞれに対して検索、更新、削除を実行し、また、表のデータに対する挿入が要求されると、既存の記憶装置と追加記憶装置のそれぞれに対してハッシュ関数を用いた分割規則に従って、当該データの挿入先の記憶装置を決定し、決定した記憶装置に当該データを挿入する。
【０１７５】
（２）特に、表データに対して検索、更新、削除が要求された場合には各記憶装置に対して並列処理を行う並列データベースシステムである場合には、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置から追加記憶装置へ移動するデータを、ハッシュ関数等を用いた分割規則に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を行い、このデータ再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、当該データを格納する既存の記憶装置で検索、更新、削除を各記憶装置に対して並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置での検索、更新、削除を各記憶装置に対して並列処理実行し、また、表のデータに対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置を含め、ハッシュ関数等を用いたデータ分割規則に従って決定した記憶装置にデータを挿入する。
【０１７６】
（３）また、表のデータを格納する記憶装置の追加要求があれば、ハッシュ関数等を用いた分割規則で決定した既存の記憶装置から追加記憶装置へ移動するデータを、まず、既存の記憶装置から追加記憶装置へコピーし、このコピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加する。そして、このようにして、移動対象となった全てのデータを追加記憶装置へコピーが完了すると、コピー元の全てのデータを削除するデータ再配置処理を実行する。さらに、このデータ再配置処理実行中に、表のデータに対する検索が要求されると、既存の記憶装置に格納されたデータを対象として検索処理を行い、また、更新、削除が要求されると、既存の記憶装置に格納されたデータを更新、削除対象として処理を行うと共に、この更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対し同じ更新、削除処理を行い、さらに、表のデータに対する挿入が要求されると、既存の記憶装置のみでの指定の分割規則に従って決定した記憶装置にデータを格納し、また、追加記憶装置を含めての分割方法では、当該追加記憶装置移動対象となる場合には、この追加記憶装置に対してもデータを格納し、この追加記憶装置への格納位置情報を既存の記憶装置に格納したデータに付加する。
【０１７７】
尚、処理対象の表により、上記（１）〜（３）の技術のいずれかを選択し実行する。
【０１７８】
このことにより、本例のデータベースシステムとデータベース管理方法では、複数の記憶装置に分割して格納するリレーショナルデータベース管理システムの表データに、記憶装置を追加して既存の記憶装置内に格納されたデータを再均等分割する最中に、検索、更新、削除、挿入等のデータベースのサービスを並行して実行させることが可能となる。
【０１７９】
尚、本発明は、図１〜図２２を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、３台の記憶装置を用いたデータベースシステムおよびデータベース管理システム構成で説明したが、２台、もしくは、４台以上の記憶装置を用いた構成としても良い。また、各記憶装置へのデータの分割規則（方法）に関しても、本例のようにハッシュ関数を用いるものではなく、キーレンジ分割方法や、ラウンド・ロビン分割方法を用いることでも良い。
【０１８０】
また、本例では、ＤＢＭＳ３００のハードウェア構成として、図２のコンピュータ構成例を示したが、ユーザ端末３３０ａ〜３３０ｃと同様に、キーボード等の入力装置やＣＲＴ（Cathode Ray Tube）等の表示装置を具備したコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いる説明を行っているが、ＦＤ（Flexible Disk）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【０１８１】
【発明の効果】
本発明によれば、新たな記憶装置の追加に伴う表データの再配置処理中であっても、表データに対する検索、更新、削除、挿入等のデータベース処理要求の受付および実行を停止させることなく並行して実行させることができ、データベースシステムの操作性および性能を向上させることが可能である。
【図面の簡単な説明】
【図１】本発明に係わるデータベースシステムの構成例を示すブロック図である。
【図２】図１におけるデータベースシステムのハードウェア構成例を示すブロック図である。
【図３】図１におけるハッシュ関数値格納位置対応表の登録内容例を示す説明図である。
【図４】図１におけるデータベース管理システムによる再配置処理中のデータベース処理要求の受付と実行動作の第１の例を示す説明図である。
【図５】図１におけるデータベース管理システムの再配置処理前の具体的な第１の構成例を示すブロック図である。
【図６】図５におけるデータベース管理システムの管理対象である在庫表の構成例を示す説明図である。
【図７】図５におけるＤＢＭＳ受付部での第１の処理動作例を示すフローチャートである。
【図８】図５におけるＤＢＭＳ受付部での第２の処理動作例を示すフローチャートである。
【図９】図５におけるＤＢＭＳ受付部での第３の処理動作例を示すフローチャートである。
【図１０】図５におけるデータベース管理システムの再配置処理に係わる構成と動作の第１の例を示す説明図である。
【図１１】図１０におけるデータベース管理システムによる再配置処理動作例を示すフローチャートである。
【図１２】図１におけるデータベースシステムの再配置処理後の具体的な構成例を示すブロック図である。
【図１３】図１におけるデータベース管理システムの再配置処理前の具体的な第２の構成例を示すブロック図である。
【図１４】図１３におけるＤＢＭＳ受付部での検索実行先決定処理動作例を示すフローチャートである。
【図１５】図１３におけるＤＢＭＳ受付部での更新および削除実行先決定処理動作例を示すフローチャートである。
【図１６】図１３におけるＤＢＭＳ受付部での更新実行処理動作例を示すフローチャートである。
【図１７】図１３におけるＤＢＭＳ受付部での削除実行処理動作例を示すフローチャートである。
【図１８】図１３におけるＤＢＭＳ受付部での挿入実行先決定処理動作例を示すフローチャートである。
【図１９】図１３におけるＤＢＭＳ受付部での挿入実行処理動作例を示すフローチャートである。
【図２０】図１３におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図である。
【図２１】図２０におけるデータベース管理システムによる再配置処理動作例を示すフローチャートである。
【図２２】図１におけるデータベースシステムによる再配置処理中のデータベース処理要求の受付と実行動作の第２の例を示す説明図である。
【符号の説明】
１００：処理（「検索、更新、削除」）、１０１：挿入処理、１０２：再配置処理実行部、１０２ａ：再配置処理、１２０：記憶装置Ａ、１２１〜１２５，１３１〜１３５，１４１〜１４３：データ、１３０：記憶装置Ｂ、１４０：記憶装置Ｃ、３００：データベース管理システム（「ＤＢＭＳ」）、３０１：ネットワーク、３１０：ＤＢＭＳ受付部、３１０ａ：ＤＢＭＳ受付部プログラム、３１１：要求受付部、３１２：解析部、３１３：処理手順生成部、３１４：実行先決定部、３１５：実行要求・結果受取部、３１６：返却部、３１７：ハッシュ関数値格納位置対応表、３１８：外部記憶装置、３１９：表定義情報、３２０ａ〜３２０ｃ：ＤＢＭＳ実行部プログラム、３２１ａ〜３２１ｃ：検索部、３２２ａ〜３２２ｃ：更新部、３２３ａ〜３２３ｃ：削除部、３２４ａ〜３２４ｃ：挿入部、３２５ａ〜３２５ｃ：外部記憶装置、３２６ａ〜３２６ｃ：表データ、３３０：処理要求、３３０ａ〜３３０ｃ：ユーザ端末、３４０：格納領域情報、３４１：追加領域情報、３４２：再配置処理中フラグ、４００：ＤＢＭＳ受付けノード、４０１，４１１ａ〜４１１ｃ：ＣＰＵ、４０２，４１２ａ〜４１２ｃ：主記憶装置（「主記憶」）、４１０ａ〜４１０ｃ：ＤＢＭＳ実行ノード、４２０ａ〜４２０ｃ：ＤＢＭＳ実行部プログラム、５００：在庫表、６００，６００ａ：ＤＢＭＳ受付部、６０１：要求受付部、６０２：解析部、６０３：処理手順生成部、６０４：実行先決定部、６０５：実行要求・結果受取部、６０６：返却部、６１０ａ〜６１０ｃ：ＤＢＭＳ実行部、６１１ａ〜６１１ｃ：検索部、６１２ａ〜６１２ｃ：更新部、６１３ａ〜６１３ｃ：削除部、６１４ａ〜６１４ｃ：挿入部、６２０ａ：記憶装置Ａ、６２０ｂ：記憶装置Ｂ、６２０ｃ：記憶装置Ｃ、６２１，６２１ａ，６２２，６２２ａ，６２３：格納データ（「在庫表」）、６３０：記憶装置ｄ、６３１：表定義情報、６３２：格納領域情報（「格納領域」）、６３３：追加領域情報（「追加領域」）、６３４：再配置処理中フラグ、１０００，１００１：データ、１１００，１９０１：再配置処理実行部、１９１１：データ（「トレーナー」）、１９１２：移動先位置情報、１９２１：データ、２１００：検索処理、２１０１：更新・削除処理、２１０２：挿入処理、２１０３：再配置処理、２１２０：記憶装置Ａ、２１３０：記憶装置Ｂ、２１４０：記憶装置Ｃ、２１２１：データ（「再配置対象データ」）、２１２２：コピー先位置情報、２１３１：データ（「再配置対象挿入データ」）、２１３２：コピー先位置情報、２１４１：データ（「再配置されたデータ」）、２１４２：データ（「再配置対象挿入データ」）。
【図１】
0004183400.tif 000002
【図２】
0004183400.tif 000003
【図３】
0004183400.tif 000004
【図４】
0004183400.tif 000005
【図５】
0004183400.tif 000006
【図６】
0004183400.tif 000007
【図７】
0004183400.tif 000008
【図８】
0004183400.tif 000009
【図９】
0004183400.tif 000010
【図１０】
0004183400.tif 000011
【図１１】
0004183400.tif 000012
【図１２】
0004183400.tif 000013
【図１３】
0004183400.tif 000014
【図１４】
0004183400.tif 000015
【図１５】
0004183400.tif 000016
【図１６】
0004183400.tif 000017
【図１７】
0004183400.tif 000018
【図１８】
0004183400.tif 000019
【図１９】
0004183400.tif 000020
【図２０】
0004183400.tif 000021
【図２１】
0004183400.tif 000022
【図２２】
0004183400.tif 000023