JP4183400B2 - データベースシステムとデータベース管理方法およびプログラム - Google Patents
データベースシステムとデータベース管理方法およびプログラム Download PDFInfo
- Publication number
- JP4183400B2 JP4183400B2 JP2001194075A JP2001194075A JP4183400B2 JP 4183400 B2 JP4183400 B2 JP 4183400B2 JP 2001194075 A JP2001194075 A JP 2001194075A JP 2001194075 A JP2001194075 A JP 2001194075A JP 4183400 B2 JP4183400 B2 JP 4183400B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage device
- request
- processing
- execution
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【発明の属する技術分野】
本発明は、表(テーブル)によるデータ管理を行うデータベースに係わり、特に、表データを分割して格納する記憶装置の追加に伴うデータの再分割処理を効率的に行うのに好適なデータベースシステムとデータベース管理方法およびプログラムに関するものである。
【0002】
【従来の技術】
データベースシステムの効率化を図る技術としては、例えば、「日経エレクトロニクス1995.2.27(no.630)」(1995年、日経BP社発行)の第103頁に記載のように、リレーショナルデータベース管理システム(RDBMS:Relational DataBase Management System)の処理負荷を複数のプロセサに分散させ並列に実行するアーキテクチャに関する技術や、同じく「日経エレクトロニクス1995.2.27(no.630)」(1995年、日経BP社発行)の第109頁に記載のように、RDBMSにおいて、表データを複数のディスク(記憶装置)へ分割して格納することによりディスクアクセスを分散させる技術等がある。
【0003】
この従来技術に記載の、例えば、表の分割の一方式であるハッシュ分割方式は、表を構成する列が持つ値にハッシュ関数を使用して均等に分割する方式であり、データが各ディスク(記憶装置)に均等に格納されるため、負荷が均等に分散される。
【0004】
しかし、データ量が増加してくると、記憶装置の容量不足や、性能劣化が発生するため、表データを格納するディスク台数を増やし分割数を増やす必要が出てくる。
【0005】
ハッシュ分割された表の分割数を増やすと、既に格納されたデータを再度均等に分割し格納し直す必要があるが(これを「再配置処理」と呼ぶ)、このような再配置処理の効率化を図る技術として、例えば、特願平11−322119号公報に記載のものがある。
【0006】
この特願平11−322119号公報に記載の技術を適用することにより、ハッシュ分割された表の分割数の増加に伴う、既格納済データの再配置処理を、格納済みデータから、追加したディスクへのデータ移動のみで実現することができる。
【0007】
しかし、この従来技術は、再配置処理の効率化を図っただけのものであり、表に対する検索、更新、削除、挿入等のデータベース処理要求が受け付けられない状態にして、再配置処理を実行する必要がある。すなわち、再配置処理が開始されると、再配置処理が終了するまで、表に対する検索、更新、削除、挿入等のデータベース処理が実行されなくなる。
【0008】
また、データの再配置に関する技術として、例えば、特開平7−141121号公報や特開平8−221216号公報、特開平11−143647号公報に記載のように、ディスクアレイシステムにおいて、記憶装置を増設した際に、データの再配置とデータアクセス(読み出し、書き込み)を平行して実行するものがある。
【0009】
例えば、特開平7−141121号公報および特開平8−221216号公報に記載の技術では、再配置中の位置等の再編成中の情報を、処理装置からのデータアクセス時に参照可能とし、また、処理装置よりアクセス要求されるデータが特定されており、アクセス要求されるデータが再編成されたかどうかの判別を容易に行うことができる。
【0010】
また、特開平11−143647号公報に記載の技術のよれば、動的な論理ディスクの再構成が可能であり、増設した物理ディスクにもアクセスを分散させ、装置を動作させたまま増設によるディスクアレイ装置の性能を向上させることができる。
【0011】
しかし、これらのディスクアレイシステムにおける再編成技術では、再配置中の位置等の再編成中の情報を共用する必要がある。すなわち、アクセス要求を受け付けるノードが、再編成中の情報を得るためには、再編成のためのデータ移動を対象ノード間で行った後、その情報を、アクセス要求を受け付けるノードに連絡する必要があり、そのための通信オーバーヘッドが発生してしまう。
【0012】
従って、上述のディスクアレイシステムにおける再編成技術をデータベースシステムに適用したとしても、再配置処理とデータアクセスとの並列実行を効率的に行うことはできない。データベースシステムにおいては、再配置中の位置等の情報を共用することなく、再配置処理とデータアクセスを並列実行させることが要求される。
【0013】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、新たな記憶装置の追加に伴う表データの再配置処理中は、表に対する検索、更新、削除、挿入等のデータベース処理を実行することができない点である。
【0014】
本発明の目的は、これら従来技術の課題を解決し、表データの再配置処理実行中にも、検索、更新、削除、挿入等のデータベース処理要求の受付、および実行を停止させることなく並行して実行させ、データベースの操作性および性能を向上させることを可能とするデータベースシステムとデータベース管理方法およびプログラムを提供することである。
【0015】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータベースシステムとデータベース管理方法は、(1)複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割規則(方法)に従って決定された記憶装置に格納するものであり、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を実行すると共に、このデータ再配置処理実行中に、表に対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置に追加記憶装置を含めて検索、更新、削除を実行し、また、表に対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置の情報を含めて指定のデータ分割方法に従って決定した記憶装置にデータを挿入することを特徴とする。(2)また、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割方法に従って決定された記憶装置に格納し、表に対して検索、更新、削除が要求された場合には各記憶装置に対して並列処理を行う並列データベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を実行し、このデータ再配置処理実行中に、表に対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置で検索、更新、削除を各記憶装置に対して並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置での検索、更新、削除を各記憶装置に対して並列処理実行し、さらに、表に対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置の情報を含めて指定のデータ分割方法に従って決定した記憶装置にデータを挿入することを特徴とする。(3)また、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割方法に従って決定された記憶装置に格納するデータベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置内に格納されたデータを追加記憶装置へ移動するデータを指定の分割方法に従って決定し、決定したデータを既存の記憶装置から追加記憶装置へコピーし、コピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加し、移動対象となった全てのデータの追加記憶装置へのコピーが完了すると、コピー元の全てのデータを削除するデータ再配置処理を実行し、このデータ再配置処理実行中に、表に対する検索が要求されると、既存の記憶装置に格納されたデータを検索対象として検索処理を行い、また、表に対する更新、削除が要求されると、既存の記憶装置に格納されたデータを更新、削除対象として処理を行い、更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対しも同じ更新、削除、動作を行い、さらに、表に対する挿入が要求されると、既存の記憶装置に対して指定の分割方法に従って決定した記憶装置にデータを格納し、挿入データが追加記憶装置を含めて指定の分割方法に従うと移動対象となる場合は移動先の追加記憶装置に対してもデータを格納し、追加記憶装置への格納位置情報を既存の記憶装置に格納したデータに付加することを特徴とする。(4)また、定義された表により上記(1)〜(3)を選択し実行することを特徴とする。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図1は、本発明に係わるデータベースシステムの構成例を示すブロック図であり、図2は、図1におけるデータベースシステムのハードウェア構成例を示すブロック図、図3は、図1におけるハッシュ関数値格納位置対応表の登録内容例を示す説明図、図4は、図1におけるデータベース管理システムによる再配置処理中のデータベース処理要求の受付と実行動作の第1の例を示す説明図である。
【0017】
図2に示すように、本例のデータベースシステムを構成するデータベース管理システム(図中、「DBMS」と記載)300は、それぞれCPU(Central Processing Unit)や入力装置および表示装置等を具備してコンピュータ機能を有する複数のユーザ端末300a〜300cからの要求に基づき、データの検索、更新、削除、挿入(追加)等のデータベース処理を行うものであり、ネットワーク301で相互結合されたそれぞれコンピュータ機能を有するDBMS受付けノード400とDBMS実行ノード410a〜410cにより構成される。
【0018】
DBMS受付けノード400は、CPU401と主記憶装置(図中「主記憶」と記載)402およびHDD(Hard Disk Drive)等からなる外部記憶装置318を具備し、メモリ402に格納されたDBMS受付部プログラム(図中「DBMS受付部PGM」と記載)310aをCPU401が実行することにより、図1のDBMS受付部310における各処理部の機能を構成し、DBMSの受け付け処理を行う。
【0019】
DBMS実行ノード410a〜410cのそれぞれは、CPU411a〜CPU411cと主記憶装置(図中「主記憶」と記載)412a〜412cおよびHDD等からなる外部記憶装置325a〜325cを具備し、主記憶装置412a〜412cに格納されたDBMS実行部プログラム(図中「DBMS実行部PGM」と記載)320a〜320cをCPU411a〜411cが実行することにより、図1のDBMS実行部320a〜320cにおける各処理部の機能を構成し、DBMSの実行処理を行う。
【0020】
尚、DBMS受付部プログラム310aとDBMS実行部プログラム320a〜320cは、CD−ROM(Compact Disc-Read Only Memory)やDVD(Digital Video Disc/Digital Versatile Disc)などの光ディスク等からなる記録媒体に記憶され、これらの記録媒体から外部記憶装置318,325a〜325cにインストールされ、主記憶装置402,412a〜412cにロードされる。
【0021】
図1に示すDBMS300におけるDBMS受付部310とDBMS実行部320a〜320cは、図2におけるDBMS受付けノード400とDBMS実行ノード410a〜410cに対応するものであり、それぞれ、ネットワーク301で相互結合されている。
【0022】
DBMS受付部310は、要求受付部311と解析部312、処理手順生成部313、実行先決定部314、実行要求・結果受取部315、返却部316、および、再配置処理実行部102からなり、DBMS実行部320a〜320cは、検索部321a〜321c、更新部322a〜322c、削除部323a〜323c、挿入部324a〜324cからなる。
【0023】
DBMS受付部310は、要求受付部311により、ユーザ端末からの処理要求330を受け付け、その要求を、解析部312により解析し、処理手順生成部313により、その要求を実現させるための処理手順を生成する。
【0024】
そして、実行先決定部314により、生成した処理手順をどのDBMS実行部で実行させるかを決定し、実行要求・結果受取部315により、決定したDBMS実行部に実行要求を行い、DBMS実行部より実行結果を受け取る。受け取った結果を、返却部316により、ユーザに返却する。
【0025】
解析処理部312と処理手順生成部313、および、実行先決定部314では、外部記憶装置318に格納されたハッシュ関数値格納位置対応表317や表定義情報319を参照し、データ格納先決定のための情報や、表に関する情報を取得する。
【0026】
例えば、表定義情報319には、表を分割格納する記憶装置の管理に用いられる格納領域情報340、格納領域追加時の記憶装置の管理に用いられる追加領域情報341、再配置処理実行中を示す再配置処理処理中フラグ342が格納される。尚、これら表定義情報319の各構成要素の詳細に関しては、後述の図5〜図12を用いた具体例での説明において説明する。
【0027】
DBMS実行部320a〜320cは、DBMS受付部310より実行要求を受け取ると、検索、更新、削除、挿入等の指示に対応して、検索部321a〜321c、更新部322a〜322c、削除部323a〜323c、挿入部324a〜324cを起動し、それぞれの処理手順を実行し、その実行結果を、DBMS受付部310に返却する。
【0028】
処理手順実行時には、外部記憶装置325a〜325cに格納された表データ326をアクセスする。
【0029】
尚、このような処理において、DBMS受付部310の実行先決定部314が、複数のDBMS実行部(320a〜320c)を選択した場合、DBMS受付部310の実行要求・結果受取処理部315は、選択された全てのDBMS実行部(320a〜320c)に同時に実行要求し、それぞれのDBMS実行部(320a〜320c)において並行に処理を実行することでも良い。
【0030】
ここで、DBMS300におけるデータの分割動作について説明する。本例では、データを分割して格納する場合、格納対象データにハッシュ関数を適用し「0」から「9」の値を生成し、その値により格納先を振り分ける。
【0031】
図3にその詳細を示すハッシュ関数格納位置対応表317は、ハッシュ関数値より格納位置を決定するための情報で、本例においては、データの分割を「最大10分割」までとし、各分割数時にハッシュ関数値のデータが何処に格納されるかを示す情報が格納される。
【0032】
例えば、二つの記憶装置に分割して格納する場合、ハッシュ関数格納位置対応表317における2分割時の「領域0」と「領域1」の項目のように、ハッシュ関数値「0,4,6,7,9」となるデータを「領域0」に格納し、ハッシュ関数値「1,2,3,5,8」となるデータを「領域1」に格納する。
【0033】
格納領域が追加された場合に、再配置処理実行部102により移動するデータも、図3のハッシュ関数格納位置対応表317により求めることができる。例えば、記憶装置が1つ追加され、2分割より3分割とする場合、「領域2」が追加され、ハッシュ関数格納位置対応表317における3分割の場合のように、「領域2」にハッシュ関数値「2,7,3」となるデータを格納することになるので、2分割時に「領域0」と「領域1」のそれぞれに格納されていたハッシュ関数値「2,7,3」となるデータを、追加領域である「領域2」に移動すればよい。
【0034】
同様に、2分割から5分割化する場合には、「領域2」、「領域3」、「領域4」が追加され、「領域2」には「2,7」、「領域3」には「3,6」、「領域4」には「4,5」となるハッシュ関数値のデータを移動させればよい。
【0035】
このような格納領域が追加された場合のデータの移動処理、すなわち、再配置処理と、データベース処理(検索、更新、削除、挿入等)要求の受付とに対して、図1に示す構成のデータベースシステムでは、データベース管理システム300により、以下のようにして対処する。
【0036】
すなわち、表のデータを格納する記憶装置、例えば、外部記憶装置325cの追加が要求されると、DBMS受付部310では、再配置処理実行部102により、ハッシュ関数値格納位置対応表317を参照して、既存の記憶装置、例えば、外部記憶装置325a,325bから追加記憶装置(外部記憶装置325c)へ移動するデータを決定し、移動対象として決定した全てのデータを追加記憶装置(外部記憶装置325c)に移動させる。
【0037】
このデータの再配置処理を実行中に、表のデータに対する検索、更新、削除などの処理が要求されると、表のデータを格納する既存の記憶装置(外部記憶装置325a,325b)および追加記憶装置(外部記憶装置325c)のそれぞれに対して検索、更新、削除を実行し、また、表のデータに対する挿入が要求された場合には、ハッシュ関数値格納位置対応表317を参照し、当該記憶装置(外部記憶装置325a,325b,325cのいずれか)にデータを挿入する。
【0038】
また、図1のデータベース管理システム300が、表のデータに対して検索、更新、削除が要求された場合に、各記憶装置に対して並列処理を行う並列データベースシステムであれば、データの再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、表のデータを格納する既存の記憶装置(外部記憶装置325a,325b)に対して検索、更新、削除を並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置(外部記憶装置325c)を含めて検索、更新、削除を並列処理実行し、さらに、表のデータに対する挿入が要求されると、既存の記憶装置(外部記憶装置325a,325b)の情報と追加記憶装置(外部記憶装置325c)の情報を含めて、ハッシュ関数値格納位置対応表317を参照して実行先決定部314が決定した記憶装置(外部記憶装置325a,325ba,325cのいずれか)にデータを挿入する。
【0039】
このような格納領域が追加された場合のデータの移動処理における図1のDBMS300による本発明に係わる制御方法、すなわち、再配置処理中のデータベース処理要求の受付と実行動作について、図4を用いてより具体的に説明する。
【0040】
図4(a)に示すように、ハッシュ関数値「0,4,6,7,9」となるデータが記憶装置A120に、また、ハッシュ関数値「1,2,3,5,8」となるデータが記憶装置B130に、それぞれ分割して格納されているデータベース表がある場合での、再配置処理、および、再配置処理中の検索、更新、削除、挿入処理について説明する。
【0041】
図4(a)に示す構成では、検索、更新、削除の各処理100は、記憶装置A120と記憶装置B130において各データ121〜125,131〜135に対して実行され、また、ハッシュ関数値が「3」となるようなデータ133の挿入処理101は、記憶装置B130で実行される。
【0042】
ここで、図4(b)に示すように、記憶装置C140が追加された場合(記憶装置A120と記憶装置B130を合わせて既存領域と呼び、記憶装置C140を追加領域と呼ぶ)、再配置処理102aでは、記憶装置A120と記憶装置B130に格納されたデータより記憶装置C140へ移動するデータを選び出し、選び出したハッシュ関数値「7,2,3」となるデータを記憶装置C140へ移動する。
【0043】
このデータの移動は、まず、記憶装置A120と記憶装置B130の移動対象データの検索を行い、次に、記憶装置C140への挿入を行い、そして、記憶装置A120と記憶装置B130の移動対象データの削除を行うとの手順で実行する。
【0044】
尚、データベースシステムにおいては、この移動対象データの検索から移動対象データの削除までの間、データにはロックがかかり、他のユーザが検索、更新、削除処理を行うことが禁止される。
【0045】
本例では、再配置処理102aの実行中、検索、更新、削除の各処理100を、既存領域と追加領域の両方で実行する。すなわち記憶装置A120と記憶装置B130と記憶装置C140で実行する。尚、このような検索、更新、削除中には、当該データにロックがかかり、ユーザから別途指示されるまで、再配置処理102aが当該データを参照するのは禁止される。
【0046】
また、再配置処理中のハッシュ関数値が「3」となるデータの挿入処理101は、移動先の追加領域である記憶装置C140に当該データを格納する。
【0047】
再配置処理102aにより移動中のデータを、他のユーザが検索、更新、削除しようとすると、ロックによりアクセスが禁止されているため、データの移動完了まで待たされるが、データの移動完了によりロックが解除されると、待たされていた処理を再開することができる。
【0048】
また、検索、更新、削除中のデータを、再配置処理102aにより移動しようとした場合も、ロックによりアクセスが禁止されているため、ユーザがロックを解除するまで待たされるが、ロックが解除されると、待たされていた再配置処理102aが再開される。
【0049】
これにより、不当にデータの値を更新されたり、データが削除されることを防止できる。
【0050】
再配置処理102aの実行中は、ハッシュ関数値が「7」となるデータは記憶装置A120または記憶装置C140に格納され、ハッシュ関数値が「2、3」となるデータは記憶装置B120または記憶装置C140に格納されることになるが、検索、更新、削除の各処理100では、既存領域と追加領域の両方を参照するので、どちらに格納されていても、検索、更新、削除を行うことが可能である。
【0051】
また、再配置対象となるようなデータを再配置先に挿入することにより、余分な再配置処理の発生を防止できる。
【0052】
以上の処理により、再配置処理中に、再配置中の表データに対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能となる。
【0053】
このような処理動作を、図5から図12により、さらに具体的な例を用いて詳細に説明する。
【0054】
図5は、図1におけるデータベース管理システムの再配置処理前の具体的な第1の構成例を示すブロック図であり、図6は、図5におけるデータベース管理システムの管理対象である在庫表の構成例を示す説明図、図7は、図5におけるDBMS受付部での第1の処理動作例を示すフローチャート、図8は、図5におけるDBMS受付部での第2の処理動作例を示すフローチャート、図9は、図5におけるDBMS受付部での第3の処理動作例を示すフローチャート、図10は、図5におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図、図11は、図10におけるデータベース管理システムによる再配置処理動作例を示すフローチャート、図12は、図1におけるデータベースシステムの再配置処理後の具体的な構成例を示すブロック図である。
【0055】
図5に示すデータベースシステムのデータベース管理システムにおけるDBMS受付部600とDBMS実行部610a〜610cは、それぞれ、図1に示すデータベース管理システム300におけるDBMS受付部310とDBMS実行部320a〜320cと実質的に同じ機能を有するものである。
【0056】
DBMS受付部600に接続する記憶装置d630には、図3に示したハッシュ関数値格納位置対応表317と同じ内容のハッシュ関数値格納位置対応表635と、表毎に定義される表定義情報631が格納される。この表定義情報631には、表が何処に格納されているかを示す格納領域情報(図中、「格納領域」と記載)632と、表に領域を追加した場合に何処の領域を追加したかを示す追加領域情報(図中、「追加領域」と記載)633、および、再配置処理実行中を示す再配置処理中フラグ634を格納する。
【0057】
DBMS実行部610a、DBMS実行部610bそれぞれに接続する各記憶装置A620a、記憶装置B620bには、在庫表である格納データ621,622がデータベースとして格納され、DBMS受付部600の指示により検索、更新、削除、挿入等の操作が実行される。
【0058】
本例においては、最大分割数を10とし、分割に使用するハッシュ関数は、格納データ621,622における各商品の識別番号(商品コード)を、最大分割数「10」で割った余りの値としている。
【0059】
図6に示すように、本例で取り扱うデータベースは、衣料関係の在庫表500であり、商品コード510、商品名520、色530、単価540、在庫量550の各項目からなる。
【0060】
図6に示す在庫表500を図5のデータベースシステムに適用し、商品コード510における値を用いて、記憶装置A620a、記憶装置B620bに分割格納する場合、商品コード510における値に対して算出されるハッシュ関数値に、ハッシュ関数値格納位置対応表635、すなわち、図3に示すハッシュ関数値格納位置対応表317の2分割時の振分けを適用する。
【0061】
この結果、ハッシュ関数値「0,9,4,6,7」となる値のデータは記憶装置A620aに格納し、ハッシュ関数値「1,8,5,2,3」となる値のデータは記憶装置B620bに格納する。また、記憶装置d630内における表定義情報631の格納領域情報632に、記憶装置A、記憶装置Bが定義されている。
【0062】
この状態で検索、更新、削除要求が行われると、DBMS受付部600は、要求受付部601により、その要求を受け付け、解析部602により、受け付けた要求を解析し、処理手順生成部603により、解析した要求を実現させるための処理手順を生成し、実行先決定部604により、生成した処理手順をどの実行部で実行させるか決定する。
【0063】
この実行先決定部604による実行先決定処理の詳細は、図7に示すように、まず、記憶装置d630の表定義情報631における再配置処理中フラグ634の値を参照し、再配置処理実行中か否かチェックし(ステップS701)、再配置処理実行中でない場合、格納領域情報632に定義された領域を実行先とする(ステップS702)。
【0064】
図5に示す例の場合、格納領域情報632には、記憶装置A、記憶装置Bが定義されているので、DBMS実行部610a、DBMS実行部610bを実行先とする。尚、ステップS701でのチェック結果が再配置処理実行中の場合の動作は後述する。
【0065】
このように決定した実行先に対して、DBMS受付部600では、実行要求・結果受取部605により、実行要求と、その結果の受け取り処理を行う。この実行要求・結果受取部605による処理の詳細は、図8に示すように、まず、再配置処理中フラグ634の値を参照し、再配置処理実行中か否かチェックする(ステップS711)。
【0066】
再配置処理実行中でない場合には、実行先決定部604で決定した全てのDBMS実行部に対して同時に実行要求を行い(ステップS712)、各DBMS実行部からの実行結果を受け取る(ステップS713)。
【0067】
図5におけるDBMS受付部600は、返却部606の処理により、最後に受け取った実行結果を返却する。尚、ステップS711でのチェック結果が再配置処理実行中の場合の動作は後述する。
【0068】
また、図5におけるデータベース管理システムに挿入要求が行われると、DBMS受付部600は、上述した要求受付部601、解析部602、処理手順生成部603による各処理、および、実行先決定部604による、挿入先となる実行先の決定を行う。
【0069】
この実行先決定部604による挿入実行先の決定処理の詳細は、図9に示すように、まず、図5の記憶装置d630の表定義情報631における再配置処理中フラグ634の値を参照し、再配置処理実行中か否かをチェックする(ステップS721)。
【0070】
再配置中でない場合には、挿入するデータよりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表635(図1および図3のハッシュ関数値格納位置対応表317)を参照して、ハッシュ関数値より、格納領域情報632に定義された領域から挿入実行先を選択する(ステップS722)。尚、ステップS721でのチェック結果が再配置処理実行中の場合の動作は後述する。
【0071】
図5に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求める。ハッシュ関数値が「0,9,4,6,7」となる場合は記憶装置A620aを選択し、また、ハッシュ関数値が「1,8,5,2,3」となる場合は記憶装置B620bを選択する。
【0072】
このようにして選択した挿入先に対して、DBMS受付部600は、実行要求・結果受取部605により、挿入実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部606により返却する。
【0073】
また、図5のデータベース管理システムにおいて、図10に示すようにして、在庫表の格納領域として記憶装置C620cを追加すると、記憶装置d630の追加領域情報633に記憶装置Cが定義され、再配置処理要求が生成され、再配置処理実行部1100での処理が開始される。
【0074】
この再配置処理実行部1100による再配置処理の詳細を、図11に基づき説明する。すなわち、図5に示す記憶装置d630の表定義情報631における再配置処理中フラグ634を、再配置処理実行中とし(ステップS1101)、格納領域情報632および追加領域情報633を参照して、領域追加前の分割数と領域追加後の分割数を求め、ハッシュ関数値格納位置対応表635を参照し、移動対象となるデータを求める(ステップS1102)。
【0075】
図10では2分割していたものに領域が1つ追加され、3分割となるので、ハッシュ関数値格納位置対応表635(図3のハッシュ関数値格納位置対応表317)に基づき、ハッシュ関数値「2,7,3」となるデータが移動対象となることがわかる。
【0076】
このようにして求めた移動対象データが格納されたDBMS実行部に対して、再配置処理実行部1100は、データの検索要求を行う(ステップS1103)。図10では、移動対象のハッシュ関数値「7」は記憶装置A620aに格納され、また、ハッシュ関数値「2,3」となるデータは記憶装置B620bに格納されているので、DBMS実行部610aとDBMS実行部610bに対して検索要求を行う。
【0077】
再配置処理実行部1100から検索要求されたDBMS実行部610aとDBMS実行部610bは、データを1件検索し、結果をDBMS受付部600に返却する。
【0078】
図11において、DBMS受付部600は、DBMS実行部610a,610bから返却されたデータを1件受取り(ステップS1104)、受け取ったデータの値よりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表635を参照して移動先を求め(ステップS1105)、移動先のDBMS実行部に対して挿入要求を行う(ステップS1106)。
【0079】
挿入要求されたDBMS実行部はデータの挿入を実行し、挿入完了をDBMS受付部600に連絡する(ステップS614)。DBMS受付部600はデータの挿入完了を受け取り(ステップS1107)、挿入した元データの削除要求を行う(ステップS1108)。
【0080】
例えば、図10の再配置処理実行部1100では、DBMS実行部610aで商品コードの値が「677」のデータ1000が検索され、DBMS受付部600に返却される。データの移動先は記憶装置C620cなので、DBMS実行部610cに挿入を要求し、記憶装置C620cにデータ1001が格納される。
【0081】
挿入完了後、再配置処理実行部1100は、DBMS実行部610aにおける商品コードの値が「677」のデータ1000を削除するよう要求する。
【0082】
再配置処理実行部1100から削除要求されたDBMS実行部610aは、削除部613aにより、当該データの削除を行い、削除完了をDBMS受付部600に連絡する。DBMS受付部600は、データ削除完了を受け取り(ステップS1109)、次の検索データを取り出し、次の検索データがあるか否かチェックする(ステップS1110)。
【0083】
次のデータがある場合には、データがなくなるまで、ステップS1110〜S1104におけるデータ受取り、挿入、削除の各処理を繰り返し、次のデータがなくなり全てのデータの移動が終了すると、格納領域情報632に追加領域情報633の内容を追加し(ステップS1111)、追加領域情報633の内容の削除(ステップS1112)と、再配置処理処理中フラグ634の消去を行う(ステップS1113)。
【0084】
このようにして、再配置処理が終了すると、図12に示すように、記憶装置A620aには格納データ621aが、記憶装置B620bには格納データ622aが、そして、記憶装置C620cには格納データ623が格納される。
【0085】
このような再配置処理中に、データの検索、更新、削除、および、データの挿入が要求された場合の動作について、すなわち、本発明に係わるデータベース管理方法について、以下、説明する。
【0086】
まず、再配置処理中に、データの検索、更新、削除が要求された場合について説明する。このような場合、図10におけるDBMS受付部600では、要求受付部601と解析部602、処理手順生成部603での各処理、および、実行先決定部604での実行先決定処理を行い、この実行先決定処理において、図7に示すように、再配置処理中フラグを参照し、再配置処理実行中かチェックする(ステップS701)。
【0087】
この際、再配置処理実行中であり、記憶装置d630の表定義情報631における格納領域情報632および追加領域情報633に定義された領域を実行先とする(ステップS703)。図10に示す例では、格納領域情報632に記憶装置A620aと記憶装置B620bが、また、追加領域情報633に記憶装置C620cが定義されているので、DBMS実行部610a、DBMS実行部610b、DBMS実行部610cのそれぞれが実行先となる。
【0088】
このようにして決定した各実行先に対して、DBMS受付部600は、実行要求・結果受取部605による処理を行うが、この場合の実行要求結果受取り処理を、図8で説明する。
【0089】
すなわち、DBMS受付部600は、記憶装置d630の表定義情報631における再配置処理中フラグ634を参照し、再配置処理実行中か否かをチェックすると(ステップS711)、再配置処理実行中であるので、まず、図7の実行先決定処理でステップS703において決定した実行先に基づき、格納領域情報632に定義された記憶装置に対応する各DBMS実行部に実行要求を行う(ステップS714)。
【0090】
実行要求先の全てのDBMS実行部から実行結果を受け取ると(ステップS715)、次に、追加領域情報633に定義された記憶装置に対応する各DBMS実行部に実行要求を行い(ステップS716)、実行要求したDBMS実行部から実行結果を受け取る(ステップS717)。
【0091】
DBMS受付部600は、ステップS606での処理により、最後に受け取った結果を返却する。
【0092】
図10の例では、記憶装置d630の表定義情報631における格納領域情報632に記憶装置A620aと記憶装置B620bが定義され、また、追加領域情報633に記憶装置C620cが定義されているので、まず、DBMS実行部610aとDBMS実行部610bに対して、検索、更新、削除実行要求を行い、全ての結果を受け取った後、DBMS実行部610cに対して検索、更新、削除実行要求を行い、結果を受け取る。
【0093】
また、再配置処理中に挿入が要求された際には、DBMS受付部600は、図10における要求受付部601、解析部602、処理手順生成部603、および、挿入先決定部604の各処理を行うが、この挿入先決定部604での処理は、図9に示す処理となる。
【0094】
すなわち、ステップS721における、再配置処理中フラグを参照しての再配置処理実行中か否かのチェックでは、再配置処理実行中となるので、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表635を参照し、ハッシュ関数値より格納領域情報632に定義された領域と追加領域情報633に定義された領域から挿入先を選択する(ステップS723)。
【0095】
図10に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求め、ハッシュ関数値が「0,9,4,6」となる場合は記憶装置A620aを選択し、また、ハッシュ関数値が「1,8,5」となる場合は記憶装置B620bを選択し、さらに、ハッシュ関数値が「2,7,3」となる場合は記憶装置C620cを選択する。
【0096】
そして、DBMS受付部600では、選択した挿入先に対して、挿入実行要求・結果受取部605による処理を行い、最後に受け取った結果を、返却部606により返却する。
【0097】
このような検索、更新、削除、挿入中のデータに対してはロックがかかり、ユーザから別途指示されるまで、他のユーザや再配置処理が検索、更新、削除を行うことが禁止される。同様に、再配置処理中のデータ一件毎に移動処理を行うデータに対してもロックがかかり、移動処理完了時まで、他のユーザが検索、更新、削除処理を行うことが禁止される。
【0098】
尚、本例においては、検索、更新、削除処理の実行先は、データが格納された全ての記憶装置に対して実施しているが、条件が付加された検索、更新、削除処理の場合、実行先の記憶装置を絞って実行させることが可能である。再配置処理中の検索、更新、削除処理で、実行先の記憶装置を絞った場合、実行先の記憶装置に再配置対象のデータが格納されている場合のみ、追加領域で検索、更新、削除処理を行えばよい。
【0099】
以上の処理により、再配置処理中であっても、再配置中の表データに対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能である。
【0100】
次に、本発明に係わるデータベースシステムの他の例を説明する。このデータベースシステムでは、例えばハッシュ分割により決定した既存の記憶装置に格納しているデータに対して、記憶装置の追加に伴い再配置処理を行う際、移動対象に決定したデータを既存の記憶装置から追加記憶装置へコピーし、コピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加し、移動対象となった全てのデータの追加記憶装置へのコピーが完了した後に、コピー元の全てのデータを削除する。
【0101】
そして、このデータ再配置処理の実行中に、表のデータに対する検索が要求されると、既存の記憶装置に格納されたデータを検索対象として検索処理を行う。また、再配置処理実行中に、表のデータに対する更新、削除が要求されると、まず、既存の記憶装置に格納されたデータを更新、削除対象として処理を行い、次に、更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対し同じ更新、削除処理を行う。
【0102】
また、再配置処理実行中に、表のデータに対する挿入が要求され、当該挿入データが追加記憶装置への移動対象データである場合には、当該挿入データを、既存の記録装置に格納すると共に移動先の追加記憶装置に対しても格納し、この追加記憶装置への格納位置情報を、既存の記憶装置に格納したデータに付加する。
【0103】
このような動作を行うデータベースシステムの基本構成は、図1で示したものと同じあり、また、そのハードウェア構成も、図2で示したものと同じで良い。
【0104】
以下、このような構成で、かつ、データの分割に関しても、図1および図3で示したハッシュ関数値格納位置対応表317に基づくものとし、図6に示した在庫表を図1のデータベースシステムに適用し、第2の例としてのデータベースシステムの動作説明を、図13から図21を用いて行う。
【0105】
図13は、図1におけるデータベース管理システムの再配置処理前の具体的な第2の構成例を示すブロック図であり、図14は、図13におけるDBMS受付部での検索実行先決定処理動作例を示すフローチャートであり、図15は、図13におけるDBMS受付部での更新および削除実行先決定処理動作例を示すフローチャート、図16は、図13におけるDBMS受付部での更新実行処理動作例を示すフローチャート、図17は、図13におけるDBMS受付部での削除実行処理動作例を示すフローチャート、図18は、図13におけるDBMS受付部での挿入実行先決定処理動作例を示すフローチャート、図19は、図13におけるDBMS受付部での挿入実行処理動作例を示すフローチャート、図20は、図13におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図、図21は、図20におけるデータベース管理システムによる再配置処理動作例を示すフローチャート、図22は、図1におけるデータベースシステムによる再配置処理中のデータベース処理要求の受付と実行動作の第2の例を示す説明図である。
【0106】
図13に示すデータベースシステムにおいて、この状態で検索要求が行われると、DBMS受付部600aは、要求受付部601、解析部602、処理手順生成部603での各処理を行い、実行先決定部604により実行先を決定するが、本例においての実行先決定処理は、図7で示した先の例(第1の例)のように再配置処理実行中であるか否かを判定することなく、図14に詳細を示すように、単に、格納領域情報632に定義された領域を実行先とする(ステップS1301)。
【0107】
図13に示す例では、格納領域情報632に記憶装置Aおよび記憶装置Bが定義されているので、DBMS実行部610a、DBMS実行部610bを実行先とする。そして、DBMS受付部600aでは、実行要求・結果受取部605により、このように決定した実行先に対して検索実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部606により返却する。
【0108】
また、データの更新もしくは削除に関しても、その要求が行われると、DBMS受付部600aは、要求受付部601、解析部602、処理手順生成部603での各処理を行い、実行先決定部604での処理により実行先を決定するが、その実行先決定処理としては、検索要求と同様に、図7で示した第1の例のように再配置処理実行中であるか否かを判定することなく、図15に示すように、単に、格納領域情報632に定義された領域を実行先とする(ステップS1401)。
【0109】
図13に示す例では、格納領域情報632に記憶装置Aおよび記憶装置Bが定義されているので、DBMS実行部610aとDBMS実行部610bを実行先とする。そして、DBMS受付部600aは、このように決定した実行先に対して、実行要求・結果受取部605により、更新、削除実行要求を行い、その結果を受け取り、最後に受け取った結果を、返却部607により返却する。
【0110】
DBMS実行部610a,610bは、更新部612a,612b、および、削除部613a,613bにより、図16および図17に示すように、更新、削除指定されたデータを検索し(ステップS1501、S1601)、更新、削除処理を実行する(ステップS1502、S1602)。
【0111】
さらに、更新、削除データを参照し、コピー先を示す位置情報が付加されているか否かをチェックし(ステップS1503、S1603)、コピー先を示す位置情報が付加されていれば、当該コピー先のデータに対して更新、削除を実行する(ステップS1506、S1606)。
【0112】
その後、あるいは、ステップS1503、S1603において、位置情報が付加されていない場合には、次の更新、削除指定されたデータを取り出し、次のデータがあるか否かをチェックし(ステップS1504、S1604)、次のデータがある場合、全てを検索するまでステップS1501、S1601からの処理を繰り返す。また、次のデータが無くて、全てのデータの検索が終了すると、DBMS受付部600aへ実行終了連絡を行う(ステップS1505、S1605)。
【0113】
また、挿入要求が行われた場合には、図13のDBMS受付部600aは、要求受付部601、解析部602、処理手順生成部603での各処理を行い、実行先決定部604により挿入先を決定する。本例においては、この挿入先決定処理は、図18に示すようになる。
【0114】
すなわち、まず、再配置処理中フラグ634を参照し、再配置処理実行中か否かをチェックし(ステップS1701)、ここでは、再配置処理中でない場合として、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表635(図1および図3におけるハッシュ関数値格納位置対応表317)を参照し、ハッシュ関数値に基づき、格納領域情報632に定義された領域から挿入先を選択する(ステップS1702)。
【0115】
図13に示す例では、挿入データの商品コードの値を参照し、ハッシュ関数値を求める。ハッシュ関数値が「0,9,4,6,7」となる場合は記憶装置A620aを選択し、ハッシュ関数値が「1,8,5,2,3」となる場合は記憶装置B620bを選択する。
【0116】
そして、選択した挿入先に対して、DBMS受付部600aは、実行要求・結果受取部605により、挿入実行要求を行い、その結果を受け取る。この実行要求、結果受取りは、図19に示す手順で行う。
【0117】
すなわち、図13のDBMS受付部600aは、再配置処理中フラグ634を参照し、再配置処理実行中か否かをチェックし(ステップS1801)、再配置中でない場合には、実行先決定部604での決定処理で選択した記憶装置に対応するDBMS実行部に挿入実行要求を行い(ステップS1802)、その結果を受け取る(ステップS1803)。そして、最後に受け取った結果を返却する。尚、ステップS1801でのチェックの結果において、再配置処理実行中の場合の動作は後述する。
【0118】
図13におけるデータベースシステムに、図10で示した例と同様に、図20に示すように、在庫表の格納領域に記憶装置C620cを追加すると、記憶装置d630の追加領域情報633に記憶装置Cが定義され、再配置処理要求により再配置処理実行部1901による処理が開始される。
【0119】
この再配置処理では、図21に示すように、まず、図13における再配置処理中フラグ634を再配置処理実行中にし(ステップS2001)、格納領域情報632、追加領域情報633を参照して、領域追加前の分割数、および、領域追加後の分割数を求め、ハッシュ関数値格納位置対応表635(図1および図3におけるハッシュ関数値格納位置対応表317)を参照し、移動対象となるデータを求める(ステップS2002)。
【0120】
図20の例では、2分割していた表に領域が1つ追加され3分割となるので、図3に示すハッシュ関数値格納位置対応表317により、ハッシュ関数値「2,7,3」となるデータが移動対象となることがわかる。
【0121】
次に、ステップS2002で求めた移動対象データが格納されたDBMS実行部に対してデータの検索要求を行う(ステップS2003)。図20の例では、移動対象のハッシュ関数値「7」は記憶装置A620aに、また、ハッシュ関数値「2,3」は記憶装置B620bに格納されているので、DBMS実行部610aとDBMS実行部610bに対して検索要求を行う。
【0122】
このようにして、DBMS受付部600aから検索要求されたDBMS実行部610a,610bは、データを1件検索し、結果をDBMS受付部600aに返却する。DBMS受付部600aは、再配置処理実行部1901により、結果を1件受取り(ステップS2004)、受け取ったデータの値よりハッシュ関数値を計算し、ハッシュ関数値格納位置対応表635(図1および図3におけるハッシュ関数値格納位置対応表317)を参照して移動先(図20ではDBMS実行部610c)を求め(ステップS2005)、移動先に対して挿入要求を行う(ステップS2006)。
【0123】
挿入要求されたDBMS実行部610cは、挿入部614cにより、当該データの記憶装置C620cでの挿入を行い、データ挿入位置情報と挿入完了をDBMS受付部600aに連絡する。
【0124】
DBMS受付部600aは、再配置処理実行部1901により、データ挿入位置情報と挿入完了を受け取り(ステップS2007)、移動元データに移動先データ挿入位置情報の追加を行う(ステップS2008)。
【0125】
図20の例では、DBMS実行部610aにおいて、商品コードの値が「677」のデータ(トレーナー)1911が検索され、DBMS受付部600aに返却され、データの移動先は記憶装置C620cなのでDBMS実行部610cに挿入要求し、記憶装置C620cにデータ1921が格納される。そして、挿入完了後、DBMS実行部610aの移動元のデータ1911に移動先位置情報1912が追加される。
【0126】
ステップS2008での処理の後、図13におけるDBMS受付部600aの再配置処理実行部1901では、次の検索データを取り出し、次のデータがあるか否かをチェックし(ステップS2009)、次のデータがある場合には、全てのデータの処理が終わるまで、ステップS2004〜2008におけるデータ受取り、移動先特定、データ挿入、移動先位置情報追加処理を繰り返す。
【0127】
また、ステップS2009において、次のデータが無くなり全てのデータの移動が終了すると、移動対象データが格納されていたDBMS実行部に対して、移動先位置情報が追加されたデータの削除要求を行う(ステップS2010)。
【0128】
削除要求されたDBMS実行部では、対象のデータを検索して削除を実行し、削除の完了後、削除完了をDBMS受付部600aに連絡するので、DBMS受付部600aは、このデータの削除完了を受け取り(ステップS2011)、格納領域情報632に追加領域情報633を追加し(ステップS2012)、追加領域情報633の削除(ステップS2013)、および、再配置処理処理中フラグの消去を行う(ステップS2014)。
【0129】
このようにして、再配置処理が終了すると、図20における記憶装置A620aに格納していた格納データ621(在庫表)と、記憶装置B620bに格納していた格納データ622(在庫表)は、図12で示す場合と同様に再配置され、記憶装置A620aには格納データ621aが、記憶装置B620bには格納データ622aが、記憶装置C620cには格納データ623が配置される。
【0130】
このような再配置処理中に、検索や更新、削除、および、挿入処理要求がなされた場合について以下説明する。
【0131】
まず、再配置処理中に検索処理要求がなされた場合、図13および図20におけるDBMS受付部600aでは、要求受付部601による要求受付け、解析部602による要求の解析、処理手順生成部603による処理手順の生成、および、実行先決定部604による実行先の決定を行う。
【0132】
この実行先の決定処理では、図14に示すように、図20の記憶装置d630の表定義情報631における格納領域632に定義された領域を実行先とする(ステップS1301)。
【0133】
図20に示す例の場合、格納領域632には記憶装置Aと記憶装置Bが定義されているので、DBMS実行部610aとDBMS実行部610bに対して検索実行要求を行う。
【0134】
すなわち、実行要求・結果受取部605は、実行先決定部604が決定した実行先に対して検索実行要求を行い、その結果を受け取る。そして、返却部606において、実行要求・結果受取部605が最後に受け取った結果を返却する。
【0135】
次に、再配置処理中に更新や削除処理要求がなされた場合、DBMS受付部600aでは、要求受付部601による要求受付け、解析部602による要求の解析、処理手順生成部603による処理手順の生成、および、実行先決定部604による実行先の決定を行う。
【0136】
この実行先の決定処理では、図15に示すように、図20の記憶装置d630の表定義情報631における格納領域632に定義された領域を実行先とする(ステップS1401)。
【0137】
図20に示す例の場合、格納領域632には記憶装置Aと記憶装置Bが定義されているので、DBMS実行部610aとDBMS実行部610bに対して更新や削除実行要求を行う。
【0138】
更新や削除が要求されたDBMS実行部610aとDBMS実行部610bは、それぞれ、更新部612a,612b、削除部613a,613bにより、図16および図17に示すようにして、更新や削除が指定されたデータを検索し(ステップS1501、S1601)、更新処理や削除処理を実行する(ステップS1502、S1602)。
【0139】
さらに、更新、削除データを参照し、これらの更新、削除データにコピー先を示す位置情報が付加されているか否かをチェックし(ステップS1503、S1603)、コピー先を示す位置情報が付加されていれば、当該コピー先のデータに対して更新、削除を実行する(ステップS1506、S1606)。
【0140】
その後、あるいは、ステップS1503、S1603において位置情報が付加されていない場合には、次の更新、削除指定されたデータを取り出し、次のデータがあるか否かをチェックする(ステップS1504、S1604)。
【0141】
次のデータがある場合、全てを検索するまでステップS1501、S1601からの処理を繰り返す。また、次のデータが無くて、全てのデータの検索が終了すると、DBMS受付部600aへ実行終了連絡を行う(ステップS1505、S1605)。
【0142】
このようにして、DBMS実行部610a,610bより実行終了連絡を受けると、DBMS受付部600aは、最後に受け取った結果を返却する。すなわち、実行要求・結果受取部605により、その結果を受け取り、返却部606により、実行要求・結果受取部605が最後に受け取った結果を返却する。
【0143】
また、挿入要求が行われた場合には、図13および図20におけるDBMS受付部600aは、要求受付部601、解析部602、処理手順生成部603での各処理を行い、実行先決定部604により挿入先を決定する。本例においては、この挿入先決定処理は、図18に示すようになる。
【0144】
すなわち、まず、再配置処理中フラグ634を参照し、再配置処理実行中か否かをチェックし(ステップS1701)、ここでは、再配置処理中であり、挿入するデータよりハッシュ関数値を求め、ハッシュ関数値格納位置対応表635(図1および図3に示すハッシュ関数値格納位置対応表317)を参照し、ハッシュ関数値より格納領域632から挿入先(1)を決定し(ステップS1703)、格納領域632に定義された領域と追加領域情報633のそれぞれに定義された領域から挿入先(2)を決定する(ステップS1704)。
【0145】
図20に示す例の場合、挿入先(1)は、ハッシュ関数値が「0,9,4,6,7」となる場合は記憶装置A620aを選択し、ハッシュ関数値が「1,8,5,2,3」となる場合は記憶装置B620bを選択する。
【0146】
また、挿入先(2)は、ハッシュ関数値が「0,9,4,6」となる場合は記憶装置A620aを選択し、ハッシュ関数値が「1,8,5」となる場合は記憶装置B620bを選択し、そして、ハッシュ関数値が「2,7,3」となる場合は記憶装置C620cを選択する。
【0147】
このようにして選択した挿入先に対して、DBMS受付部600aは、実行要求・結果受取部605により、挿入実行要求を行い、その結果を受け取る。この実行要求と結果の受取りは、図19に示すようにして行う。
【0148】
すなわち、図20における実行要求・結果受取部605は、まず、記憶装置d630の表定義情報631における再配置処理中フラグ634を参照し、再配置処理実行中か否かをチェックする(ステップS1801)。
【0149】
ここでは、再配置処理中であり、挿入先(1)と挿入先(2)が同じ記憶装置であるか否かをチェックし(ステップS1804)、同じ記憶装置の場合、決定した挿入先に対して、挿入実行要求を行い(ステップS1805)、その結果を受け取る(ステップS1806)。
【0150】
また、ステップS1804でのチェック結果において、挿入先(1)と挿入先(2)が違う記憶装置の場合、まず挿入先(2)に対して挿入実行要求を行い(ステップS1807)、当該DBMS実行部で挿入処理完了後、挿入先データ格納位置情報を受け取る(ステップS1808)。
【0151】
次に、挿入先(1)に対して、挿入先(2)に対する挿入処理完了時に受け取ったデータ格納位置情報を挿入データに追加して挿入実行要求を行う(ステップS1809)。そして、当該DBMS実行部の挿入処理完了後、結果を受け取る(ステップS1810)。
【0152】
図20に示す例の場合、ハッシュ関数値が「0,9,4,6」となる場合は挿入先(1)と挿入先(2)が同じ記憶装置A620aであり、また、ハッシュ関数値が「1,8,5」となる場合は挿入先(1)と挿入先(2)が同じ記憶装置B620bであるので、それぞれのDBMS実行部610a,610bに挿入要求し、挿入結果を受け取る。
【0153】
また、ハッシュ関数値が「7」となる場合は挿入先(1)は記憶装置A620a、挿入先(2)は記憶装置C620cとなるため、まず記憶装置C620cに対応するDBMS実行部610cに挿入要求し、挿入位置情報データを受け取り、次に記憶装置A620aに対応するDBMS実行部610aにDBMS実行部610cより受け取った挿入位置データを付加したデータの挿入要求を行う。
【0154】
同様に、ハッシュ関数値が「2,3」となる場合、挿入先(1)は記憶装置B620b、挿入先(2)は記憶装置C620cとなるため、まず記憶装置C620cに対応するDBMS実行部610cに挿入要求し、挿入位置情報データを受け取り、次に記憶装置B620bに対応するDBMS実行部610bに対して、DBMS実行部610cより受け取った挿入位置データを付加したデータの挿入要求を行う。
【0155】
このような検索、更新、削除、挿入処理中は、処理中のデータに対してロックがかかり、ユーザから別途指示されるまで、他のユーザや再配置処理が検索、更新、削除を行うことは禁止される。同様に、再配置処理中のデータ一件毎に移動処理を行うデータに対してもロックがかかり、移動処理完了時まで、他のユーザが検索、更新、削除処理を行うことが禁止される。
【0156】
尚、本例において、検索、更新、削除処理の実行先は、データが格納された全ての記憶装置に対して実施しているが、条件が付加された検索、更新、削除処理の場合、実行先を絞って実行させることが可能である。
【0157】
以上の第2の例における再配置処理、および、再配置処理中の検索、更新、削除、挿入処理について、図22を用いて以下にまとめる。
【0158】
まず、図22(a)において、記憶装置A2120には、ハッシュ関数値「0,4,6,7,9」となるデータが、また、記憶装置B2130には、ハッシュ関数値「1,2,3,5,8」となるデータが、それぞれ分割して格納されているものとする。
【0159】
このように分割されたデータベース表がある場合、検索処理2100は、記憶装置A2120と記憶装置B2130で実行され、更新・削除処理2100は、記憶装置A2120と記憶装置B2130で実行され、ハッシュ関数値が「3」となるようなデータ2131の挿入は記憶装置B2130で実行される。
【0160】
ここに、図22(b)に示すように、記憶装置C2140が追加された場合(記憶装置A2120と記憶装置B2130を合わせて既存領域と呼び、記憶装置C2140を追加領域と呼ぶ)、再配置処理2103は、記憶装置A2120と記憶装置B2130に格納されたデータから、記憶装置C2140へ移動するデータ2121を選び出し、選び出したデータ2121を記憶装置C2140へコピーし、コピー元データ2121にコピーしたデータ2142の格納位置情報2122を付加する。
【0161】
このデータ2121のコピーは記憶装置A2120と記憶装置B2130の移動対象データの検索と、記憶装置C2142への挿入により行う。また、この移動対象データ2121のコピーから当該データ2121への格納位置情報の付加までの間、このデータ2121にロックをかけ、他のユーザが検索、更新、削除処理を行うことを禁止する。
【0162】
このような再配置処理中での検索2100は、既存領域で実行する。すなわち、記憶装置A2120と記憶装置B2130で実行する。また、再配置処理中の更新、削除処理2101も、既存領域で実行するが、もし、更新、削除対象のデータにコピー先位置情報が付加されている場合には、コピー先位置情報が示すデータに対しても更新、削除処理を実行する。
【0163】
すなわち、記憶装置A2120と記憶装置B2130で更新、削除処理を実行し、コピー先位置情報2122,2132が付加されているデータ2121、2131の更新、削除を行った場合には、コピー先位置情報2122、2132が示す記憶装置Cにおけるデータ2141、2142に対しても更新、削除を実行する。
【0164】
尚、検索、更新、削除中のデータにはロックがかかり、ユーザから別途指示されるまで、再配置処理がデータを参照するのを禁止する。
【0165】
次に、再配置処理中のハッシュ関数値が「3」となるようなデータ2131の挿入処理2102では、データ2141を記憶装置C2140に格納し、さらに、データの位置情報2132を付加したデータ2131を記憶装置B2130に格納する。
【0166】
再配置処理で移動中のデータを、他のユーザが検索、更新、削除しようとすると、ロックによりアクセスが禁止されているため、データの移動完了まで待たされるが、データの移動完了によりロックが解除されると、待たされていた処理を再開することができる。
【0167】
また、検索、更新、削除中のデータを、再配置処理が移動しようとした場合も、ロックによりアクセスが禁止されているため、ユーザがロックを解除するまで待たされ、ロックが解除されると、待たされていた再配置処理が再開される。これにより、不当にデータの値を更新されたり、データが削除されることを防止できる。
【0168】
さらに、再配置実行中も、再配置処理で移動したデータが既存領域に残っているので、既存領域で実行するだけで全てのデータを検索することができる。
【0169】
以上のようにして、第2の例のデータベースシステムでは、再配置処理により移動されたデータは、移動先位置情報が付加されるので、位置情報が付加されたデータの更新、削除実行時に位置情報の示すデータに対して更新、削除実行を行うことにより、再配置処理により移動されたデータに対しても更新、削除が行える。
【0170】
また、再配置対象となるようなデータを再配置処理中のデータと同じ形式で格納することにより、余分な再配置処理の発生を防止できる。
【0171】
この結果、再配置処理中に再配置中の表(テーブル)に対する検索、更新、削除、挿入処理要求を受け付けて並行して実行することが可能となる。
【0172】
尚、以上に説明した第1の例と第2の例の両方の実現が可能な構成のデータベース管理システムで、表(テーブル)に含まれる列の型やインデクスの有無等により、第1の例、または第2の例のいずれかの機能動作を選択して実行することにより、表(テーブル)の属性に応じた最適な再配置処理、および、検索、更新、削除、挿入処理を実行することが可能となる。
【0173】
以上、図1〜図22を用いて説明したように、本例のデータベースシステムとデータベース管理方法では、以下の手順により、データ管理処理を行う。
【0174】
(1)まず、複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を割当て、表のデータを指定の分割規則(方法)、例えばハッシュ関数に従って決定された記憶装置に格納するデータベースシステムにおいて、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置から追加記憶装置へ移動するデータを、ハッシュ関数を用いた分割規則に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を行い、さらに、このデータ再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、当該データを格納する既存の記憶装置と追加記憶装置とのそれぞれに対して検索、更新、削除を実行し、また、表のデータに対する挿入が要求されると、既存の記憶装置と追加記憶装置のそれぞれに対してハッシュ関数を用いた分割規則に従って、当該データの挿入先の記憶装置を決定し、決定した記憶装置に当該データを挿入する。
【0175】
(2)特に、表データに対して検索、更新、削除が要求された場合には各記憶装置に対して並列処理を行う並列データベースシステムである場合には、表のデータを格納する記憶装置の追加が要求されると、既存の記憶装置と追加記憶装置の情報を用い、既存の記憶装置から追加記憶装置へ移動するデータを、ハッシュ関数等を用いた分割規則に従って決定し、決定した全てのデータを追加記憶装置に移動させるデータ再配置処理を行い、このデータ再配置処理の実行中に、表のデータに対する検索、更新、削除が要求されると、当該データを格納する既存の記憶装置で検索、更新、削除を各記憶装置に対して並列処理実行し、既存の記憶装置での処理が全て完了した後に、追加記憶装置での検索、更新、削除を各記憶装置に対して並列処理実行し、また、表のデータに対する挿入が要求されると、既存の記憶装置の情報と追加記憶装置を含め、ハッシュ関数等を用いたデータ分割規則に従って決定した記憶装置にデータを挿入する。
【0176】
(3)また、表のデータを格納する記憶装置の追加要求があれば、ハッシュ関数等を用いた分割規則で決定した既存の記憶装置から追加記憶装置へ移動するデータを、まず、既存の記憶装置から追加記憶装置へコピーし、このコピーした追加記憶装置上のデータの位置情報をコピー元の記憶装置内のデータに付加する。そして、このようにして、移動対象となった全てのデータを追加記憶装置へコピーが完了すると、コピー元の全てのデータを削除するデータ再配置処理を実行する。さらに、このデータ再配置処理実行中に、表のデータに対する検索が要求されると、既存の記憶装置に格納されたデータを対象として検索処理を行い、また、更新、削除が要求されると、既存の記憶装置に格納されたデータを更新、削除対象として処理を行うと共に、この更新、削除処理対象となったデータに追加記憶装置へのコピー先を示す位置情報が付加されている場合には、コピー先のデータに対し同じ更新、削除処理を行い、さらに、表のデータに対する挿入が要求されると、既存の記憶装置のみでの指定の分割規則に従って決定した記憶装置にデータを格納し、また、追加記憶装置を含めての分割方法では、当該追加記憶装置移動対象となる場合には、この追加記憶装置に対してもデータを格納し、この追加記憶装置への格納位置情報を既存の記憶装置に格納したデータに付加する。
【0177】
尚、処理対象の表により、上記(1)〜(3)の技術のいずれかを選択し実行する。
【0178】
このことにより、本例のデータベースシステムとデータベース管理方法では、複数の記憶装置に分割して格納するリレーショナルデータベース管理システムの表データに、記憶装置を追加して既存の記憶装置内に格納されたデータを再均等分割する最中に、検索、更新、削除、挿入等のデータベースのサービスを並行して実行させることが可能となる。
【0179】
尚、本発明は、図1〜図22を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、3台の記憶装置を用いたデータベースシステムおよびデータベース管理システム構成で説明したが、2台、もしくは、4台以上の記憶装置を用いた構成としても良い。また、各記憶装置へのデータの分割規則(方法)に関しても、本例のようにハッシュ関数を用いるものではなく、キーレンジ分割方法や、ラウンド・ロビン分割方法を用いることでも良い。
【0180】
また、本例では、DBMS300のハードウェア構成として、図2のコンピュータ構成例を示したが、ユーザ端末330a〜330cと同様に、キーボード等の入力装置やCRT(Cathode Ray Tube)等の表示装置を具備したコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いる説明を行っているが、FD(Flexible Disk)等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【0181】
【発明の効果】
本発明によれば、新たな記憶装置の追加に伴う表データの再配置処理中であっても、表データに対する検索、更新、削除、挿入等のデータベース処理要求の受付および実行を停止させることなく並行して実行させることができ、データベースシステムの操作性および性能を向上させることが可能である。
【図面の簡単な説明】
【図1】本発明に係わるデータベースシステムの構成例を示すブロック図である。
【図2】図1におけるデータベースシステムのハードウェア構成例を示すブロック図である。
【図3】図1におけるハッシュ関数値格納位置対応表の登録内容例を示す説明図である。
【図4】図1におけるデータベース管理システムによる再配置処理中のデータベース処理要求の受付と実行動作の第1の例を示す説明図である。
【図5】図1におけるデータベース管理システムの再配置処理前の具体的な第1の構成例を示すブロック図である。
【図6】図5におけるデータベース管理システムの管理対象である在庫表の構成例を示す説明図である。
【図7】図5におけるDBMS受付部での第1の処理動作例を示すフローチャートである。
【図8】図5におけるDBMS受付部での第2の処理動作例を示すフローチャートである。
【図9】図5におけるDBMS受付部での第3の処理動作例を示すフローチャートである。
【図10】図5におけるデータベース管理システムの再配置処理に係わる構成と動作の第1の例を示す説明図である。
【図11】図10におけるデータベース管理システムによる再配置処理動作例を示すフローチャートである。
【図12】図1におけるデータベースシステムの再配置処理後の具体的な構成例を示すブロック図である。
【図13】図1におけるデータベース管理システムの再配置処理前の具体的な第2の構成例を示すブロック図である。
【図14】図13におけるDBMS受付部での検索実行先決定処理動作例を示すフローチャートである。
【図15】図13におけるDBMS受付部での更新および削除実行先決定処理動作例を示すフローチャートである。
【図16】図13におけるDBMS受付部での更新実行処理動作例を示すフローチャートである。
【図17】図13におけるDBMS受付部での削除実行処理動作例を示すフローチャートである。
【図18】図13におけるDBMS受付部での挿入実行先決定処理動作例を示すフローチャートである。
【図19】図13におけるDBMS受付部での挿入実行処理動作例を示すフローチャートである。
【図20】図13におけるデータベース管理システムの再配置処理に係わる構成と動作例を示す説明図である。
【図21】図20におけるデータベース管理システムによる再配置処理動作例を示すフローチャートである。
【図22】図1におけるデータベースシステムによる再配置処理中のデータベース処理要求の受付と実行動作の第2の例を示す説明図である。
【符号の説明】
100:処理(「検索、更新、削除」)、101:挿入処理、102:再配置処理実行部、102a:再配置処理、120:記憶装置A、121〜125,131〜135,141〜143:データ、130:記憶装置B、140:記憶装置C、300:データベース管理システム(「DBMS」)、301:ネットワーク、310:DBMS受付部、310a:DBMS受付部プログラム、311:要求受付部、312:解析部、313:処理手順生成部、314:実行先決定部、315:実行要求・結果受取部、316:返却部、317:ハッシュ関数値格納位置対応表、318:外部記憶装置、319:表定義情報、320a〜320c:DBMS実行部プログラム、321a〜321c:検索部、322a〜322c:更新部、323a〜323c:削除部、324a〜324c:挿入部、325a〜325c:外部記憶装置、326a〜326c:表データ、330:処理要求、330a〜330c:ユーザ端末、340:格納領域情報、341:追加領域情報、342:再配置処理中フラグ、400:DBMS受付けノード、401,411a〜411c:CPU、402,412a〜412c:主記憶装置(「主記憶」)、410a〜410c:DBMS実行ノード、420a〜420c:DBMS実行部プログラム、500:在庫表、600,600a:DBMS受付部、601:要求受付部、602:解析部、603:処理手順生成部、604:実行先決定部、605:実行要求・結果受取部、606:返却部、610a〜610c:DBMS実行部、611a〜611c:検索部、612a〜612c:更新部、613a〜613c:削除部、614a〜614c:挿入部、620a:記憶装置A、620b:記憶装置B、620c:記憶装置C、621,621a,622,622a,623:格納データ(「在庫表」)、630:記憶装置d、631:表定義情報、632:格納領域情報(「格納領域」)、633:追加領域情報(「追加領域」)、634:再配置処理中フラグ、1000,1001:データ、1100,1901:再配置処理実行部、1911:データ(「トレーナー」)、1912:移動先位置情報、1921:データ、2100:検索処理、2101:更新・削除処理、2102:挿入処理、2103:再配置処理、2120:記憶装置A、2130:記憶装置B、2140:記憶装置C、2121:データ(「再配置対象データ」)、2122:コピー先位置情報、2131:データ(「再配置対象挿入データ」)、2132:コピー先位置情報、2141:データ(「再配置されたデータ」)、2142:データ(「再配置対象挿入データ」)。
Claims (5)
- 複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納するデータベースシステムであって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手段と、
該手段による再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手段と、
受け付けた検索要求、更新要求、削除要求のいずれかに対応して、前記既存の記憶装置に対して検索、更新、削除のいずれかの処理を実行し、該既存の記憶装置に対する処理を実行した後、前記追加記憶装置に対して当該要求に対応する処理を実行する手段と、
受け付けた挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手段と
を有することを特徴とするデータベースシステム。 - 複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納し、前記表のデータに対する検索要求、更新要求、削除要求に対応する処理を各記憶装置に対して並列に行うデータベースシステムであって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手段と、
該手段による再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手段と、
受け付けた検索要求、更新要求、削除要求のいずれかに対応して、前記既存の記憶装置に対して検索処理、更新処理、削除処理のいずれかを並列実行し、該既存の記憶装置に対する並列処理の完了後に前記追加記憶装置に対して当該要求に対応する検索処理、更新処理、削除処理のいずれかを並列実行する手段と、
受け付けた挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手段と
を有することを特徴とするデータベースシステム。 - 複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納するデータベースシステムのデータベース管理方法であって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手順と、
該手順での再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手順と、
検索要求、更新要求、削除要求のいずれかを受け付けた場合、当該要求に対応して、前記既存の記憶装置に対して検索、更新、削除のいずれかの処理を実行し、該既存の記憶装置に対する処理を実行した後、前記追加記憶装置に対して当該要求に対応する処理を実行する手順と、
挿入要求を受け付けた場合、当該挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手順と
を有することを特徴とするデータベース管理方法。 - 複数のデータ項目で構成される表のデータを格納するための複数の記憶装置を具備し、前記表のデータを予め定められた分割規則に従って決定された記憶装置に格納し、前記表のデータに対する検索要求、更新要求、削除要求に対応する処理を各記憶装置に対して並列に行うデータベースシステムのデータベース管理方法であって、
前記表のデータを格納する記憶装置の追加に伴い、既存の記憶装置から追加記憶装置に移動するデータを前記分割規則に従って決定し、決定したデータを前記追加記憶装置に移動させる再配置処理を行う手順と、
該手順での再配置処理の実行中に前記表のデータに対する検索要求、更新要求、削除要求、挿入要求のいずれかを受け付ける手順と、
検索要求、更新要求、削除要求のいずれかを受け付けた場合、当該要求に対応して、前記既存の記憶装置に対して検索処理、更新処理、削除処理のいずれかを並列実行し、該既存の記憶装置に対する並列処理の完了後に前記追加記憶装置に対して当該要求に対応する検索処理、更新処理、削除処理のいずれかを並列実行する手順と、
挿入要求を受け付けた場合、当該挿入要求に対応して、挿入対象データの格納先を前記分割規則に従って、前記既存の記憶装置および前記追加記憶装置から決定し、決定した記憶装置に前記挿入対象データを挿入する手順と
を有することを特徴とするデータベース管理方法。 - コンピュータに、請求項3もしくは請求項4のいずれかに記載のデータベース管理方法における各手順を実行させるためのプログラム。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001194075A JP4183400B2 (ja) | 2001-06-27 | 2001-06-27 | データベースシステムとデータベース管理方法およびプログラム |
US09/987,839 US20030004975A1 (en) | 2001-06-27 | 2001-11-16 | Database management system with rebalance architectures |
US11/357,158 US7577694B2 (en) | 2001-06-27 | 2006-02-21 | Database management system with rebalance architectures |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001194075A JP4183400B2 (ja) | 2001-06-27 | 2001-06-27 | データベースシステムとデータベース管理方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003006021A JP2003006021A (ja) | 2003-01-10 |
JP4183400B2 true JP4183400B2 (ja) | 2008-11-19 |
Family
ID=19032259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001194075A Expired - Fee Related JP4183400B2 (ja) | 2001-06-27 | 2001-06-27 | データベースシステムとデータベース管理方法およびプログラム |
Country Status (2)
Country | Link |
---|---|
US (2) | US20030004975A1 (ja) |
JP (1) | JP4183400B2 (ja) |
Families Citing this family (93)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035880B1 (en) | 1999-07-14 | 2006-04-25 | Commvault Systems, Inc. | Modular backup and retrieval system used in conjunction with a storage area network |
US6658436B2 (en) | 2000-01-31 | 2003-12-02 | Commvault Systems, Inc. | Logical view and access to data managed by a modular data and storage management system |
US7003641B2 (en) | 2000-01-31 | 2006-02-21 | Commvault Systems, Inc. | Logical view with granular access to exchange data managed by a modular data and storage management system |
US7434219B2 (en) | 2000-01-31 | 2008-10-07 | Commvault Systems, Inc. | Storage of application specific profiles correlating to document versions |
JP2005505039A (ja) | 2001-09-28 | 2005-02-17 | コムヴォールト・システムズ・インコーポレーテッド | 情報記憶装置にオブジェクトをアーカイブする装置及び方法 |
US7174347B1 (en) * | 2002-02-14 | 2007-02-06 | Ncr Corp. | Loading data using links in a database |
US7693881B2 (en) * | 2002-09-09 | 2010-04-06 | Sap Ag | Methods and systems for moving data using locks |
US7653667B2 (en) * | 2002-09-09 | 2010-01-26 | Sap Ag | Methods and systems for data moving using locks |
US7756813B2 (en) * | 2002-09-09 | 2010-07-13 | Sap Ag | Electronic data structure for controlling access to data objects using locks |
DE60315996T2 (de) * | 2002-09-09 | 2008-05-21 | Sap Ag | Verfahren und vorrichtung zur datenbewegung mittels sperren |
US20060149696A1 (en) * | 2002-09-09 | 2006-07-06 | Thorsten Pferdekaemper | Method and systems for controlling access to a data object by means of locks |
US7457933B2 (en) * | 2002-09-09 | 2008-11-25 | Sap Ag | Methods and systems for archiving data |
JP4068473B2 (ja) * | 2003-02-19 | 2008-03-26 | 株式会社東芝 | ストレージ装置、分担範囲決定方法及びプログラム |
US7478096B2 (en) * | 2003-02-26 | 2009-01-13 | Burnside Acquisition, Llc | History preservation in a computer storage system |
US7454569B2 (en) | 2003-06-25 | 2008-11-18 | Commvault Systems, Inc. | Hierarchical system and method for performing storage operations in a computer network |
US7506002B2 (en) * | 2003-09-29 | 2009-03-17 | Sap Ag | Efficient deletion of archived data |
US7546324B2 (en) | 2003-11-13 | 2009-06-09 | Commvault Systems, Inc. | Systems and methods for performing storage operations using network attached storage |
JP4574230B2 (ja) * | 2004-05-27 | 2010-11-04 | 株式会社日立製作所 | データベース管理方法及びデータベースシステム |
JP4854973B2 (ja) | 2005-03-09 | 2012-01-18 | 富士通株式会社 | 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム |
JP4581962B2 (ja) | 2005-10-27 | 2010-11-17 | 株式会社日立製作所 | 情報検索システムとインデクス管理方法およびプログラム |
US8554758B1 (en) * | 2005-12-29 | 2013-10-08 | Amazon Technologies, Inc. | Method and apparatus for monitoring and maintaining health in a searchable data service |
US7680993B2 (en) * | 2006-12-21 | 2010-03-16 | Tandberg Television, Inc. | Local digital asset storage management technique |
US7734669B2 (en) | 2006-12-22 | 2010-06-08 | Commvault Systems, Inc. | Managing copies of data |
JP5084310B2 (ja) * | 2007-03-16 | 2012-11-28 | 日本電気株式会社 | 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム |
US20080294492A1 (en) * | 2007-05-24 | 2008-11-27 | Irina Simpson | Proactively determining potential evidence issues for custodial systems in active litigation |
US8396838B2 (en) | 2007-10-17 | 2013-03-12 | Commvault Systems, Inc. | Legal compliance, electronic discovery and electronic document handling of online and offline copies of data |
US8572043B2 (en) | 2007-12-20 | 2013-10-29 | International Business Machines Corporation | Method and system for storage of unstructured data for electronic discovery in external data stores |
US8112406B2 (en) * | 2007-12-21 | 2012-02-07 | International Business Machines Corporation | Method and apparatus for electronic data discovery |
US8140494B2 (en) | 2008-01-21 | 2012-03-20 | International Business Machines Corporation | Providing collection transparency information to an end user to achieve a guaranteed quality document search and production in electronic data discovery |
JP5203733B2 (ja) * | 2008-02-01 | 2013-06-05 | 株式会社東芝 | コーディネータサーバ、データ割当方法及びプログラム |
US8275720B2 (en) | 2008-06-12 | 2012-09-25 | International Business Machines Corporation | External scoping sources to determine affected people, systems, and classes of information in legal matters |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US9128883B2 (en) | 2008-06-19 | 2015-09-08 | Commvault Systems, Inc | Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail |
US8352954B2 (en) | 2008-06-19 | 2013-01-08 | Commvault Systems, Inc. | Data storage resource allocation by employing dynamic methods and blacklisting resource request pools |
US9830563B2 (en) | 2008-06-27 | 2017-11-28 | International Business Machines Corporation | System and method for managing legal obligations for data |
US8327384B2 (en) | 2008-06-30 | 2012-12-04 | International Business Machines Corporation | Event driven disposition |
US8489439B2 (en) | 2008-06-30 | 2013-07-16 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8515924B2 (en) | 2008-06-30 | 2013-08-20 | International Business Machines Corporation | Method and apparatus for handling edge-cases of event-driven disposition |
US8484069B2 (en) | 2008-06-30 | 2013-07-09 | International Business Machines Corporation | Forecasting discovery costs based on complex and incomplete facts |
US8073729B2 (en) | 2008-09-30 | 2011-12-06 | International Business Machines Corporation | Forecasting discovery costs based on interpolation of historic event patterns |
US8725688B2 (en) | 2008-09-05 | 2014-05-13 | Commvault Systems, Inc. | Image level copy or restore, such as image level restore without knowledge of data object metadata |
US20100070474A1 (en) | 2008-09-12 | 2010-03-18 | Lad Kamleshkumar K | Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration |
US8204869B2 (en) * | 2008-09-30 | 2012-06-19 | International Business Machines Corporation | Method and apparatus to define and justify policy requirements using a legal reference library |
US20110040600A1 (en) * | 2009-08-17 | 2011-02-17 | Deidre Paknad | E-discovery decision support |
WO2011067932A1 (ja) * | 2009-12-04 | 2011-06-09 | Yanase Takatoshi | 表検索装置、表検索方法、及び、表検索システム |
US8655856B2 (en) | 2009-12-22 | 2014-02-18 | International Business Machines Corporation | Method and apparatus for policy distribution |
US8250041B2 (en) | 2009-12-22 | 2012-08-21 | International Business Machines Corporation | Method and apparatus for propagation of file plans from enterprise retention management applications to records management systems |
US8935248B2 (en) | 2010-05-17 | 2015-01-13 | United States Postal Service | Localized data affinity system and hybrid method |
US8566903B2 (en) | 2010-06-29 | 2013-10-22 | International Business Machines Corporation | Enterprise evidence repository providing access control to collected artifacts |
US8832148B2 (en) | 2010-06-29 | 2014-09-09 | International Business Machines Corporation | Enterprise evidence repository |
US8402359B1 (en) | 2010-06-30 | 2013-03-19 | International Business Machines Corporation | Method and apparatus for managing recent activity navigation in web applications |
DE102011083417A1 (de) * | 2010-10-04 | 2012-04-05 | Dell Products L.P. | Datenblockmigration |
US9400799B2 (en) | 2010-10-04 | 2016-07-26 | Dell Products L.P. | Data block migration |
US9021198B1 (en) | 2011-01-20 | 2015-04-28 | Commvault Systems, Inc. | System and method for sharing SAN storage |
US8849762B2 (en) | 2011-03-31 | 2014-09-30 | Commvault Systems, Inc. | Restoring computing environments, such as autorecovery of file systems at certain points in time |
CN102819535A (zh) * | 2011-06-10 | 2012-12-12 | 戴尔产品有限公司 | 数据块迁移 |
WO2013005812A1 (ja) * | 2011-07-01 | 2013-01-10 | 日本電気株式会社 | 分散配置装置及び分散配置方法 |
JP5701398B2 (ja) * | 2011-11-16 | 2015-04-15 | 株式会社日立製作所 | 計算機システム、データ管理方法及びプログラム |
US10157184B2 (en) * | 2012-03-30 | 2018-12-18 | Commvault Systems, Inc. | Data previewing before recalling large data files |
US9633216B2 (en) | 2012-12-27 | 2017-04-25 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US9459968B2 (en) | 2013-03-11 | 2016-10-04 | Commvault Systems, Inc. | Single index to query multiple backup formats |
KR20150045073A (ko) * | 2013-10-18 | 2015-04-28 | ㈜윈웨이시스템 | 데이터 운용 방법 및 이를 지원하는 시스템 |
JP2015132972A (ja) * | 2014-01-14 | 2015-07-23 | 株式会社野村総合研究所 | データ再配置システム |
US10169121B2 (en) | 2014-02-27 | 2019-01-01 | Commvault Systems, Inc. | Work flow management for an information management system |
US9648100B2 (en) | 2014-03-05 | 2017-05-09 | Commvault Systems, Inc. | Cross-system storage management for transferring data across autonomous information management systems |
US10635316B2 (en) * | 2014-03-08 | 2020-04-28 | Diamanti, Inc. | Methods and systems for data storage using solid state drives |
JP2017512350A (ja) | 2014-03-08 | 2017-05-18 | ディアマンティ インコーポレイテッド | 集中型ネットワーキング及びストレージのための方法及びシステム |
US11921658B2 (en) | 2014-03-08 | 2024-03-05 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US10628353B2 (en) | 2014-03-08 | 2020-04-21 | Diamanti, Inc. | Enabling use of non-volatile media-express (NVMe) over a network |
US9823978B2 (en) | 2014-04-16 | 2017-11-21 | Commvault Systems, Inc. | User-level quota management of data objects stored in information management systems |
US9740574B2 (en) | 2014-05-09 | 2017-08-22 | Commvault Systems, Inc. | Load balancing across multiple data paths |
WO2016006098A1 (ja) * | 2014-07-11 | 2016-01-14 | 株式会社日立製作所 | データ処理システム、データベース管理システム及びデータ処理方法 |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US9444811B2 (en) | 2014-10-21 | 2016-09-13 | Commvault Systems, Inc. | Using an enhanced data agent to restore backed up data across autonomous storage management systems |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
JP6657706B2 (ja) * | 2015-09-24 | 2020-03-04 | 日本電気株式会社 | データ管理装置、データ管理方法およびプログラム |
CN106557482B (zh) * | 2015-09-25 | 2020-09-25 | 阿里巴巴集团控股有限公司 | 一种库存***数据更新方法及装置 |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
TWI734730B (zh) * | 2017-01-19 | 2021-08-01 | 香港商阿里巴巴集團服務有限公司 | 庫存系統資料更新方法及裝置 |
US10838821B2 (en) | 2017-02-08 | 2020-11-17 | Commvault Systems, Inc. | Migrating content and metadata from a backup system |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10891069B2 (en) | 2017-03-27 | 2021-01-12 | Commvault Systems, Inc. | Creating local copies of data stored in online data repositories |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
US11074140B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10795927B2 (en) | 2018-02-05 | 2020-10-06 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
US10761942B2 (en) | 2018-03-12 | 2020-09-01 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent |
US10789387B2 (en) | 2018-03-13 | 2020-09-29 | Commvault Systems, Inc. | Graphical representation of an information management system |
US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
US11308034B2 (en) | 2019-06-27 | 2022-04-19 | Commvault Systems, Inc. | Continuously run log backup with minimal configuration and resource usage from the source machine |
CN113111014B (zh) * | 2021-04-07 | 2023-01-06 | 山东英信计算机技术有限公司 | 缓存中非热点数据的清理方法、装置、设备及存储介质 |
KR20230171757A (ko) * | 2022-06-14 | 2023-12-21 | 쿠팡 주식회사 | 전자 장치 및 그의 데이터베이스 관리 방법 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0228877A (ja) | 1988-07-19 | 1990-01-30 | Nec Corp | レンジ分割変更方式 |
JP3409859B2 (ja) * | 1991-01-31 | 2003-05-26 | 株式会社日立製作所 | 制御装置の制御方法 |
JP3249868B2 (ja) * | 1993-11-19 | 2002-01-21 | 株式会社日立製作所 | アレイ形式の記憶装置システム |
US6067545A (en) * | 1997-08-01 | 2000-05-23 | Hewlett-Packard Company | Resource rebalancing in networked computer systems |
US6061761A (en) * | 1997-10-06 | 2000-05-09 | Emc Corporation | Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing |
JP2927282B2 (ja) * | 1997-11-06 | 1999-07-28 | 日本電気株式会社 | ディスクアレイ装置 |
WO1999057641A1 (en) * | 1998-05-01 | 1999-11-11 | Powerquest Corporation | Manipulation of virtual and live computer storage device partitions |
GB9811574D0 (en) * | 1998-05-30 | 1998-07-29 | Ibm | Indexed file system and a method and a mechanism for accessing data records from such a system |
US6405284B1 (en) * | 1998-10-23 | 2002-06-11 | Oracle Corporation | Distributing data across multiple data storage devices in a data storage system |
JP4206586B2 (ja) * | 1999-11-12 | 2009-01-14 | 株式会社日立製作所 | データベース管理方法および装置並びにデータベース管理プログラムを記録した記憶媒体 |
US6813623B2 (en) * | 2001-06-15 | 2004-11-02 | International Business Machines Corporation | Method and apparatus for chunk based transaction logging with asynchronous input/output for a database management system |
-
2001
- 2001-06-27 JP JP2001194075A patent/JP4183400B2/ja not_active Expired - Fee Related
- 2001-11-16 US US09/987,839 patent/US20030004975A1/en not_active Abandoned
-
2006
- 2006-02-21 US US11/357,158 patent/US7577694B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7577694B2 (en) | 2009-08-18 |
JP2003006021A (ja) | 2003-01-10 |
US20060143248A1 (en) | 2006-06-29 |
US20030004975A1 (en) | 2003-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4183400B2 (ja) | データベースシステムとデータベース管理方法およびプログラム | |
US7113957B1 (en) | Row hash match scan join using summary contexts for a partitioned database system | |
US6668263B1 (en) | Method and system for efficiently searching for free space in a table of a relational database having a clustering index | |
US7054852B1 (en) | Performance of join operations in parallel database systems | |
JP3541744B2 (ja) | ストレージサブシステム及びその制御方法 | |
US5960431A (en) | Method and apparatus for adding data storage bins to a stored computer database while minimizing movement of data and balancing data distribution | |
US6438562B1 (en) | Parallel index maintenance | |
US20020078018A1 (en) | Method and apparatus for populating multiple data marts in a single aggregation process | |
US7599905B2 (en) | Method and system for allocating multiple attribute storage properties to selected data storage resources | |
JP3510042B2 (ja) | データベース管理方法及びシステム | |
US7080072B1 (en) | Row hash match scan in a partitioned database system | |
US6944633B1 (en) | Performing a join in a partitioned database system | |
US6895487B2 (en) | Methods for intra-partition parallelism for inserts | |
JP2000322292A (ja) | クラスタ型データサーバシステム及びデータ格納方法 | |
CN113688127A (zh) | 数据压缩技术 | |
US6438541B1 (en) | Method and article for processing queries that define outer joined views | |
US7203686B1 (en) | Partition join in a partitioned database system | |
JP3367140B2 (ja) | データベース管理方法 | |
US7421446B1 (en) | Allocation of storage for a database | |
JPH06139119A (ja) | データベース管理システムおよびデータベース管理方法 | |
EP0626649A2 (en) | Shared data storage dispersal system and method, based on related data storage space reservation | |
US5953715A (en) | Utilizing pseudotables as a method and mechanism providing database monitor information | |
US6694324B1 (en) | Determination of records with a specified number of largest or smallest values in a parallel database system | |
JP2013127750A (ja) | パーティション分割装置及び方法及びプログラム | |
US7921090B2 (en) | Cluster delta push |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080417 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080619 |
|
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: 20080902 |
|
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: 20080902 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110912 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120912 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130912 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |