JP2010218159A - Management device, database management method and program - Google Patents

Management device, database management method and program Download PDF

Info

Publication number
JP2010218159A
JP2010218159A JP2009063381A JP2009063381A JP2010218159A JP 2010218159 A JP2010218159 A JP 2010218159A JP 2009063381 A JP2009063381 A JP 2009063381A JP 2009063381 A JP2009063381 A JP 2009063381A JP 2010218159 A JP2010218159 A JP 2010218159A
Authority
JP
Japan
Prior art keywords
database
update
repair process
repair
management unit
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.)
Pending
Application number
JP2009063381A
Other languages
Japanese (ja)
Inventor
Terumasa Kawahata
輝聖 川畠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2009063381A priority Critical patent/JP2010218159A/en
Publication of JP2010218159A publication Critical patent/JP2010218159A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a management device, a database management method and a program which can reduce the time for dedicated processings related with the restoration of unnecessary regions, even when a database is multiplexed in a database management system. <P>SOLUTION: The management device 21 configures a database management system 2 equipped with a plurality of multiplexed database servers 22 to 25. The management device 21 is provided with an unnecessary region restoration managing part 212 for managing the restoration processing of any unnecessary region in each of the database servers 22 to 25. When the restoration processing of the unnecessary region for each of the plurality of database servers 22 to 25 is necessary, the unnecessary region restoration managing part 212 makes a portion of the database servers execute the restoration processing at first and then makes the residual database servers execute the restoration processing. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、多重化されたデータベースサーバを備えるデータベース管理システムにおいて管理を行うための、管理装置、データベース管理方法、及びプログラムに関する。   The present invention relates to a management apparatus, a database management method, and a program for performing management in a database management system including multiplexed database servers.

一般に、マルチユーザ環境におけるデータベース管理システムでは、端末装置(データベースクライアント)からのデータベース操作の実行時において、トランザクションの同時実効性制御を考慮する必要がある。このため、追記型のストレージを備えるデータベース管理システムでは、多版式同時実行制御(Multi-Version Concurrency Control)が採用されている(例えば、特許文献1参照。)。   In general, in a database management system in a multi-user environment, it is necessary to consider the concurrent execution control of transactions when executing database operations from a terminal device (database client). For this reason, multi-version concurrency control is employed in a database management system including a write-once storage (see, for example, Patent Document 1).

多版式同時実行制御では、更新前のデータと更新後のデータとの両方が保持されるため、この追記型ストレージを用いた多版式同時実効制御によれば、問い合わせロックの獲得と書き込みロックの獲得との競合が回避される。よって、データベースへのロールバック機能やリカバリ機能の実装が非常に容易となる。   In multi-version concurrent execution control, both pre-update data and post-update data are retained. Therefore, according to multi-version simultaneous execution control using this write-once storage, acquisition of inquiry lock and acquisition of write lock Conflicts with are avoided. Therefore, it is very easy to implement a rollback function and a recovery function in the database.

但し、多版式同時実効制御を採用した場合は、更新が発生する度にデータ領域が消費されていくため、データベース管理システムでは、定期的に不要領域を修復する処理が必要である。不要領域を修復する方法は大きく以下の二つに大別される。   However, when the multi-version simultaneous effective control is adopted, the data area is consumed every time the update occurs, and therefore the database management system needs to periodically repair the unnecessary area. Methods for repairing unnecessary areas are roughly divided into the following two.

一つの方法は、記憶領域に設定されたページ内での不要領域を詰めて、利用可能なデータ領域を作り、データのアドレスと利用可能な領域の大きさとを記憶することによって、データを再利用する方法(以下「部分不要領域修復方法」と呼ぶ。)である。また、別の方法は、ページ間に渡って不要領域を詰め、ページ自体の削減を行う方法(以下「完全不要領域修復方法」と呼ぶ)である。   One method is to recycle data by filling the unnecessary area in the page set in the storage area, creating a usable data area, and storing the address of the data and the size of the usable area. (Hereinafter referred to as “partial unnecessary area repair method”). Another method is a method of reducing unnecessary areas by filling unnecessary areas between pages (hereinafter referred to as “completely unnecessary area repair method”).

上記した方法のうち、部分不要領域修復方法では、修復中のデータ操作の排他対象はページのみであり、データベース管理システムの運用に大きな影響が及ぼされることなく、不要領域を修復することが出来る。   Of the above-described methods, in the partially unnecessary area repair method, only the page is excluded from the data operation being repaired, and the unnecessary area can be repaired without greatly affecting the operation of the database management system.

しかしながら、ページ数自体の削減は行われないため、ページを保存しているファイルが削減されないというデメリットがある。この結果、修復処理が適切に行われず、データの更新や削除に伴いファイルサイズが過大になってしまった場合に、このことを解消することが出来なくなる。そして、例えば全件検索を行う場合にはファイルI/Oが増大し、性能の劣化などが発生する可能性がある。   However, since the number of pages itself is not reduced, there is a demerit that a file storing pages is not reduced. As a result, when the repair process is not performed properly and the file size becomes excessive due to data update or deletion, this cannot be solved. For example, when searching for all items, file I / O increases, which may cause performance degradation.

これに対して、完全不要領域修復方法では、ページ自体の削減が行われるため、ファイルサイズも同様に削減され、上記した部分不要領域修復方法における問題は解消可能である。   On the other hand, in the completely unnecessary area repair method, since the page itself is reduced, the file size is similarly reduced, and the above-described problem in the partially unnecessary area repair method can be solved.

また、データベース管理システムでは、従来から、検索の性能向上や可用性の向上のため、データベースの多重化が行われている。デーベースが多重化されたデータベース管理システムについて、図9を用いて説明する。図9は、従来からの多重化データベース管理システムの一例を示すブロック図である。   Further, in database management systems, conventionally, database multiplexing has been performed in order to improve search performance and availability. A database management system in which databases are multiplexed will be described with reference to FIG. FIG. 9 is a block diagram showing an example of a conventional multiplexed database management system.

図9に示すように、多重化データベース管理システム40は、データベースクライアント30からの問い合わせを受け付ける受付サーバ41と、多重化されたデータベースサー
バ42〜45とを備えている。なお、図9の例では、データベースサーバは4台であるが、一般に、多重化データベース管理システムでは、データベースサーバは2台以上であれば良い。
As illustrated in FIG. 9, the multiplexed database management system 40 includes a reception server 41 that receives an inquiry from the database client 30 and multiplexed database servers 42 to 45. In the example of FIG. 9, there are four database servers, but in general, in a multiplexed database management system, two or more database servers may be used.

そして、多重化データベース管理システム40では、データベースクライアント30は、全ての問合せを受付サーバ41に対して行う。受付サーバ41は、問い合わせの内容に応じて各データベースと連携し、得た結果をデータベースクライアント30に返却する。   In the multiplexed database management system 40, the database client 30 makes all inquiries to the reception server 41. The reception server 41 cooperates with each database according to the contents of the inquiry, and returns the obtained result to the database client 30.

例えば、この時、問い合わせが検索であれば、受付サーバ41は、データベースサーバ42〜45の中から負荷の少ないデータベースサーバを選択し、そのデータベースサーバに対して問い合わせを行う。そして、受付サーバ41は、問い合わせの結果を受け取ると、結果を、そのままデータベースクライアント30に返却する。   For example, if the inquiry is a search at this time, the reception server 41 selects a database server with a low load from the database servers 42 to 45 and makes an inquiry to the database server. And the reception server 41 will return a result to the database client 30 as it is, if the result of an inquiry is received.

また、問い合わせが更新や削除であれば、受付サーバ41は、データベースサーバ22〜25の全てのデータベースに対して、更新の問い合わせを発行する。そして、全ての処理が終われば、受付サーバ41は、データベースクライアント30に対して、更新結果を返却する。   If the inquiry is update or deletion, the reception server 41 issues an update inquiry to all the databases of the database servers 22 to 25. When all the processes are completed, the reception server 41 returns an update result to the database client 30.

このように、多重化データベース管理システム40では、データベースサーバ22〜25の全てのデータベースが論理的に同じ情報を保持することとなる。よって、多数のデータベースクライアントが、大量の検索を実施する場合の性能の向上が図られる。更に、データベースサーバに異常が発生した場合は、他のデータベースサーバが補うことにより、データベース管理システム全体の可用性の向上が図られる。   Thus, in the multiplexed database management system 40, all the databases of the database servers 22 to 25 hold the logically same information. Therefore, the performance can be improved when a large number of database clients perform a large amount of searches. Furthermore, when an abnormality occurs in the database server, the availability of the entire database management system can be improved by supplementing with another database server.

特開2008−181297号公報JP 2008-181297 A

しかしながら、上述したデータベース管理システムで行われる従来からの不要領域の修復や、データベースサーバの多重化には、次のような問題点が存在する。以下に具体的に説明する。   However, there are the following problems in the conventional unnecessary area repair and database server multiplexing performed in the database management system described above. This will be specifically described below.

第一に、従来からの完全不要領域修復方法では、部分不要領域修復方法のような問題は生じないが、不要領域を詰める修復処理の実行時に排他処理が必要であるため、データベース管理システムの運用を停止しなければならいという問題がある。このため、停止時間を取ることができないデータベースでは、完全不要領域修復方法を実施できず、性能の劣化を招くことがある。   First, the conventional completely unnecessary area repair method does not have the same problem as the partially unnecessary area repair method, but the exclusive process is required when executing the repair process to pack the unnecessary area. There is a problem that you have to stop. For this reason, in a database where the stop time cannot be taken, the completely unnecessary area repair method cannot be performed, and the performance may be deteriorated.

第二に、排他処理の問題は、データベースが多重化されていると、より大きな問題となってしまう。具体的には、多重化されたデータベースに対して、完全不要領域修復方法による操作が行われると、全てのデータベースは、不要領域の修復処理が全て終了するまで、問い合わせ結果を返せず、排他処理に必要な時間は、単一のデータベースの場合よりも長時間となってしまう。   Secondly, the problem of exclusive processing becomes a larger problem when databases are multiplexed. Specifically, if an operation using the completely unnecessary area repair method is performed on a multiplexed database, all databases do not return an inquiry result until all unnecessary area repair processing is completed, and exclusive processing is performed. The time required for this is longer than in the case of a single database.

つまり、データベースクライアントから更新の問い合わせが来た場合は、同時に全てのデータベースに対して更新処理をかける必要があるため、このときに、いずれかのデータベースに排他がかかっていると更新を行うことができない状態となる。よって、多重化されたデータベースに対して、完全不要領域修復方法による操作が行われる場合は、各デー
タベースは、全てのデータベースに対する不良領域の修復処理が終了するまで、待機状態となってしまう。
In other words, when an update inquiry comes from a database client, it is necessary to perform update processing on all the databases at the same time. It becomes impossible. Therefore, when an operation by the completely unnecessary area repair method is performed on the multiplexed database, each database is in a standby state until the repair process of the defective area for all the databases is completed.

本発明の目的は、上記問題を解消し、データベース管理システムにおいて、データベースが多重化されている場合であっても、不要領域の修復に関わる排他処理の時間を縮小し得る、管理装置、データベース管理方法、及びプログラムを提供することにある。   SUMMARY OF THE INVENTION An object of the present invention is to solve the above problems, and in a database management system, a management apparatus and database management that can reduce the time of exclusive processing related to repair of unnecessary areas even when the databases are multiplexed It is to provide a method and a program.

上記目的を達成するため、本発明における管理装置は、多重化された複数のデータベースサーバを備えたデータベース管理システムを構成する管理装置であって、
前記複数のデータベースサーバそれぞれにおける不要領域の修復処理を管理する不要領域修復管理部を備え、
前記不要領域修復管理部は、前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となると、一部の前記データベースサーバに、先に前記修復処理を実行させ、その後、残りの前記データベースサーバに、前記修復処理を実行させる、
ことを特徴とする。
In order to achieve the above object, a management apparatus according to the present invention is a management apparatus constituting a database management system including a plurality of multiplexed database servers,
An unnecessary area repair management unit for managing repair processing of unnecessary areas in each of the plurality of database servers,
When the unnecessary area repair process is required in each of the plurality of database servers, the unnecessary area repair management unit causes some of the database servers to execute the repair process first, and then causes the remaining database servers to perform the repair process. , Causing the repair process to be executed,
It is characterized by that.

上記目的を達成するため、本発明におけるデータベース管理方法は、多重化された複数のデータベースサーバを備えたデータベース管理システムにおいてデータベースの管理を行うための方法であって、
(a)前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となった場合に、一部の前記データベースサーバに、先に前記修復処理を実行させるステップと、
(b)前記(a)のステップの実行後に、残りの前記データベースサーバに、前記修復処理を実行させるステップと、
を有することを特徴とする。
To achieve the above object, a database management method according to the present invention is a method for managing a database in a database management system having a plurality of multiplexed database servers,
(A) when a repair process of an unnecessary area is required in each of the plurality of database servers, causing some of the database servers to execute the repair process first;
(B) after the execution of the step (a), causing the remaining database servers to execute the repair process;
It is characterized by having.

上記目的を達成するため、本発明におけるプログラムは、多重化された複数のデータベースサーバを備えたデータベース管理システムにおいて、コンピュータに、データベースの管理を行わせるためのプログラムであって、
前記コンピュータに、
(a)前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となった場合に、一部の前記データベースサーバに、先に前記修復処理を実行させるステップと、
(b)前記(a)のステップの実行後に、残りの前記データベースサーバに、前記修復処理を実行させるステップと、
を実行させることを特徴とする。
To achieve the above object, a program according to the present invention is a program for causing a computer to manage a database in a database management system including a plurality of multiplexed database servers.
In the computer,
(A) when a repair process of an unnecessary area is required in each of the plurality of database servers, causing some of the database servers to execute the repair process first;
(B) after the execution of the step (a), causing the remaining database servers to execute the repair process;
Is executed.

以上の特徴により、本発明における、管理装置、データベース管理方法、及びプログラムによれば、データベース管理システムにおいて、データベースが多重化されている場合であっても、不要領域の修復に関わる排他処理の時間を縮小することが可能となる。   With the above features, according to the management device, the database management method, and the program of the present invention, in the database management system, even when the database is multiplexed, the exclusive processing time related to the repair of the unnecessary area Can be reduced.

図1は、本発明の実施の形態1における管理装置及びそれを備えるデータベース管理システムの概略構成を示すブロック図である。FIG. 1 is a block diagram showing a schematic configuration of a management apparatus and a database management system including the management apparatus according to Embodiment 1 of the present invention. 図2は、本発明の実施の形態1における管理装置の動作を示すフロー図である。FIG. 2 is a flowchart showing the operation of the management apparatus according to Embodiment 1 of the present invention. 図3は、本発明の実施の形態1の管理装置によって構成されたデータベース管理システムにおけるアクティビティの変化を示すアクティビティ図である。FIG. 3 is an activity diagram showing activity changes in the database management system configured by the management apparatus according to the first embodiment of the present invention. 図4は、本実施の形態1において行われる不要領域修復処理の概念を説明する説明図である。FIG. 4 is an explanatory diagram for explaining the concept of the unnecessary area repair processing performed in the first embodiment. 図5は、図3に示したステップBを具体的に示すアクティビティ図である。FIG. 5 is an activity diagram specifically showing Step B shown in FIG. 図6は、図5に示したステップCを具体的に示すアクティビティ図である。FIG. 6 is an activity diagram specifically showing Step C shown in FIG. 図7は、本発明の実施の形態2の管理装置によって構成されたデータベース管理システムにおけるアクティビティの変化を示すアクティビティ図である。FIG. 7 is an activity diagram showing activity changes in the database management system configured by the management apparatus according to the second embodiment of the present invention. 図8は、図7に示したステップB10に含まれる処理を具体的に示すアクティビティ図である。FIG. 8 is an activity diagram specifically showing the processing included in step B10 shown in FIG. 図9は、図9は、従来からの多重化データベース管理システムの一例を示すブロック図である。FIG. 9 is a block diagram showing an example of a conventional multiplexed database management system.

(実施の形態1)
以下、本発明の実施の形態1における、管理装置、データベース管理方法、及びプログラムについて、図1〜図6を参照しながら説明する。最初に、管理装置及びそれを備えるデータベース管理システムの構成について図1を用いて説明する。図1は、本発明の実施の形態1における管理装置及びそれを備えるデータベース管理システムの概略構成を示すブロック図である。
(Embodiment 1)
Hereinafter, a management apparatus, a database management method, and a program according to Embodiment 1 of the present invention will be described with reference to FIGS. First, the configuration of the management apparatus and the database management system including the management apparatus will be described with reference to FIG. FIG. 1 is a block diagram showing a schematic configuration of a management apparatus and a database management system including the management apparatus according to Embodiment 1 of the present invention.

図1に示すように、本実施の形態1における管理装置21は、多重化された複数のデータベースサーバ22〜25を備えたデータベース管理システム2を構成している。また、本実施の形態1では、デーベース管理装置21には、データベース対して処理を要求するデータベースクライアント1が接続されている。更に、データベースサーバ22〜25は追記型のデータベースであり、データベース管理システム2では、多版式同時実行制御が採用されている。   As shown in FIG. 1, the management device 21 according to the first embodiment constitutes a database management system 2 including a plurality of multiplexed database servers 22 to 25. In the first embodiment, the database management apparatus 21 is connected to the database client 1 that requests processing from the database. Furthermore, the database servers 22 to 25 are write-once databases, and the database management system 2 employs multi-version simultaneous execution control.

なお、図1は、データベースサーバが4台の例を示しているが、本実施の形態1において、データベースサーバの数は限定されるものではなく、2台以上であれば良い。また、図1は、1台のデータクライアント1のみを示しているが、本実施の形態1において、データクライアントの数も限定されるものではない。   Although FIG. 1 shows an example in which there are four database servers, in the first embodiment, the number of database servers is not limited and may be two or more. 1 shows only one data client 1, the number of data clients is not limited in the first embodiment.

また、図1に示すように、管理装置21は、データベースサーバ22〜25それぞれにおける不要領域の修復処理を管理する不要領域修復管理部212を備えている。不要領域修復管理部21は、データベースサーバ22〜25それぞれにおいて不要領域の修復処理が必要となると、一部のデータベースサーバに、先に修復処理を実行させ、その後、残りのデータベースサーバに、修復処理を実行させる。   As shown in FIG. 1, the management apparatus 21 includes an unnecessary area repair management unit 212 that manages repair processing of unnecessary areas in each of the database servers 22 to 25. When the unnecessary area repair process is required in each of the database servers 22 to 25, the unnecessary area repair management unit 21 causes some database servers to perform the repair process first, and then causes the remaining database servers to perform the repair process. Is executed.

よって、管理装置21によれば、不要領域の修復処理を、例えば、2つのステップに分割して行うことができるため、データベースが多重化されている場合であっても、不要領域の修復に関わる排他処理の時間を縮小できる。このため、不要領域の修復処理が実行中の場合でも、データベースクライアント1は検索処理や更新処理を要求することができる。   Therefore, according to the management device 21, since the repair process of the unnecessary area can be performed in, for example, two steps, even if the database is multiplexed, it is related to the repair of the unnecessary area. Exclusive processing time can be reduced. For this reason, even when the unnecessary area repair process is being executed, the database client 1 can request a search process or an update process.

ここで、本実施の形態におけるシステム管理装置21及びデータベース管理システム2の構成について具体的に説明する。図1に示すように、管理装置21は、データベースサーバ22〜25に対する外部からの操作要求を管理するクエリ管理部211を備えている。   Here, the structure of the system management apparatus 21 and the database management system 2 in this Embodiment is demonstrated concretely. As illustrated in FIG. 1, the management device 21 includes a query management unit 211 that manages external operation requests to the database servers 22 to 25.

クエリ管理部211は、データクライアント1に接続され、データクライアント211からの要求、例えば、データの更新、検索等を受け付ける。そして、クエリ管理部211
は、受け付けた要求の内容を確認した後、要求内容に応じて、データサーバ22〜24に対して、問い合わせや、操作の指示を発行し、これらを送信する。データベース管理部21は、クエリ管理部211により、問い合わせ受け付けサーバとして機能している。
The query management unit 211 is connected to the data client 1 and accepts requests from the data client 211, for example, data update, search, and the like. Then, the query management unit 211
After confirming the contents of the accepted request, the server issues inquiries and operation instructions to the data servers 22 to 24 according to the requested contents, and transmits them. The database management unit 21 functions as an inquiry reception server by the query management unit 211.

また、本実施の形態1において、システム管理装置21とデータベースクライアント1との接続は、ネットワークによって行われている。更に、同様に、システム管理装置21と、データベースサーバ22〜25それぞれとの接続もネットワークによって行われている。   In the first embodiment, the connection between the system management apparatus 21 and the database client 1 is made through a network. Furthermore, similarly, the connection between the system management apparatus 21 and each of the database servers 22 to 25 is also performed by a network.

また、不要領域修復管理部212は、本実施の形態では、クエリ管理部211から、データベースサーバ22〜25への問い合わせの結果や、これらに対して行った操作の実行結果を受け取る。そして、不要領域修復管理部212は、不要領域の修復処理が指示された各データベースサーバにおける動作状況を判断し、判断結果に応じて、クエリ管理部211に対して指示を行う。   Further, in this embodiment, the unnecessary area repair management unit 212 receives the results of inquiries to the database servers 22 to 25 and the execution results of operations performed on these from the query management unit 211. Then, the unnecessary area repair management unit 212 determines the operation status of each database server instructed to repair unnecessary areas, and instructs the query management unit 211 according to the determination result.

データベースサーバ22〜25は、それぞれ、同様の構成を備えており、データベース管理部と記憶装置とを備えている。例えば、データベースサーバ22は、データベース管理部221と、記憶装置222とを備えている。データベース管理部221は、クエリ管理部211が発行した問い合わせや操作の指示を受けると、これらの内容を分析し、分析結果に応じて処理を実行する。また、データベース管理部221は、処理の結果をクエリ管理部211に返却する。   Each of the database servers 22 to 25 has the same configuration, and includes a database management unit and a storage device. For example, the database server 22 includes a database management unit 221 and a storage device 222. Upon receiving the inquiry or operation instruction issued by the query management unit 211, the database management unit 221 analyzes these contents and executes processing according to the analysis result. Further, the database management unit 221 returns the processing result to the query management unit 211.

記憶装置222は、格納が指示されたデータ、インデックスデータ、データベースの統計情報、及びトランザクション情報等のデータベースの運用に必要な情報を記録している。なお、他のデータベースサーバ23、24及び25の構成及び動作は、上述したデータベースサーバ22と同様であり、これらのデータベースサーバについての説明は省略する。   The storage device 222 records information necessary for database operation such as data instructed to be stored, index data, database statistical information, and transaction information. The configurations and operations of the other database servers 23, 24, and 25 are the same as those of the database server 22 described above, and a description of these database servers is omitted.

次に、本発明の実施の形態1における管理装置21の動作を、図2を用いて説明する。図2は、本発明の実施の形態1における管理装置の動作を示すフロー図である。なお、本実施の形態1におけるデータベース管理方法は、本実施の形態1における管理装置21を動作させることによって実行される。よって、データベース管理方法の説明は、以下の管理装置21の動作の説明に代える。また、以下の説明においては、適宜図1を参酌する。   Next, operation | movement of the management apparatus 21 in Embodiment 1 of this invention is demonstrated using FIG. FIG. 2 is a flowchart showing the operation of the management apparatus according to Embodiment 1 of the present invention. The database management method in the first embodiment is executed by operating the management device 21 in the first embodiment. Therefore, the description of the database management method is replaced with the following description of the operation of the management apparatus 21. In the following description, FIG. 1 is taken into consideration as appropriate.

図2に示すように、先ず、クエリ管理部211は、データベースクライアント1が不要領域の修復処理の要求コマンドを発行すると、これを受け付け、不要領域修復管理部212に、不要領域の修復処理の開始を通知する(ステップS1)。   As shown in FIG. 2, first, when the database client 1 issues a request command for unnecessary area repair processing, the query management unit 211 accepts the request command and starts the unnecessary area repair processing in the unnecessary area repair management unit 212. Is notified (step S1).

次に、不要領域修復管理部212は、データベースサーバ22〜25のうちの一部、例えば、データベースサーバ22と23とを修復対象に割り当て、そのことをクエリ管理部211に通知する(ステップS2)。そして、クエリ管理部211は、データベースサーバ22のデータベース管理部221とデータベースサーバ23のデータベース管理部231とに、不要領域の修復処理の指示を発行する。これにより、データベースサーバ22及び23において、不要領域の修復処理が実行される。   Next, the unnecessary area repair management unit 212 allocates a part of the database servers 22 to 25, for example, the database servers 22 and 23 to the repair target, and notifies the query management unit 211 of this (step S2). . Then, the query management unit 211 issues an instruction for an unnecessary area repair process to the database management unit 221 of the database server 22 and the database management unit 231 of the database server 23. As a result, the unnecessary areas are repaired in the database servers 22 and 23.

次に、クエリ管理部211は、データベースクライアント1から、不要領域の修復処理とは別の操作要求、例えば、データの検索を受けた場合は、修復処理の指示を行っていない別のデータベースサーバ24及び25に、求められた処理の実行を指示する(ステップS3)。   Next, the query management unit 211 receives another operation request from the database client 1 that is different from the unnecessary area repair process, for example, a data search, and another database server 24 that has not instructed the repair process. And 25 are instructed to execute the obtained processing (step S3).

このとき、データベースクライアント1から、データの更新が指示された場合は、データベースサーバ22及び23に対しては更新を行えないため、クエリ管理部211は、不要領域修復管理部212に更新内容をプールさせる。不要領域修復管理部212は、データベース22及び23において不要領域の修復処理が終了すると、これらに対して、クエリ管理部211を介して更新を行わせる。なお、上述した処理の詳細については後述する。   At this time, when data update is instructed from the database client 1, the update cannot be performed on the database servers 22 and 23, so the query management unit 211 pools the update contents in the unnecessary area repair management unit 212. Let When the unnecessary area repair processing is completed in the databases 22 and 23, the unnecessary area repair management unit 212 updates these via the query management unit 211. Details of the above-described processing will be described later.

次に、データベースサーバ22及び23において、不要領域の修復処理が終了すると、不要領域修復管理部212は、修復処理が終了していないデータベースサーバ24及び25を修復対象に割り当て、そのことをクエリ管理部211に通知する(ステップS4)。これにより、修復対象となるデータベースが入れ替えられ、全てのデータベースに対する不要領域の修復処理が終了する。そして、ステップS1〜S4までの間、全てのデータベースにおいて同時に不要領域の修復処理が行われることはないため、上述したように、不要領域の修復に関わる排他処理の時間は縮小される。   Next, when the unnecessary area repair process is completed in the database servers 22 and 23, the unnecessary area repair management unit 212 assigns the database servers 24 and 25 that have not been repaired to the repair target, and this is managed by query management. Notification is made to the unit 211 (step S4). As a result, the database to be repaired is replaced, and the unnecessary area repair processing for all databases ends. Then, since the unnecessary area repair process is not performed simultaneously in all the databases during steps S1 to S4, as described above, the time for the exclusive process related to the repair of the unnecessary area is reduced.

ステップS4の実行後、クエリ管理部211は、通常の運用に戻り、データベースクライアント1から操作要求があった場合は、全てのデータベースに対して、操作要求を実行させる(ステップS5)。   After execution of step S4, the query management unit 211 returns to normal operation, and when there is an operation request from the database client 1, causes the operation request to be executed for all databases (step S5).

次に、管理装置21の動作を更に具体的に説明するため、データベース管理システム2の全体の動作を、図3及び図4を用いて説明する。図3は、本発明の実施の形態1の管理装置によって構成されたデータベース管理システムにおけるアクティビティの変化を示すアクティビティ図である。図4は、本実施の形態1において行われる不要領域修復処理の概念を説明する説明図である。   Next, in order to describe the operation of the management apparatus 21 more specifically, the overall operation of the database management system 2 will be described with reference to FIGS. FIG. 3 is an activity diagram showing activity changes in the database management system configured by the management apparatus according to the first embodiment of the present invention. FIG. 4 is an explanatory diagram for explaining the concept of the unnecessary area repair processing performed in the first embodiment.

先ず、図3に示すように、データベースクライアント1から、データベース管理システム2全体に対して不要領域の修復処理を要求するコマンドが発行されると、クエリ管理部211は、不要領域の修復処理の要求コマンドを受け付ける(ステップA1)。そして、クエリ管理部211は、不要領域修復管理部212に、不要領域の修復処理の開始を通知する。なお、本実施の形態において行われる修復処理は、背景技術の欄で述べた「完全不要領域修復方法」である。   First, as shown in FIG. 3, when the database client 1 issues a command for requesting an unnecessary area repair process to the entire database management system 2, the query management unit 211 requests an unnecessary area repair process. A command is received (step A1). Then, the query management unit 211 notifies the unnecessary region repair management unit 212 of the start of unnecessary region repair processing. The repair process performed in the present embodiment is the “completely unnecessary area repair method” described in the background section.

次に、不要領域修復管理部212は、データベースサーバ22〜25の半分を修復対象のデータベースサーバに割り当て、残りのデータベースサーバを通常対応のデータベースサーバに割り当て、結果を、クエリ管理部211に通知する(ステップA2)。本実施の形態1では、上述したように、例として、最初、データベースサーバ22と23とが修復対象のデータベースサーバに割り当てられ、データベースサーバ24と25とが通常対応のデータベースサーバに割り当てられるものとして説明する。   Next, the unnecessary area repair management unit 212 allocates half of the database servers 22 to 25 to the database server to be repaired, allocates the remaining database servers to the normally supported database servers, and notifies the query management unit 211 of the results. (Step A2). In the first embodiment, as described above, as an example, it is assumed that the database servers 22 and 23 are first assigned to the database server to be repaired, and the database servers 24 and 25 are assigned to the database server that is normally supported. explain.

また、ステップA2では、クエリ管理部211は、不要領域の修復処理の指示を、修復対象のデータベースサーバ22のデータベース管理部221と、データベースサーバ23のデータベース管理部231とに対して、発行する。   In step A2, the query management unit 211 issues an instruction for unnecessary area repair processing to the database management unit 221 of the database server 22 to be repaired and the database management unit 231 of the database server 23.

また、複数の仮想OSを保有可能な1つのコンピュータ上で仮想化された複数のデータベースサーバが動作し、且つ、各仮想マシンのCPUやメモリ等のリソースを動的に別の仮想マシンに移行できる技術が知られている。この技術を本実施の形態1に適用すれば、修復対象の仮想データベースサーバのCPUやメモリのリソースの一部を、通常対応の仮想データベースサーバに移行することができ、運用中のデータベースシステム全体としての性能低下を抑制することができる。   In addition, a plurality of database servers virtualized on one computer capable of holding a plurality of virtual OSs can be operated, and resources such as CPU and memory of each virtual machine can be dynamically migrated to another virtual machine. Technology is known. If this technology is applied to the first embodiment, a part of CPU and memory resources of the virtual database server to be repaired can be migrated to the normal virtual database server, and the entire operating database system The performance degradation can be suppressed.

次に、修復処理の指示を受けたデータベース管理部221(又は231)は、修復対象のデータベースそれぞれのデータを格納している全てのページに対して完全修復操作を実行する(ステップA3)。ここで、ステップA3における修復操作を、図4に基づいて説明する。   Next, the database management unit 221 (or 231) having received the instruction for the repair process executes a complete repair operation for all pages storing the data of each database to be repaired (step A3). Here, the repair operation in step A3 will be described with reference to FIG.

図4に示すように、空き領域を有する連続したページ3及びページ4が存在しているとする。ページ3及び4に対しては、修復処理が未だ行われておらず、これらは解放前の状態にある。ページ3には、ページ管理情報31と、タプルデータ321〜325とが存在している。また、タプルデータ321〜325のうち、有効タプルデータは321と324とであり、削除可能タプルデータは322、323、及び325である。   As shown in FIG. 4, it is assumed that there are continuous pages 3 and 4 having free areas. The pages 3 and 4 have not been repaired yet, and are in a state before being released. In page 3, page management information 31 and tuple data 321-325 exist. Of the tuple data 321-325, the valid tuple data are 321 and 324, and the deleteable tuple data are 322, 323, and 325.

同様に、ページ4には、ページ管理情報31と、タプルデータ421〜425とが存在している。また、タプルデータ421〜425のうち、有効タプルデータは422、423、及び424であり、削除可能タプルデータは421と425とである。   Similarly, page 4 includes page management information 31 and tuple data 421 to 425. Of the tuple data 421 to 425, valid tuple data is 422, 423, and 424, and deleteable tuple data is 421 and 425.

そして、解放前のページ3とページ4とに対して修復処理(完全修復操作)を行い、得られたページが、空き領域解放後のページ5となる。具体的には、データベース管理部は、有効タプルデータ321及び324を、順に、後方に向けて詰めていく操作を実行する。図4の例では、タプルデータ321が最も後方にあるので、タプルデータ324をその後方に向けて移動させ、その位置をページ5のタプルデータ522の位置とする。   Then, a repair process (complete repair operation) is performed on page 3 and page 4 before being released, and the obtained page becomes page 5 after the free area is released. Specifically, the database management unit executes an operation of sequentially packing the valid tuple data 321 and 324 backward. In the example of FIG. 4, since the tuple data 321 is at the rearmost position, the tuple data 324 is moved rearward and the position is set as the position of the tuple data 522 of the page 5.

更に、管理情報31において、削除タプルデータ332、333、及び335のタプル情報は無効化され、管理情報31は、ページ管理情報51に書き換えられる。その後、ページ4の有効タプルデータであるタプルデータ422、423、及び424が、ページ5に書き込まれ、不要となったページ4が削除される。   Further, in the management information 31, the tuple information of the deleted tuple data 332, 333, and 335 is invalidated, and the management information 31 is rewritten to the page management information 51. Thereafter, the tuple data 422, 423, and 424, which are valid tuple data of the page 4, are written to the page 5, and the unnecessary page 4 is deleted.

つまり、図4の例では、タプルデータ321がタプルデータ521と等しくなり、タプルデータ324がタプルデータ522と等しくなる。また、タプルデータ422がタプルデータ523と等しくなり、タプルデータ423がタプルデータ524と等しくなり、更にタプルデータ424がタプルデータ525と等しくなる。この結果、有効なタプルのみがページ5に残る。そして、ページ4が削減されて、記憶装置の記憶領域にデータ領域を確保することができる。本実施の形態では、修復処理は、このような手順によって行なわれる。   That is, in the example of FIG. 4, the tuple data 321 is equal to the tuple data 521, and the tuple data 324 is equal to the tuple data 522. Further, the tuple data 422 is equal to the tuple data 523, the tuple data 423 is equal to the tuple data 524, and the tuple data 424 is equal to the tuple data 525. As a result, only valid tuples remain on page 5. Then, the page 4 is reduced, and a data area can be secured in the storage area of the storage device. In the present embodiment, the repair process is performed according to such a procedure.

また、上述のステップA3と平行して、又はステップA3の実行後に、クエリ管理部211が、データベースクライアント1から、検索や更新等の操作要求を受け取った場合は、ステップBが実行される。ステップBでは、クエリ管理部211は、通常対応のデータベースサーバのデータベース管理部241(又は251)に対して操作を発行する。なお、データベースクライアント1からの操作要求が、更新処理である場合は、不要領域修復管理部212は、更新命令をプールする。ステップBの詳細は、図5を用いて後述する。   Further, when the query management unit 211 receives an operation request such as search or update from the database client 1 in parallel with the step A3 described above or after the execution of the step A3, the step B is executed. In Step B, the query management unit 211 issues an operation to the database management unit 241 (or 251) of the normally supported database server. If the operation request from the database client 1 is an update process, the unnecessary area repair management unit 212 pools update instructions. Details of step B will be described later with reference to FIG.

次に、修復対象データベースサーバにおいて修復処理が完了すると、その情報が、クエリ管理部211へ返却される。更に、ステップA2で対象となったデータベースサーバの修復処理が全て完了すると、クエリ管理部211は、不要領域修復管理部212に対して、対象となっていたデータベースサーバにおいて修復処理が完了したことを通知する(図3のステップA4)。   Next, when the repair process is completed in the repair target database server, the information is returned to the query management unit 211. Furthermore, when all the repair processing of the target database server in step A2 is completed, the query management unit 211 notifies the unnecessary region repair management unit 212 that the repair processing has been completed in the target database server. Notification is made (step A4 in FIG. 3).

次に、不要領域修復管理部212は、修復処理の完了の通知を受けると、ステップBにおいてプールしていた更新処理をクエリ管理部211に対して発行する(ステップA5)。そして、クエリ管理部211は、不要領域の修復処理が完了したデータベースのデータ
ベース管理部221及び231に対して、更新命令を発行する。
Next, upon receiving notification of completion of the repair process, the unnecessary area repair management unit 212 issues the update process pooled in step B to the query management unit 211 (step A5). Then, the query management unit 211 issues an update command to the database management units 221 and 231 of the database for which the unnecessary area repair processing has been completed.

次に、データベース管理部221及び231は、クエリ管理部211が発行した更新命令に従い、対応する記憶部が構成するデータベースの更新を実行する(ステップA6)。そして、このステップA5〜ステップA6までの処理は、プールされていた更新命令の分だけ繰り返し行われる。これにより、ステップBによって発生した、修復対象のデータベースサーバ22及び23と通常対応のデータベースサーバ24及び25との差分が、埋められて行くこととなる。   Next, the database management units 221 and 231 execute the update of the database configured by the corresponding storage unit in accordance with the update command issued by the query management unit 211 (step A6). The processing from step A5 to step A6 is repeated for the update instructions that have been pooled. As a result, the difference between the database servers 22 and 23 to be repaired and the normally supported database servers 24 and 25 generated in step B is filled.

なお、ステップA5〜ステップA6の間に、更に新しい問合せがデータベースクライアント1からクエリ管理部211に発行された場合は、クエリ管理部211は、後述するステップBと同様の操作を実行する。   If a new query is issued from the database client 1 to the query management unit 211 during step A5 to step A6, the query management unit 211 performs the same operation as step B described later.

そして、ステップA5〜ステップA6までの処理の繰り返しにより、全ての差分の反映が終了すると、不要領域修復管理部212は、修復対象のデータベースサーバと通常対応のデータベースサーバとの役割を入れ替えるため、割り当てを変更し、未だ不要領域の修復処理が行われていない未修復のデータベースサーバに対して、不要領域の修復処理を実行する(ステップA7)。   When the reflection of all the differences is completed by repeating the processing from step A5 to step A6, the unnecessary area repair management unit 212 assigns the roles of the database server to be repaired and the normally supported database server to be switched. And the unnecessary area repair process is executed on the unrepaired database server that has not been repaired yet (step A7).

ステップA7の実行後、全てのデータベースサーバに対する不要領域の修復処理は終了する。なお、ステップA1〜A7の動作では、修復処理中において、更新処理による不要領域が発生する可能性があるが、データベース全体としては、殆どの不要領域が修復され、大幅なページの削減が可能となる。   After the execution of step A7, the unnecessary area repair processing for all database servers ends. In the operations of Steps A1 to A7, there is a possibility that an unnecessary area is generated by the update process during the repair process. However, almost all unnecessary areas are repaired in the entire database, and the page can be greatly reduced. Become.

ここで、図3に示されたステップBについて図5に基づいて具体的に説明する。図5は、図3に示したステップBを具体的に示すアクティビティ図である。なお、図5の例においても、図3の例と同様に、修復対象のデータベースサーバとしてデーベースサーバ22及び23が割り当てられ、通常対応のデータベースサーバとしてデータベースサーバ24及び25が割り当てられているとする。   Here, step B shown in FIG. 3 will be specifically described with reference to FIG. FIG. 5 is an activity diagram specifically showing Step B shown in FIG. In the example of FIG. 5, similarly to the example of FIG. 3, the database servers 22 and 23 are assigned as the database servers to be repaired, and the database servers 24 and 25 are assigned as the normally supported database servers. To do.

また、図5に示すステップBによるデータベース操作受付処理は、不要領域の修復処理が完了し、修復対象のデータベースサーバと通常対応のデータベースサーバとの差分が解消され同期が完了(図3のステップA5〜A6の繰り返しが終了)した時点で終了となる。   Further, in the database operation acceptance process in step B shown in FIG. 5, the unnecessary area repair process is completed, the difference between the database server to be repaired and the database server corresponding to the normal is eliminated, and the synchronization is completed (step A5 in FIG. 3). Is finished when the repetition of .about.A6 is completed).

先ず、図5に示すように、クエリ管理部211は、上記の差分が解消するまでの間、データベースクライアント1からのデータベース操作を受け付ける(ステップB1)。次に、データベースクライアント1から操作要求が発行されると、クエリ管理部211は、操作内容の検証を行う(ステップB2)。   First, as shown in FIG. 5, the query management unit 211 receives a database operation from the database client 1 until the above difference is eliminated (step B1). Next, when an operation request is issued from the database client 1, the query management unit 211 verifies the operation content (step B2).

次に、ステップB2の検証の結果、操作の種類が検索処理であった場合は、クエリ管理部211は、通常対応のデータベースサーバの中で負荷の低いデータベースサーバ(ここでは24だとする)のデータベース管理部に対して、検索命令を発行する(ステップB3)。   Next, when the result of the verification in step B2 is that the type of operation is search processing, the query management unit 211 selects the database server with a low load (usually 24) among the normally supported database servers. A search command is issued to the database management unit (step B3).

次に、検索命令を受けたデータベースサーバのデータベース管理部(ここでは、データベース管理部241)は、検索処理を実行する(ステップB4)。そして、データベース管理部は、検索処理の結果を、クエリ管理部211へ送信する(ステップB5)。その後、クエリ管理部211は、受け取った検索結果を、そのままデータベースクライアント1に送信する(ステップB6)。   Next, the database management unit (here, the database management unit 241) of the database server that has received the search command executes a search process (step B4). Then, the database management unit transmits the search processing result to the query management unit 211 (step B5). Thereafter, the query management unit 211 transmits the received search result to the database client 1 as it is (step B6).

また、ステップB2の検証の結果、操作の種類が更新処理であった場合は、クエリ管理部211は、通常対応のデータベースサーバ24及び25と不要領域修復管理部212とに更新命令を発行する(ステップB7)。この時、不要領域修復管理部212は、更新命令を受け付けた順に保持する。   If the operation type is update processing as a result of the verification in step B2, the query management unit 211 issues an update command to the normally supported database servers 24 and 25 and the unnecessary area repair management unit 212 ( Step B7). At this time, the unnecessary area repair management unit 212 holds the update commands in the order received.

また、更新命令を受け取ったデータベース管理部241及び242は、それぞれ更新処理を解釈し、それぞれの対応する記憶装置242(又は243)に記録されているデータベースを更新する(ステップB8)。   In addition, the database management units 241 and 242 that have received the update command interpret the update process, and update the database recorded in the corresponding storage device 242 (or 243) (step B8).

次に、更新処理が終了すると、データベース管理部241及び242は、それぞれクエリ管理部211に結果を送信する(ステップB9)。また、クエリ管理部211は全ての正常結果を受信したことを確認すると(ステップB11)、上述の検索処理の場合と同様に、データベースクライアント1に結果を返却する(ステップB6)。更に、クエリ管理部211は、更新件数を、不要領域修復管理部212に通知する。   Next, when the update process is completed, the database management units 241 and 242 transmit the results to the query management unit 211, respectively (step B9). When the query management unit 211 confirms that all normal results have been received (step B11), the result is returned to the database client 1 as in the case of the above-described search processing (step B6). Further, the query management unit 211 notifies the unnecessary area repair management unit 212 of the number of updates.

ここで、図5中に示されたステップC(例外処理)について説明する。上述したステップB1では、複数のデータベースクライアント1からデータベース操作が入力され、大量の操作処理を受け付けなければならない場合が想定される。一方、不要領域の修復処理中はデータベースとして運用されているサーバの台数は通常よりも少なくなっている。このため、データベースの検索処理性能も同様に通常よりも低下してしいる。   Here, step C (exception processing) shown in FIG. 5 will be described. In step B1 described above, it is assumed that database operations are input from a plurality of database clients 1 and a large amount of operation processing must be received. On the other hand, during the unnecessary area repair process, the number of servers operated as databases is smaller than usual. For this reason, the database search processing performance is also lower than usual.

よって、ある程度までのデータベース操作であれば、既に述べたデータベースの検索処理や更新処理によって、データベースの性能低下を抑制することによって対応可能であるが、大量の検索処理等が要求された場合は、データベースとしてのレスポンス低下が懸念される。また、本実施の形態1を実施する際において、データベースに高い負荷がかかる状況は避けるべきではあるが、運用上確実に回避できない場合も想定される。   Therefore, if it is a database operation up to a certain extent, it can be dealt with by suppressing the database performance degradation by the already described database search processing and update processing, but when a large amount of search processing is required, There is a concern that the response as a database will decrease. Further, when implementing the first embodiment, a situation in which a high load is applied to the database should be avoided, but there may be a case where it cannot be reliably avoided in operation.

そこで、本実施の形態1においては、データベースクライアントからの操作要求に対して一定の閾値を設け、それ以上(又はそれを超える)のデータベース操作要求が来た場合は、不要領域の修復処理を中断することとしている。そして、この場合は、中断するまでに発生したデータベースへの更新差分の同期処理が即座に適用され、その後、通常運用に戻ることで、処理能力が低下した状態は回避される。   Therefore, in the first embodiment, a fixed threshold is set for the operation request from the database client, and when the database operation request exceeds (or exceeds), the unnecessary area repair processing is interrupted. To do. In this case, the synchronization process of the update difference to the database that occurred before the interruption is immediately applied, and then the normal operation is resumed, thereby avoiding a state in which the processing capability is reduced.

但し、このような処理を採用する場合は、更新差分の同期処理自体が大量にある事態も想定され、更に状況を悪化させる可能性がある。よって、このような事態の発生を回避するため、更新差分の発生量にも閾値を設け、それを上回る場合にも、同様に、不要領域の修復処理が中断されるようにするのが好ましい。   However, when such a process is employed, there is a possibility that there is a large amount of update difference synchronization processing itself, which may further deteriorate the situation. Therefore, in order to avoid the occurrence of such a situation, it is preferable to set a threshold for the generation amount of the update difference and to interrupt the unnecessary area repair processing in the same manner even when the threshold is exceeded.

また、修復処理を中断させるデータベースサーバの台数は、複数の閾値を設定し、閾値毎に変化させても良い。つまり、更新差分の発生量に応じて、1台ずつ順に処理を中断させても良いし、全てのデータベースサーバに対して一度に中断させても良い。なお、不要領域の修復処理では、データの移動が行われているにすぎず、修復処理自体が途中で中断されても、データベースサーバは、直ぐにデータベースとしての利用が可能な状態である。   Further, the number of database servers for which the restoration process is interrupted may be set for a plurality of threshold values and changed for each threshold value. That is, depending on the generation amount of update differences, the processing may be interrupted one by one, or all database servers may be interrupted at once. In the unnecessary area repair process, only data movement is performed, and even if the repair process itself is interrupted, the database server can be immediately used as a database.

次に、図6を用いて、図5に示したステップC(例外処理)の内容を具体的に説明する。図6は、図5に示したステップCを具体的に示すアクティビティ図である。図6に示すステップは、上記の説明の通り、データベースクライアント1からの操作要求(接続要求)の要求量又は要求件数(例えば、データベース更新の件数)が、それぞれに設定されて
いる閾値を超えた場合に開始される。
Next, the contents of step C (exception processing) shown in FIG. 5 will be specifically described with reference to FIG. FIG. 6 is an activity diagram specifically showing Step C shown in FIG. In the steps shown in FIG. 6, as described above, the request amount or request number (for example, the number of database updates) from the database client 1 exceeds the threshold set for each. To be started.

最初に、図6に示すように、クエリ管理部211は、閾値に対応させた修復対象のデータベースサーバのデータベース管理部に対して、不良領域の修復処理の中断を指示する命令(修復中断命令)を発行し、これを送信する(ステップC1)。   First, as shown in FIG. 6, the query management unit 211 instructs the database management unit of the database server to be repaired corresponding to the threshold value to interrupt the repair processing of the defective area (repair suspension command). Is transmitted and transmitted (step C1).

次に、修復中断命令を受けたデータベース管理部は、修復処理を即時終了させて(ステップC2)、停止完了をクエリ管理部211に報告する(ステップC3)。次に、クエリ管理部211は、終了報告を確認後、ステップB7と同様に、不要領域修復管理部212によってプールされていた更新命令を、再度、対象のデータベース管理部に対して発行する。(ステップC4)。   Next, the database management unit that has received the repair interruption command immediately ends the repair process (step C2), and reports the completion of the stop to the query management unit 211 (step C3). Next, after confirming the end report, the query management unit 211 issues the update command pooled by the unnecessary area repair management unit 212 to the target database management unit again, as in step B7. (Step C4).

次に、更新命令を受けたデータベース管理部は、更新操作を実行し(ステップC5)、結果を、クエリ管理部211に送信する(ステップC6)。クリエ管理部211は、結果を受信する(ステップC7)。ステップC5〜C7が繰り返され、全ての更新命令が完了すると、不要領域修復管理部212は、ステップA7と同様に、対象のデータベースサーバの割り当てを修復対象のデータベースサーバから通常対応のデータベースサーバへと変更する(ステップC8)。これにより、通常対応のデータベースサーバが増加する。   Next, the database management unit that has received the update command executes an update operation (step C5), and transmits the result to the query management unit 211 (step C6). The CLIÉ management unit 211 receives the result (step C7). When Steps C5 to C7 are repeated and all the update commands are completed, the unnecessary area repair management unit 212 assigns the target database server from the repair target database server to the normally supported database server in the same manner as Step A7. Change (step C8). This increases the number of normally supported database servers.

また、本実施の形態1におけるプログラムは、コンピュータに、図2に示すステップS1〜S4、具体的には、ステップA1、A2、A5、A7、B1、B2、B3、B6、B7、B11、C1、C4、C7、C8を実行させるプログラムであれば良い。このプログラムをコンピュータにインストールし、実行することにより、本実施の形態1における管理装置及びデータベース管理方法を実現することができる。また、この場合、コンピュータのCPU(central processing unit)は、クエリ管理部211、不要領域修復管理部212として機能し、処理を行なう。   The program in the first embodiment is stored in the computer in steps S1 to S4 shown in FIG. 2, specifically, steps A1, A2, A5, A7, B1, B2, B3, B6, B7, B11, C1. , C4, C7, and C8 may be executed. By installing and executing this program on a computer, the management device and the database management method according to the first embodiment can be realized. In this case, a central processing unit (CPU) of the computer functions as a query management unit 211 and an unnecessary area repair management unit 212 to perform processing.

以上のように、本実施の形態1によれば、データベースが多重化されたデータベース管理システムにおいては、修復対象のデータベースと通常運用のデータベースとに分けて処理が行われる。よって、上述したように、不要領域の修復に関わる排他処理の時間は縮小される。そして、データベースにおいて不要領域の修復処理を実行しながら、データベースクライアントからの検索や更新といった通常の操作要求を受け、これらの処理を実行することができる。   As described above, according to the first embodiment, in a database management system in which databases are multiplexed, processing is performed separately for a database to be repaired and a database for normal operation. Therefore, as described above, the time for exclusive processing related to the repair of unnecessary areas is reduced. Then, while executing unnecessary area repair processing in the database, it is possible to receive normal operation requests such as search and update from the database client and execute these processes.

また、修復対象のデータベースと通常運用のデータベースとの間に生じる差分は、不要領域修復管理部212によって管理され、不要領域の修復が完了すると適用される。更に、差分を適用する際において、通常運用のデータベースが停止されることはない。このため、本実施の形態1では、データベースクライアントからの更新処理を止めること無く、差分の適用を行うことができる。   Further, the difference generated between the database to be repaired and the normal operation database is managed by the unnecessary area repair management unit 212, and is applied when the repair of the unnecessary area is completed. Further, when applying the difference, the normal operation database is not stopped. Therefore, in the first embodiment, the difference can be applied without stopping the update process from the database client.

更に、本実施の形態1では、図5及び図6においてステップCで示したように、データベースクライアント1からの操作要求に応じて、データベースの性能が低下しないよう、自動的に不要領域の修復処理が中断される。このため、本実施の形態1は、データベースクライアント1の台数の増加や操作要求の増加にも対応することができる。   Further, in the first embodiment, as shown in Step C in FIGS. 5 and 6, unnecessary area repair processing is automatically performed in accordance with an operation request from the database client 1 so that the performance of the database does not deteriorate. Is interrupted. Therefore, the first embodiment can cope with an increase in the number of database clients 1 and an increase in operation requests.

また、複数の仮想OS上でデータベースシステムを構築している場合では、CPUやメモリのリソースを動的に移行して通常対応データベースサーバの性能を向上させることにより、データベースサーバが少なくなることによる検索性能低下を補うことが可能となる。これは不要領域処理が記憶装置への負荷が高く、比較的CPUやメモリのリソースは必要としないことを利用したものである。この技術を本実施の形態1に適用すれば、上述し
たように、運用中のデータベースシステム全体の性能低下を抑制することができる。
In addition, when a database system is built on multiple virtual OSs, search by reducing the number of database servers by dynamically transferring CPU and memory resources to improve the performance of normally supported database servers. It becomes possible to compensate for the performance degradation. This utilizes the fact that unnecessary area processing places a high load on the storage device and requires relatively no CPU or memory resources. If this technique is applied to the first embodiment, as described above, it is possible to suppress the performance degradation of the entire operating database system.

(実施の形態2)
次に本発明の実施の形態2における、管理装置、データベース管理方法、及びプログラムについて説明する。但し、本実施の形態2における管理装置及びそれを備えるデータベース管理システムの構成は、実施の形態1において図1に示した管理装置及びデータベース管理システムの構成と同様である。
(Embodiment 2)
Next, a management device, a database management method, and a program according to Embodiment 2 of the present invention will be described. However, the configuration of the management device and the database management system including the management device in the second embodiment is the same as the configuration of the management device and the database management system shown in FIG. 1 in the first embodiment.

本実施の形態2は、管理装置及びデータベースサーバにおける一部の処理が、実施の形態1におけるこれらの処理と異なっている。つまり、実施の形態1では、不要領域の修復処理の終了後に、データベースクライアントからの操作は受け付けたまま、修復対象のデータベースに対して更新命令が発行され、更新差分の適用が行われている。但し、この方式では、通常対応のデータベースの更新完了日時と修復対象のデータベースの更新日時とに幾らかの差異が生じることがあり、データベースによっては、差異の解消が求められる場合がある。このため、本実施の形態2においては、実施の形態1と異なる処理が行われる。   In the second embodiment, some processes in the management apparatus and the database server are different from those in the first embodiment. In other words, in the first embodiment, after completion of the unnecessary area repair process, an update command is issued to the database to be repaired while the operation from the database client is accepted, and the update difference is applied. However, with this method, there may be some difference between the update completion date and time of the normally supported database and the update date and time of the database to be repaired, and depending on the database, it may be required to eliminate the difference. For this reason, in the second embodiment, processing different from that in the first embodiment is performed.

本実施の形態2における処理について、図7及び図8を用いて以下に説明する。図7は、本発明の実施の形態2の管理装置によって構成されたデータベース管理システムにおけるアクティビティの変化を示すアクティビティ図である。図8は、図7に示したステップB10に含まれる処理を具体的に示すアクティビティ図である。   Processing in the second embodiment will be described below with reference to FIGS. FIG. 7 is an activity diagram showing activity changes in the database management system configured by the management apparatus according to the second embodiment of the present invention. FIG. 8 is an activity diagram specifically showing the processing included in step B10 shown in FIG.

図7に示されたステップのうち、実施の形態1で用いた図3に示された符号が付されたステップは、当該符号が付された図3のステップと同一ステップである。つまり、図7において、ステップA1〜A4及びA7は、実施の形態1におけるステップA1〜A4及びA7と同様に、クエリ管理部211、不要領域修復管理部212、データベース管理部221、231、241、251によって実行される。   Of the steps shown in FIG. 7, the step denoted by the reference numeral shown in FIG. 3 used in the first embodiment is the same as the step of FIG. 3 denoted by the reference numeral. That is, in FIG. 7, steps A1 to A4 and A7 are the same as steps A1 to A4 and A7 in the first embodiment, the query management unit 211, the unnecessary area repair management unit 212, the database management units 221, 231, 241, 251.

一方、図7に示されたステップB10は、図3に示されたステップBとは、例外処理(図5及び図6に示すステップC)の点で異なっている。本実施の形態2においては、後述するように、例外処理は、図8に沿って実行される。図8に示す処理については後述する。また、ステップD1〜D4は、本実施の形態2に特有のステップである。以下に、ステップD1〜D4について説明する。   On the other hand, step B10 shown in FIG. 7 differs from step B shown in FIG. 3 in exception processing (step C shown in FIGS. 5 and 6). In the second embodiment, as will be described later, exception processing is executed along FIG. The process shown in FIG. 8 will be described later. Steps D1 to D4 are steps unique to the second embodiment. Below, step D1-D4 is demonstrated.

なお、以下の説明では、実施の形態1で用いた図1を適宜参酌する。また、本実施の形態2においても、実施の形態1と同様に、最初に、データベースサーバ22及び23が修復対象のデータベースサーバに割り当てられ、データベースサーバ24及び25が通常対応のデータベースサーバに割り当てられているとする。   In the following description, FIG. 1 used in Embodiment 1 is referred to as appropriate. Also in the second embodiment, as in the first embodiment, first, the database servers 22 and 23 are assigned to the database servers to be repaired, and the database servers 24 and 25 are assigned to the database servers that are normally supported. Suppose that

図7に示すように、不要領域の修復処理が行われている間、クエリ管理部211は、データベースクライアント1からの検索や更新といった操作の受付を保留にし、不要領域修復管理部212に、これらをプールさせる(ステップD1)。   As shown in FIG. 7, while the unnecessary area repair process is being performed, the query management unit 211 suspends acceptance of operations such as search and update from the database client 1, and the unnecessary area repair management unit 212 Are pooled (step D1).

次に、クエリ管理部211は、通常対応のデータベースのデータベース管理部241及び251に対して、ジャーナルの転送命令を発行する。データベース管理部241及び251は、転送命令を受信すると、修復対象のデータベースのデータベース管理部221及び231にデータベースの更新情報であるジャーナルを転送する(ステップD2)。なお、通常対応のデータベースの台数より修復対象のデータベースの台数が多い場合は、ジャーナルの転送が早く終わったデータベースが、更に残りの修復対象のデータベースへジャーナルを転送する。   Next, the query management unit 211 issues a journal transfer command to the database management units 241 and 251 of the normally supported database. Upon receiving the transfer command, the database management units 241 and 251 transfer the journal, which is database update information, to the database management units 221 and 231 of the database to be repaired (step D2). When the number of databases to be repaired is larger than the number of databases that are normally supported, the database whose journal transfer is completed earlier transfers journals to the remaining databases to be repaired.

次に、クエリ管理部211は、ジャーナルの転送が完了した修復対象のデータベースサーバのデータベース管理部に対して、ジャーナルによる差分の適用を指示し、実行させる(ステップD3)。   Next, the query management unit 211 instructs the database management unit of the database server to be repaired whose journal transfer has been completed to apply the difference using the journal, and causes it to be executed (step D3).

ステップD3により、全ての差分更新(差分の適用)が完了すると、全てのデータベースの同期が取れた状態となる。そこで、クエリ管理部211は、保留していたデータベース操作を各データベースサーバに指示するため、これらを受け付けた順番で、その内容に従い、各データベースサーバに対して操作要求を発行する(ステップD4)。   When all the difference updates (difference application) are completed in step D3, all the databases are synchronized. Therefore, the query management unit 211 issues an operation request to each database server in accordance with the contents in the order in which they are received in order to instruct each database server to perform the suspended database operation (step D4).

その後、実施の形態1と同様に、不要領域修復管理部212は、修復対象のデータベースサーバと通常対応のデータベースサーバとの役割を入れ替え、未だ不要領域の修復処理が行われていないデータベースサーバに対して、不要領域の修復処理を実行する(ステップA7)。   After that, as in the first embodiment, the unnecessary area repair management unit 212 switches the roles of the database server to be repaired and the database server that is normally supported, and the database server for which the unnecessary area repair processing has not yet been performed. Then, an unnecessary area repair process is executed (step A7).

次に、図8を用いて、ステップB10に含まれる例外処理について説明する。図8に示されたステップのうち、実施の形態1で用いた図6に示された符号が付されたステップは、当該符号が付された図6のステップと同一ステップである。つまり、図8において、ステップC1〜C3及びC8は、実施の形態1におけるステップC1〜C3及びC8と同様に、クエリ管理部211、不要領域修復管理部212、データベース管理部221、231、241、251によって実行される。   Next, exception processing included in step B10 will be described with reference to FIG. Of the steps shown in FIG. 8, the step denoted by the reference numeral shown in FIG. 6 used in the first embodiment is the same as the step of FIG. 6 denoted by the reference numeral. That is, in FIG. 8, steps C1 to C3 and C8 are the same as steps C1 to C3 and C8 in the first embodiment, the query management unit 211, the unnecessary area repair management unit 212, the database management units 221, 231, 241, 251.

一方、ステップE1〜E4は、本実施の形態2に特有のステップである。以下に、ステップE1〜E4について説明する。また、以下の説明においても、適宜図1を参酌する。   On the other hand, steps E1 to E4 are steps unique to the second embodiment. Below, step E1-E4 is demonstrated. In the following description, FIG. 1 is taken into consideration as appropriate.

先ず、図8に示すように、修復処理の中断が完了すると、図7に示したステップD1と同様、クエリ管理部211は、データベースクライアント1からの検索や更新といった操作の受付を保留にし、不要領域修復管理部212に、これらをプールさせる。(ステップE1)。   First, as shown in FIG. 8, when the interruption of the repair process is completed, the query management unit 211 holds the reception of operations such as search and update from the database client 1 as in step D1 shown in FIG. The area repair management unit 212 pools them. (Step E1).

次に、クエリ管理部211は、通常対応のデータベースのデータベース管理部241及び251に対して、ジャーナルの転送命令を発行する。データベース管理部241及び251は、ステップD2と同様、転送命令を受信すると、修復処理を停止している修復対象のデータベースのデータベース管理部221及び231にデータベースの更新情報であるジャーナルを転送する(ステップE2)。   Next, the query management unit 211 issues a journal transfer command to the database management units 241 and 251 of the normally supported database. When receiving the transfer command, the database management units 241 and 251 transfer the journal, which is database update information, to the database management units 221 and 231 of the database to be repaired that has stopped the repair process (step D2). E2).

次に、クエリ管理部211は、ステップD3と同様に、ジャーナルの転送が完了した修復対象のデータベースサーバのデータベース管理部に対して、ジャーナルによる差分の適用を指示し、実行させる(ステップE3)。   Next, as in step D3, the query management unit 211 instructs the database management unit of the database server to be repaired for which journal transfer has been completed to apply the difference by the journal (step E3).

次に、全ての差分更新が完了すると、クエリ管理部211は、ステップD4と同様に、保留していたデータベース操作を各データベースサーバに指示するため、これらを受け付けた順番で、その内容に従い、各データベースサーバに対して操作要求を発行する(ステップE4)。   Next, when all the difference updates are completed, the query management unit 211 instructs each database server to perform the suspended database operation in the same manner as in step D4. An operation request is issued to the database server (step E4).

その後、不要領域修復管理部212は、図6の例と同様に、対象のデータベースサーバの割り当てを、修復対象のデータベースサーバから通常対応のデータベースサーバへと変更する(ステップC8)。これにより、通常対応のデータベースサーバが増加する。   Thereafter, the unnecessary area repair management unit 212 changes the allocation of the target database server from the database server to be repaired to the database server that is normally supported (step C8), as in the example of FIG. This increases the number of normally supported database servers.

このように、本実施の形態2では、実施の形態1と異なり、通常対応のデータベースサ
ーバから、その更新内容を含むジャーナルが、修復対象のデータベースサーバに対して送信され、ジャーナルを用いて更新が行われる。
As described above, in the second embodiment, unlike in the first embodiment, the journal including the update contents is transmitted from the normally supported database server to the database server to be repaired, and is updated using the journal. Done.

よって、本実施の形態2によれば、通常対応のデータベースの更新完了日時と修復対象のデータベースの更新日時とに差異が生じるのを抑制できる。このため、データベースクライアントからの更新処理の要求に、更新日時に関係する内容が含まれていても、修復対象のデータベースと通常対応のデータベースの同期を取ることが可能となる。本実施の形態2は、更新時に全てのデータベースサーバが更新結果をクエリ管理部211に送信することを利用している。データベース間の更新日時は完全とは言わないまでもほぼ同時刻となる。また、本実施の形態2においても、実施の形態1で述べた効果は全て得ることができる。   Therefore, according to the second embodiment, it is possible to suppress the occurrence of a difference between the update completion date and time of the normal database and the update date and time of the database to be repaired. For this reason, even if the update processing request from the database client includes contents related to the update date and time, it is possible to synchronize the database to be repaired with the database that is normally supported. The second embodiment uses that all database servers transmit update results to the query management unit 211 at the time of update. The update time between databases is almost the same, if not completely. Also in the second embodiment, all the effects described in the first embodiment can be obtained.

以上のように、本発明は、データベース管理システム、特には、データベースサーバが多重化された、追記型データベース管理システムに有効である。本発明は、産業上の利用可能性を有している。   As described above, the present invention is effective for a database management system, in particular, a write-once database management system in which database servers are multiplexed. The present invention has industrial applicability.

1 データベースクライアント
2 データベース管理システム
3 ページ(解放前)
4 ページ(解放前)
5 ページ(解放後)
21 管理装置
22 データベースサーバ
23 データベースサーバ
24 データベースサーバ
25 データベースサーバ
31 ページ管理情報
41 ページ管理情報
51 ページ管理情報
211 クエリ管理部
212 不要領域修復管理部
221 データベース管理部
222 記憶装置
231 データベース管理部
232 記憶装置
241 データベース管理部
242 記憶装置
251 データベース管理部
252 記憶装置
321〜325 タプルデータ
421〜425 タプルデータ
521〜525 タプルデータ
1 database client 2 database management system 3 pages (before release)
4 pages (before release)
5 pages (after release)
DESCRIPTION OF SYMBOLS 21 Management apparatus 22 Database server 23 Database server 24 Database server 25 Database server 31 Page management information 41 Page management information 51 Page management information 211 Query management part 212 Unnecessary area repair management part 221 Database management part 222 Storage device 231 Database management part 232 Storage Device 241 Database management unit 242 Storage device 251 Database management unit 252 Storage device 321 to 325 Tuple data 421 to 425 Tuple data 521 to 525 Tuple data

Claims (15)

多重化された複数のデータベースサーバを備えたデータベース管理システムを構成する管理装置であって、
前記複数のデータベースサーバそれぞれにおける不要領域の修復処理を管理する不要領域修復管理部を備え、
前記不要領域修復管理部は、前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となると、一部の前記データベースサーバに、先に前記修復処理を実行させ、その後、残りの前記データベースサーバに、前記修復処理を実行させる、
ことを特徴とする管理装置。
A management apparatus constituting a database management system comprising a plurality of multiplexed database servers,
An unnecessary area repair management unit for managing repair processing of unnecessary areas in each of the plurality of database servers,
When the unnecessary area repair process is required in each of the plurality of database servers, the unnecessary area repair management unit causes some of the database servers to execute the repair process first, and then causes the remaining database servers to perform the repair process. , Causing the repair process to be executed,
A management device characterized by that.
前記複数のデータベースサーバそれぞれに対する外部からの操作要求を管理し、これらに対して前記処理を指示するクエリ管理部を更に備え、
前記クエリ管理部は、いずれかの前記データベースサーバが前記修復処理を実行している間に、外部から操作要求があった場合に、前記修復処理を実行していない前記データベースサーバに、要求のあった前記処理を実行させる、請求項1に記載の管理装置。
It further comprises a query management unit that manages external operation requests for each of the plurality of database servers, and instructs the processing on these requests.
When an operation request is received from the outside while any of the database servers is executing the repair process, the query management unit sends a request to the database server that is not executing the repair process. The management apparatus according to claim 1, wherein the processing is executed.
前記クエリ管理部は、前記外部からの操作要求として、前記複数のデータベースサーバの更新が要求された場合に、
前記修復処理を実行してない前記データベースサーバに対しては、前記更新を実行させ、前記修復処理を実行している前記データベースサーバに対しては、前記不要領域修復管理部の指示に応じて、前記修復処理の終了後に、前記更新を実行させる、
請求項2に記載の管理装置。
When the update of the plurality of database servers is requested as the operation request from the outside, the query management unit,
For the database server that is not executing the repair process, the update is executed, and for the database server that is executing the repair process, according to an instruction of the unnecessary area repair management unit, Causing the update to be executed after completion of the repair process;
The management device according to claim 2.
前記クエリ管理部は、前記外部からの操作要求の要求量または要求件数が、設定された閾値を超えた場合又は前記閾値以上となった場合に、
前記修復処理を実行している前記データベースサーバに対して、前記修復処理を中断させる、請求項2または3に記載の管理装置。
The query management unit, when the request amount or the number of requests of the operation request from the outside exceeds a set threshold or when it is equal to or more than the threshold,
The management apparatus according to claim 2, wherein the repair process is interrupted to the database server that is executing the repair process.
前記クエリ管理部が、
前記更新の実行が終了した前記データベースサーバに対して、前記更新の内容を含むジャーナルを、前記更新を実行していない前記データベースサーバに向けて送信させ、
前記更新を実行していない前記データベースサーバに対して、前記ジャーナルを用いて前記更新を実行させる、
請求項3に記載の管理装置。
The query management unit
For the database server that has completed the execution of the update, a journal including the content of the update is transmitted to the database server that is not executing the update,
Causing the database server not performing the update to execute the update using the journal;
The management device according to claim 3.
多重化された複数のデータベースサーバを備えたデータベース管理システムにおいてデータベースの管理を行うための方法であって、
(a)前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となった場合に、一部の前記データベースサーバに、先に前記修復処理を実行させるステップと、
(b)前記(a)のステップの実行後に、残りの前記データベースサーバに、前記修復処理を実行させるステップと、
を有することを特徴とするデータベース管理方法。
A method for managing a database in a database management system comprising a plurality of multiplexed database servers,
(A) when a repair process of an unnecessary area is required in each of the plurality of database servers, causing some of the database servers to execute the repair process first;
(B) after the execution of the step (a), causing the remaining database servers to execute the repair process;
A database management method characterized by comprising:
(c)いずれかの前記データベースサーバが前記修復処理を実行している間に、前記複数のデータベースサーバそれぞれに対して、外部から操作が要求されているかどうかを判定するステップと、
(d)前記(c)のステップで、外部から前記操作が要求されていると判定された場合に、前記修復処理を実行していない前記データベースサーバに、要求のあった前記処理を実
行させるステップとを、
更に有する請求項6に記載のデータベース管理方法。
(C) determining whether an operation is requested from the outside for each of the plurality of database servers while any of the database servers is executing the repair process;
(D) When it is determined in the step (c) that the operation is requested from the outside, the database server that is not executing the repair process executes the requested process. And
The database management method according to claim 6, further comprising:
前記(d)のステップにおいて、
前記外部からの操作要求として、前記複数のデータベースサーバの更新が要求された場合に、
前記修復処理を実行してない前記データベースサーバに対しては、前記更新を実行させ、前記修復処理を実行している前記データベースサーバに対しては、前記不要領域修復管理部の指示に応じて、前記修復処理の終了後に、前記更新を実行させる、請求項7に記載のデータベース管理方法。
In the step (d),
When the update of the plurality of database servers is requested as the operation request from the outside,
For the database server that is not executing the repair process, the update is executed, and for the database server that is executing the repair process, according to an instruction of the unnecessary area repair management unit, The database management method according to claim 7, wherein the update is executed after completion of the repair process.
(e)前記外部からの操作要求の要求量または要求件数が、設定された閾値を超えているか、又は前記閾値以上となっているかどうかを判定する、ステップと、
(f)前記(e)のステップで前記閾値を超えている、又は前記閾値上となっていると判定された場合に、前記修復処理を実行している前記データベースサーバに対して、前記修復処理を中断させる、ステップとを、
更に有する、請求項7または8に記載のデータベース管理方法。
(E) determining whether a request amount or a request count of the external operation request exceeds a set threshold value or is equal to or greater than the threshold value; and
(F) When it is determined in the step (e) that the threshold value is exceeded or exceeds the threshold value, the repair process is performed on the database server that is executing the repair process. Interrupt the steps and
The database management method according to claim 7 or 8, further comprising:
(g)前記更新の実行が終了した前記データベースサーバに対して、前記更新の内容を含むジャーナルを、前記更新を実行していない前記データベースサーバに向けて送信させる、ステップを更に有し、
前記(d)のステップにおいて、前記更新を実行していない前記データベースサーバに対して、前記ジャーナルを用いて前記更新を実行させる、
請求項8に記載のデータベース管理方法。
(G) causing the database server that has finished executing the update to further send a journal including the contents of the update to the database server that is not executing the update;
In the step (d), the database server that has not executed the update is caused to execute the update using the journal.
The database management method according to claim 8.
多重化された複数のデータベースサーバを備えたデータベース管理システムにおいて、コンピュータに、データベースの管理を行わせるためのプログラムであって、
前記コンピュータに、
(a)前記複数のデータベースサーバそれぞれにおいて不要領域の修復処理が必要となった場合に、一部の前記データベースサーバに、先に前記修復処理を実行させるステップと、
(b)前記(a)のステップの実行後に、残りの前記データベースサーバに、前記修復処理を実行させるステップと、
を実行させることを特徴とするプログラム。
In a database management system having a plurality of multiplexed database servers, a program for causing a computer to manage a database,
In the computer,
(A) when a repair process of an unnecessary area is required in each of the plurality of database servers, causing some of the database servers to execute the repair process first;
(B) after the execution of the step (a), causing the remaining database servers to execute the repair process;
A program characterized by having executed.
(c)いずれかの前記データベースサーバが前記修復処理を実行している間に、前記複数のデータベースサーバそれぞれに対して、外部から操作が要求されているかどうかを判定するステップと、
(d)前記(c)のステップで、外部から前記操作が要求されていると判定された場合に、前記修復処理を実行していない前記データベースサーバに、要求のあった前記処理を実行させるステップとを、
更に前記コンピュータに実行させる請求項11に記載のプログラム。
(C) determining whether an operation is requested from the outside for each of the plurality of database servers while any of the database servers is executing the repair process;
(D) When it is determined in the step (c) that the operation is requested from the outside, the database server that is not executing the repair process executes the requested process. And
The program according to claim 11, further causing the computer to execute.
前記(d)のステップにおいて、
前記外部からの操作要求として、前記複数のデータベースサーバの更新が要求された場合に、
前記修復処理を実行してない前記データベースサーバに対しては、前記更新を実行させ、前記修復処理を実行している前記データベースサーバに対しては、前記不要領域修復管理部の指示に応じて、前記修復処理の終了後に、前記更新を実行させる、請求項12に記載のプログラム。
In the step (d),
When the update of the plurality of database servers is requested as the operation request from the outside,
For the database server that is not executing the repair process, the update is executed, and for the database server that is executing the repair process, according to an instruction of the unnecessary area repair management unit, The program according to claim 12, wherein the update is executed after the repair process ends.
(e)前記外部からの操作要求の要求量または要求件数が、設定された閾値を超えているか、又は前記閾値以上となっているかどうかを判定する、ステップと、
(f)前記(e)のステップで前記閾値を超えている、又は前記閾値上となっていると判定された場合に、前記修復処理を実行している前記データベースサーバに対して、前記修復処理を中断させる、ステップとを、
更に前記コンピュータに実行させる、請求項12または13に記載のプログラム。
(E) determining whether a request amount or a request count of the external operation request exceeds a set threshold value or is equal to or greater than the threshold value; and
(F) When it is determined in the step (e) that the threshold value is exceeded or exceeds the threshold value, the repair process is performed on the database server that is executing the repair process. Interrupt the steps and
The program according to claim 12 or 13, further causing the computer to execute the program.
(g)前記更新の実行が終了した前記データベースサーバに対して、前記更新の内容を含むジャーナルを、前記更新を実行していない前記データベースサーバに向けて送信させる、ステップを更に前記コンピュータに実行させ、
前記(d)のステップにおいて、前記更新を実行していない前記データベースサーバに対して、前記ジャーナルを用いて前記更新を実行させる、
請求項13に記載のプログラム。
(G) causing the computer to further execute a step of causing the database server that has finished executing the update to transmit a journal including the contents of the update to the database server that is not executing the update. ,
In the step (d), the database server that has not executed the update is caused to execute the update using the journal.
The program according to claim 13.
JP2009063381A 2009-03-16 2009-03-16 Management device, database management method and program Pending JP2010218159A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009063381A JP2010218159A (en) 2009-03-16 2009-03-16 Management device, database management method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009063381A JP2010218159A (en) 2009-03-16 2009-03-16 Management device, database management method and program

Publications (1)

Publication Number Publication Date
JP2010218159A true JP2010218159A (en) 2010-09-30

Family

ID=42976953

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009063381A Pending JP2010218159A (en) 2009-03-16 2009-03-16 Management device, database management method and program

Country Status (1)

Country Link
JP (1) JP2010218159A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012169080A1 (en) * 2011-07-05 2012-12-13 株式会社Murakumo Database management method
JP2013033439A (en) * 2011-07-05 2013-02-14 Murakumo Corp Database management method
US9251195B2 (en) 2011-07-05 2016-02-02 Murakumo Corporation Method of managing database

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012169080A1 (en) * 2011-07-05 2012-12-13 株式会社Murakumo Database management method
JP2013033439A (en) * 2011-07-05 2013-02-14 Murakumo Corp Database management method
JP2013033440A (en) * 2011-07-05 2013-02-14 Murakumo Corp Database management method
JP2013033441A (en) * 2011-07-05 2013-02-14 Murakumo Corp Database management method
JP2013037669A (en) * 2011-07-05 2013-02-21 Murakumo Corp Database management method
US9251195B2 (en) 2011-07-05 2016-02-02 Murakumo Corporation Method of managing database

Similar Documents

Publication Publication Date Title
US20220300183A1 (en) Data partition handoff between storage clusters
US8725951B2 (en) Efficient flash memory-based object store
CN101593136B (en) Method for obtaining high availability by using computers and computer system
US7676635B2 (en) Recoverable cache preload in clustered computer system based upon monitored preload state of cache
US8868487B2 (en) Event processing in a flash memory-based object store
KR101471879B1 (en) Hypervisor-based server duplication system, method thereof and recording medium storing the computer program for the duplication
US8195777B2 (en) System and method for adding a standby computer into clustered computer system
US8666939B2 (en) Approaches for the replication of write sets
JP5068081B2 (en) Management apparatus and management method
US11570243B2 (en) Decommissioning, re-commissioning, and commissioning new metadata nodes in a working distributed data storage system
US10706021B2 (en) System and method for supporting persistence partition discovery in a distributed data grid
US20100094948A1 (en) Workload migration using on demand remote paging
EP3491532B1 (en) System and method for data redistribution in database
US20070288532A1 (en) Method of updating an executable file for a redundant system with old and new files assured
JP4693540B2 (en) Database reconfiguration device and database reconfiguration program
JP2007156679A (en) Failure recovery method for server, and database system
US20210089379A1 (en) Computer system
JP2010218159A (en) Management device, database management method and program
US10140183B2 (en) Efficient state tracking for clusters
JP2014016953A (en) Unshared type database system, synchronizing device, database server, its synchronizing method, and synchronizing program
US20140082313A1 (en) Storage class memory evacuation
US11816331B2 (en) Storage system and storage program update method
CN111400098B (en) Copy management method and device, electronic equipment and storage medium
TWI763331B (en) Backup method and backup system for virtual machine
KR20050026306A (en) Shared-nothing database cluster server system and on-line scaling method