JP2010015344A - Database system - Google Patents
Database system Download PDFInfo
- Publication number
- JP2010015344A JP2010015344A JP2008174134A JP2008174134A JP2010015344A JP 2010015344 A JP2010015344 A JP 2010015344A JP 2008174134 A JP2008174134 A JP 2008174134A JP 2008174134 A JP2008174134 A JP 2008174134A JP 2010015344 A JP2010015344 A JP 2010015344A
- Authority
- JP
- Japan
- Prior art keywords
- database
- data
- vacuum
- unit
- temporary memory
- 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.)
- Withdrawn
Links
Images
Abstract
Description
本発明は、同時実行制御を利用するデータベースシステムにおいて、同時実行制御により発生する過剰データを削除して、データベースの操作性を向上させる技術に関する。 The present invention relates to a technique for improving the operability of a database by deleting excess data generated by the concurrent execution control in a database system using the concurrent execution control.
同時実行制御を利用するデータベースシステムがある。すなわち、データベースシステムは、あるユーザ端末からあるデータに対する書き込み指示を受け付けているときでも、他のユーザ端末からそのデータに対する読み込み指示を受け付けられる。 There are database systems that use concurrency control. That is, even when the database system accepts a write instruction for certain data from a certain user terminal, it can accept a read instruction for that data from another user terminal.
データベースシステムは、読み込み指示を受け付けるときには、いまだコミットされていないデータを提供するのではなく、すでにコミットされているデータを提供する。すなわち、データベースシステムは、読み込み指示を受け付けるときには、整合性が保証されていないデータを提供するのではなく、整合性が保証されているデータを提供する。 When receiving a read instruction, the database system provides data that has already been committed, not data that has not yet been committed. That is, when receiving a read instruction, the database system provides data that is guaranteed to be consistent, not data that is not guaranteed to be consistent.
データベースシステムは、ある時刻(第1時刻)においてすでにコミットされているデータを提供するために、第1時刻において書き込み指示を受け付けているときでも、第1時刻においてすでにコミットされているデータを格納している必要がある。 In order to provide data already committed at a certain time (first time), the database system stores data already committed at the first time, even when a write instruction is accepted at the first time. Need to be.
データベースシステムは、後の時刻(第2時刻)においてすでにコミットされているデータを提供するために、第2時刻において書き込み指示を受け付けているときでも、第2時刻においてすでにコミットされているデータを格納している必要がある。 The database system stores data that has already been committed at the second time, even when a write instruction is accepted at the second time, in order to provide data that has already been committed at a later time (second time). Need to be.
ここで、データベースシステムは、第1時刻、第2時刻、・・・においてすでにコミットされているデータを格納し続ける。しかし、データベースシステムは、第1時刻、第2時刻、・・・においてすでにコミットされているデータをいずれは提供しなくなる。そこで、データベースシステムは、これらのデータを過剰データとして格納し続ける。 Here, the database system continues to store data that has already been committed at the first time, the second time,. However, the database system will no longer provide data that has already been committed at the first time, the second time,. Therefore, the database system continues to store these data as excess data.
非特許文献1のデータベースシステムは、バキューム処理を実行する。すなわち、データベースシステムは、バキューム処理の直近以外にコミットされているデータを削除して、バキューム処理の直近にコミットされているデータを抽出する。そのため、データベースシステムは、データベースの操作性を向上させることができる。
The database system of Non-Patent
非特許文献1のデータベースシステムは、バキューム処理および更新処理を実行するときには、バキューム処理により更新処理に悪影響を及ぼすことがあり、更新処理によりバキューム処理に悪影響を及ぼすことがある。データベースシステムは、バキューム処理に長時間を必要とするときには、以上の問題点を重要な問題点とすることになる。
When executing the vacuum process and the update process, the database system of Non-Patent
そこで、本発明は前記問題点に鑑み、バキューム処理が長時間を必要とするときでも、バキューム処理が更新処理に悪影響を及ぼすことがなく、更新処理がバキューム処理に悪影響を及ぼすことがないデータベースシステムを提供することを目的とする。 Therefore, in view of the above problems, the present invention provides a database system in which even when the vacuum processing requires a long time, the vacuum processing does not adversely affect the update processing, and the update processing does not adversely affect the vacuum processing. The purpose is to provide.
上記課題を解決するため、請求項1記載の発明は、データベースシステムであって、データベースと、テンポラリメモリと、一のコミット前にコミットされたコミット前データと、前記一のコミット後にコミットされたコミット後データを、前記データベースから前記テンポラリメモリにコピーするコピー部と、前記テンポラリメモリでコピーされた前記コミット前データと前記コミット後データから、前記コミット前データを削除して前記コミット後データを抽出するバキューム部と、前記テンポラリメモリで抽出された前記コミット後データを、前記テンポラリメモリから前記データベースに上書きする上書き部と、を備えることを特徴とする。
In order to solve the above-mentioned problem, the invention according to
請求項2記載の発明は、請求項1に記載のデータベースシステムにおいて、前記バキューム部は、前記コピー部により前記コミット前データと前記コミット後データがコピーされているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの抽出を中止するバキューム中止部、を含むことを特徴とする。 According to a second aspect of the present invention, in the database system according to the first aspect, the vacuum unit is stored in the database while the pre-commit data and the post-commit data are copied by the copy unit. A vacuum canceling unit for canceling the extraction of the post-commit data when the post-commit data is updated.
請求項3記載の発明は、請求項1または請求項2に記載のデータベースシステムにおいて、前記上書き部は、前記バキューム部により前記コミット後データが抽出されているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの上書きを中止する上書き中止部、を含むことを特徴とする。 According to a third aspect of the present invention, in the database system according to the first or second aspect, the overwriting unit is stored in the database while the post-commit data is extracted by the vacuum unit. And an overwrite canceling unit for canceling overwriting of the post-commit data when the post-commit data is updated.
請求項4記載の発明は、請求項1ないし請求項3のいずれかに記載のデータベースシステムにおいて、さらに、前記上書き部により前記コミット後データが上書きされているときには、前記データベースに排他的ロックをかける排他的ロック部、を備えることを特徴とする。 According to a fourth aspect of the present invention, in the database system according to any one of the first to third aspects, when the post-commit data is overwritten by the overwriting unit, an exclusive lock is applied to the database. An exclusive lock unit is provided.
データベースシステムは、データベース、テンポラリメモリ、コピー部、バキューム部、上書き部から構成される。データベースは、データを永続的に格納するが、テンポラリメモリは、データを一時的に格納する。 The database system includes a database, a temporary memory, a copy unit, a vacuum unit, and an overwrite unit. The database stores data permanently, while the temporary memory stores data temporarily.
コピー部は、バキューム処理の直近以外にコミットされているデータ、バキューム処理の直近にコミットされているデータを、データベースからテンポラリメモリにコピーする。バキューム部は、データベースにおいてではなく、テンポラリメモリにおいて、バキューム処理の直近以外にコミットされているデータを削除して、バキューム処理の直近にコミットされているデータを抽出する。上書き部は、バキューム処理の直近にコミットされているデータを、テンポラリメモリからデータベースに上書きする。 The copy unit copies data committed other than immediately before the vacuum process and data committed immediately after the vacuum process from the database to the temporary memory. The vacuum unit deletes data committed in the temporary memory other than the latest in the vacuum process, not in the database, and extracts data committed in the immediate vicinity of the vacuum process. The overwriting unit overwrites the data committed in the latest vacuum processing from the temporary memory to the database.
バキューム部は、テンポラリメモリに対して、バキューム処理を実行する。ユーザ端末は、データベースに対して、更新処理を実行する。データベースシステムは、バキューム処理に長時間を必要とするときでも、バキューム処理により更新処理に悪影響を及ぼすことがなく、更新処理によりバキューム処理に悪影響を及ぼすことがない。 The vacuum unit performs a vacuum process on the temporary memory. The user terminal executes update processing on the database. Even when a long time is required for the vacuum process, the database system does not adversely affect the update process by the vacuum process, and does not adversely affect the vacuum process by the update process.
{バキューム処理の概要}
以下、図面を参照しつつ、本発明の実施の形態について説明する。図1は、バキューム処理の概要を示すタイムチャートである。サーバ1は、データベースを格納する。ユーザ端末2、3は、データベースを操作する。サーバ1は、同時実行制御を利用する。
{Outline of vacuum processing}
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a time chart showing an outline of the vacuum processing. The
ユーザ端末2は、トランザクション21を実行する。ユーザ端末3は、トランザクション31、32を実行する。トランザクション31は、トランザクション21と並行して実行されるが、トランザクション32は、トランザクション21とタイミングをずらして実行される。
The user terminal 2 executes the
サーバ1がステップS21の実行前にデータベースに格納しているデータは、直近トランザクションにおいてすでにコミットされており、ユーザ端末2により更新される前のデータ(既コミット更新前データ)である(ステップS11)。
The data stored in the database before the execution of step S21 by the
ユーザ端末2は、サーバ1に読み込み指示を送信する(ステップS21)。ユーザ端末2は、サーバ1から既コミット更新前データを取得して、図1に不図示の表示部に既コミット更新前データを表示する(ステップS22)。
The user terminal 2 transmits a reading instruction to the server 1 (step S21). The user terminal 2 obtains the data before the commit update from the
ユーザ端末2は、サーバ1に1回目の書き込み指示を送信する(ステップS23)。サーバ1がステップS23の実行後にログ情報に記録しているデータは、トランザクション21においていまだコミットされておらず、ユーザ端末2により更新されている最中のデータ(未コミット更新中データ)である(ステップS12)。
The user terminal 2 transmits a first write instruction to the server 1 (step S23). The data recorded in the log information by the
ユーザ端末2は、サーバ1に2回目の書き込み指示を送信する(ステップS24)。サーバ1がステップS24の実行後にログ情報に記録しているデータは、トランザクション21においていまだコミットされておらず、ユーザ端末2により更新された後のデータ(未コミット更新後データ)である(ステップS13)。
The user terminal 2 transmits a second write instruction to the server 1 (step S24). The data recorded in the log information by the
サーバ1は、ステップS23、S24における書き込み内容に整合性が認められるときには、コミット処理を実行する。サーバ1は、ステップS23、S24における書き込み内容に整合性が認められないときには、ロールバック処理を実行する。図1においては、サーバ1は、コミット処理を実行する(ステップS14)。
The
サーバ1がステップS14の実行後にデータベースに格納しているデータは、トランザクション21においてすでにコミットされており、ユーザ端末2により更新された後のデータ(既コミット更新後データ)である(ステップS15)。
The data stored in the database after execution of step S14 by the
ユーザ端末3は、サーバ1に読み込み指示を送信する(ステップS31)。ここで、未コミット更新中データが、ログ情報に記録されている(ステップS12)。しかし、ユーザ端末3は、サーバ1から既コミット更新前データを取得して、図1に不図示の表示部に既コミット更新前データを表示する(ステップS32)。そのため、ユーザ端末3は、整合性が保証されたデータを取得できて表示できる。
The user terminal 3 transmits a reading instruction to the server 1 (step S31). Here, uncommitted updating data is recorded in the log information (step S12). However, the user terminal 3 obtains the data before the commit update from the
ユーザ端末3は、サーバ1に読み込み指示を送信する(ステップS33)。ここで、既コミット更新後データが、データベースに格納されている(ステップS15)。そこで、ユーザ端末3は、サーバ1から既コミット更新後データを取得して、図1に不図示の表示部に既コミット更新後データを表示する(ステップS34)。そのため、ユーザ端末3は、整合性が保証されたデータを取得できて表示できる。
The user terminal 3 transmits a reading instruction to the server 1 (step S33). Here, the data after the already committed update is stored in the database (step S15). Therefore, the user terminal 3 acquires the data after the already-committed update from the
サーバ1は、ユーザ端末3に既コミット更新前データを提供するため(ステップS32)、既コミット更新前データを格納している(ステップS11)。サーバ1は、ユーザ端末3に既コミット更新後データを提供するため(ステップS34)、既コミット更新後データを格納しているが、既コミット更新前データも格納している(ステップS15)。
The
既コミット更新後データは、今後とも参照される可能性がある必要なデータであるが、既コミット更新前データは、今後とも参照される可能性がない過剰なデータである。サーバ1は、バキューム処理を実行することにより、既コミット更新前データを削除して、既コミット更新後データを抽出して、データベースの操作性を向上させる。
The data after the already-committed update is necessary data that may be referred to in the future, but the data before the already-committed update is excessive data that cannot be referred to in the future. By executing the vacuum process, the
{サーバの構成要素}
図2は、サーバ1の構成要素を示すブロック図である。サーバ1は、データベース11、テンポラリメモリ12、データベースマネージメントシステム13から構成される。データベース11は、データを永続的に格納する。テンポラリメモリ12は、データを一時的に格納する。データベースマネージメントシステム13は、ユーザ端末2、3から操作指示を入力して、データベース11、テンポラリメモリ12に操作命令を出力する。
{Server components}
FIG. 2 is a block diagram showing components of the
データベース11は、第1ファイル111、第2ファイル112、第3ファイル113から構成される。一のファイルは、他のファイルに関連しておらず、他のファイルから独立している。一のファイルに対するバキューム処理および更新処理は、他のファイルに対するバキューム処理および更新処理から独立している。
The
データベースマネージメントシステム13は、アクセス部131、バキューム部132、コピー部133、上書き部134から構成される。
The
アクセス部131は、データベース11に格納されているデータに対して、更新処理を実行する。バキューム部132は、テンポラリメモリ12に格納されているデータに対して、バキューム処理を実行する。アクセス部131による更新処理、バキューム部132によるバキューム処理は、相互に衝突することがない。
The
コピー部133は、データベース11に格納されているバキューム処理を実行されていないデータを、データベース11からテンポラリメモリ12にコピーする。上書き部134は、テンポラリメモリ12に格納されているバキューム処理を実行されているデータを、テンポラリメモリ12からデータベース11に上書きする。
The
{バキューム処理の流れ}
図3および図4は、バキューム処理の流れを示すフローチャートである。図5から図7までは、バキューム処理を示すタイムチャートである。一のファイルに対するバキューム処理は、他のファイルに対するバキューム処理から独立している。
{Flow of vacuum processing}
3 and 4 are flowcharts showing the flow of the vacuum process. 5 to 7 are time charts showing vacuum processing. The vacuum process for one file is independent of the vacuum process for the other file.
「参照データ」は、バキューム処理の直近にコミットされているデータであり、今後とも参照される可能性がある必要なデータである。「参照データ」は、図1のステップS15における「既コミット更新後データ」に相当する。 “Reference data” is data that has been committed most recently in vacuum processing, and is necessary data that may be referred to in the future. The “reference data” corresponds to “updated data already committed” in step S15 in FIG.
「非参照データ」は、バキューム処理の直近以外にコミットされているデータであり、今後とも参照される可能性がない過剰なデータである。「非参照データ」は、図1のステップS11における「既コミット更新前データ」に相当する。 “Non-reference data” is data that has been committed other than immediately before the vacuum process, and is excessive data that cannot be referred to in the future. “Non-reference data” corresponds to “data before commit update” in step S11 of FIG.
[第1ファイルのバキューム処理]
図5は、第1ファイル111のバキューム処理を示すタイムチャートである。ここで、第1ファイル111がデータベース11からテンポラリメモリ12にコピーされているときに、第1ファイル111がデータベース11において更新されない。そして、第1ファイル111がテンポラリメモリ12においてバキュームされているときに、第1ファイル111がデータベース11において更新されない。
[Vacuum processing of the first file]
FIG. 5 is a time chart showing the vacuum processing of the
バキューム部132は、バキューム処理タイミングが到来しているかどうかをチェックする(ステップS41)。図5においては、バキューム処理タイミングが到来している場合を示す(ステップS42においてYES)。バキューム部132は、バキューム処理タイミングが到来していないことを確認したときには(ステップS42においてNO)、バキューム処理を実行しない。
The
バキューム部132は、ユーザ端末2、3による設定時刻が到来していることをチェックしてもよい。バキューム部132は、現実のデータサイズが本来のデータサイズの所定数倍以上になっていることをチェックしてもよい。バキューム部132は、ユーザ端末2、3がデータベース11にアクセスしていないことをチェックしてもよい。
The
コピー部133は、参照データ1111、非参照データ1112を含む第1ファイル111を、データベース11からテンポラリメモリ12にコピーする(ステップS43)。
The
バキューム部132は、第1ファイル111がコピー処理中にデータベース11において更新されているかどうかを、コピー処理後にチェックする(ステップS44)。バキューム部132は、第1ファイル111がコピー処理中にデータベース11において更新されていないことを確認する(ステップS45においてNO)。
The
バキューム部132は、参照データ1111、非参照データ1112を含む第1ファイル111に対して、テンポラリメモリ12においてバキューム処理を実行する。バキューム部132は、参照データ1111をテンポラリメモリ12において抽出して、非参照データ1112をテンポラリメモリ12において削除する(ステップS46)。
The
バキューム部132は、第1ファイル111がバキューム処理中にデータベース11において更新されているかどうかを、バキューム処理後にチェックする(ステップS47)。バキューム部132は、第1ファイル111がバキューム処理中にデータベース11において更新されていないことを確認する(ステップS48においてNO)。
The
バキューム部132は、データベース11に格納されているログ情報をチェックすることにより、データベースファイルがデータベース11において更新されているかどうかをチェックしてもよい。バキューム部132は、データベース11に格納されているデータベースファイルをモニターすることにより、データベースファイルがデータベース11において更新されているかどうかをチェックしてもよい。
The
アクセス部131は、データベース11に格納されている第1ファイル111に対して、排他的ロックをかける(ステップS49)。ユーザ端末2、3は、第1ファイル111にアクセスできない。上書き部134は、参照データ1111を、テンポラリメモリ12からデータベース11に上書きする(ステップS50)。
The
アクセス部131は、データベース11に格納されている参照データ1111に対して、排他的ロックを解除する(ステップS51)。ユーザ端末2、3は、参照データ1111にアクセスできる。バキューム部132は、参照データ1111を、テンポラリメモリ12から削除する(ステップS52)。以上により第1ファイル111のバキューム処理が終了する。
The
[第2ファイルのバキューム処理]
図6は、第2ファイル112のバキューム処理を示すタイムチャートである。ここで、第2ファイル112がデータベース11からテンポラリメモリ12にコピーされているときに、第2ファイル112がデータベース11において更新される。
[Vacuum processing of second file]
FIG. 6 is a time chart showing the vacuum processing of the
バキューム部132は、バキューム処理タイミングが到来しているかどうかをチェックする(ステップS41)。図6においては、バキューム処理タイミングが到来している場合を示す(ステップS42においてYES)。バキューム部132は、バキューム処理タイミングが到来していないことを確認したときには(ステップS42においてNO)、バキューム処理を実行しない。
The
コピー部133は、参照データ1121、非参照データ1122を含む第2ファイル112を、データベース11からテンポラリメモリ12にコピーする(ステップS43)。
The
バキューム部132は、第2ファイル112がコピー処理中にデータベース11において更新されているかどうかを、コピー処理後にチェックする(ステップS44)。バキューム部132は、第2ファイル112がコピー処理中にデータベース11において更新されていることを確認する(ステップS45においてYES)。
The
すなわち、ユーザ端末2またはユーザ端末3は、コピー処理中に、サーバ1に更新データの書き込み指示を送信している。そして、サーバ1は、コピー処理中に、コミット処理を実行して、データベース11に更新データ1123を格納している。
That is, the user terminal 2 or the user terminal 3 transmits an update data write instruction to the
バキューム部132が参照データ1121を抽出して、上書き部134が参照データ1121を上書きするならば、すでにコミットされた更新データ1123は削除される。そこで、バキューム部132は、バキューム処理を実行しない。バキューム部132は、参照データ1121、非参照データ1122を、テンポラリメモリ12から削除する(ステップS52)。以上により第2ファイル112のバキューム処理が終了する。
If the
[第3ファイルのバキューム処理]
図7は、第3ファイル113のバキューム処理を示すタイムチャートである。ここで、第3ファイル113がデータベース11からテンポラリメモリ12にコピーされているときに、第3ファイル113がデータベース11において更新されない。しかし、第3ファイル113がテンポラリメモリ12においてバキュームされているときに、第3ファイル113がデータベース11において更新される。
[Vacuum processing of third file]
FIG. 7 is a time chart showing vacuum processing of the third file 113. Here, when the third file 113 is copied from the
バキューム部132は、バキューム処理タイミングが到来しているかどうかをチェックする(ステップS41)。図7においては、バキューム処理タイミングが到来している場合を示す(ステップS42においてYES)。バキューム部132は、バキューム処理タイミングが到来していないことを確認したときには(ステップS42においてNO)、バキューム処理を実行しない。
The
コピー部133は、参照データ1131、非参照データ1132を含む第3ファイル113を、データベース11からテンポラリメモリ12にコピーする(ステップS43)。
The
バキューム部132は、第3ファイル113がコピー処理中にデータベース11において更新されているかどうかを、コピー処理後にチェックする(ステップS44)。バキューム部132は、第3ファイル113がコピー処理中にデータベース11において更新されていないことを確認する(ステップS45においてNO)。
The
バキューム部132は、参照データ1131、非参照データ1132を含む第3ファイル113に対して、テンポラリメモリ12においてバキューム処理を実行する。バキューム部132は、参照データ1131をテンポラリメモリ12において抽出して、非参照データ1132をテンポラリメモリ12において削除する(ステップS46)。
The
バキューム部132は、第3ファイル113がバキューム処理中にデータベース11において更新されているかどうかを、バキューム処理後にチェックする(ステップS47)。バキューム部132は、第3ファイル113がバキューム処理中にデータベース11において更新されていることを確認する(ステップS48においてYES)。
The
すなわち、ユーザ端末2またはユーザ端末3は、バキューム処理中に、サーバ1に更新データの書き込み指示を送信している。そして、サーバ1は、バキューム処理中に、コミット処理を実行して、データベース11に更新データ1133を格納している。
That is, the user terminal 2 or the user terminal 3 transmits an update data write instruction to the
バキューム部132が参照データ1131を抽出して、上書き部134が参照データ1131を上書きするならば、すでにコミットされた更新データ1133は削除される。そこで、上書き部134は、上書き処理を実行しない。バキューム部132は、参照データ1131を、テンポラリメモリ12から削除する(ステップS52)。以上により第3ファイル113のバキューム処理が終了する。
If the
{本発明のまとめ}
バキューム部132は、テンポラリメモリ12に対して、バキューム処理を実行する。ユーザ端末2、3は、データベース11に対して、更新処理を実行する。サーバ1は、バキューム処理に長時間を必要とするときでも、バキューム処理により更新処理に悪影響を及ぼすことがなく、更新処理によりバキューム処理に悪影響を及ぼすことがない。
{Summary of the invention}
The
バキューム部132は、コピー処理中に更新処理が実行されたときには、バキューム処理を実行しない。上書き部134は、バキューム処理中に更新処理が実行されたときには、上書き処理を実行しない。サーバ1は、バキューム処理または上書き処理を誤って実行することにより、更新処理を誤って無効化することがない。
The
バキューム部132は、コピー処理中またはバキューム処理中に更新処理が実行されているかどうかを、それぞれコピー処理後またはバキューム処理後にチェックしてもよい。バキューム部132は、コピー処理中またはバキューム処理中に更新処理が実行されているかどうかを、それぞれコピー処理中またはバキューム処理中にチェックしてもよい。
The
前者のチェック方法では、バキューム部132は、コピー処理中またはバキューム処理中に更新処理の有無をチェックする負担をなくすことができる。後者のチェック方法では、バキューム部132は、コピー処理中またはバキューム処理中に更新処理の有無をチェックする負担をなくすことができないが、コピー処理中またはバキューム処理中に更新処理の無効化を防止する措置をより早期段階で採ることができる。
In the former check method, the
本発明は、様々なデータ格納装置に適用できる。たとえば、本発明は、デジタル複合機に適用できる。デジタル複合機は、文書データを受信したときに、文書データの格納先などのデータをデータベースに格納する。デジタル複合機は、文書データを印刷したときに、文書データの格納先などのデータをデータベースから削除する。ここで、デジタル複合機は、同時実行制御を利用することにより、参照に不必要なデータを格納することになる。しかし、デジタル複合機は、SQLiteなどのデータベース言語を開発言語に組み込んで本発明を適用することにより、参照に不必要なデータを削除することができる。 The present invention can be applied to various data storage devices. For example, the present invention can be applied to a digital multi-function peripheral. When receiving the document data, the digital multi-function peripheral stores data such as a storage destination of the document data in the database. When the digital multi-function peripheral prints document data, the digital multi-function peripheral deletes data such as a storage destination of the document data from the database. Here, the digital multi-function peripheral stores data unnecessary for reference by using the simultaneous execution control. However, the digital multi-function peripheral can delete data unnecessary for reference by incorporating the database language such as SQL Lite into the development language and applying the present invention.
1 サーバ
2、3 ユーザ端末
11 データベース
12 テンポラリメモリ
13 データベースマネージメントシステム
111 第1ファイル
112 第2ファイル
113 第3ファイル
131 アクセス部
132 バキューム部
133 コピー部
134 上書き部
DESCRIPTION OF
Claims (4)
テンポラリメモリと、
一のコミット前にコミットされたコミット前データと、前記一のコミット後にコミットされたコミット後データを、前記データベースから前記テンポラリメモリにコピーするコピー部と、
前記テンポラリメモリでコピーされた前記コミット前データと前記コミット後データから、前記コミット前データを削除して前記コミット後データを抽出するバキューム部と、
前記テンポラリメモリで抽出された前記コミット後データを、前記テンポラリメモリから前記データベースに上書きする上書き部と、
を備えることを特徴とするデータベースシステム。 A database,
Temporary memory,
A copy unit that copies pre-commit data committed before one commit and post-commit data committed after the one commit from the database to the temporary memory;
A vacuum unit for deleting the pre-commit data and extracting the post-commit data from the pre-commit data and the post-commit data copied in the temporary memory;
An overwriting unit for overwriting the post-commit data extracted in the temporary memory from the temporary memory to the database;
A database system comprising:
前記バキューム部は、
前記コピー部により前記コミット前データと前記コミット後データがコピーされているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの抽出を中止するバキューム中止部、
を含むことを特徴とするデータベースシステム。 The database system according to claim 1,
The vacuum part is
While the pre-commit data and the post-commit data are copied by the copy unit, the vacuum stop unit stops the extraction of the post-commit data when the post-commit data stored in the database is updated ,
A database system comprising:
前記上書き部は、
前記バキューム部により前記コミット後データが抽出されているなかで、前記データベースに格納されている前記コミット後データが更新されたときには、前記コミット後データの上書きを中止する上書き中止部、
を含むことを特徴とするデータベースシステム。 In the database system according to claim 1 or 2,
The overwriting unit is
While the post-commit data is extracted by the vacuum unit, when the post-commit data stored in the database is updated, an overwrite cancel unit that cancels overwriting of the post-commit data,
A database system comprising:
前記上書き部により前記コミット後データが上書きされているときには、前記データベースに排他的ロックをかける排他的ロック部、
を備えることを特徴とするデータベースシステム。 The database system according to any one of claims 1 to 3, further comprising:
When the post-commit data is overwritten by the overwriting unit, an exclusive lock unit that puts an exclusive lock on the database,
A database system comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008174134A JP2010015344A (en) | 2008-07-03 | 2008-07-03 | Database system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008174134A JP2010015344A (en) | 2008-07-03 | 2008-07-03 | Database system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010015344A true JP2010015344A (en) | 2010-01-21 |
Family
ID=41701414
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008174134A Withdrawn JP2010015344A (en) | 2008-07-03 | 2008-07-03 | Database system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010015344A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049394A (en) * | 2016-09-20 | 2018-03-29 | 株式会社東芝 | Database management device, database management method, and database management program |
CN108287835A (en) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | A kind of data clearing method and device |
-
2008
- 2008-07-03 JP JP2008174134A patent/JP2010015344A/en not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018049394A (en) * | 2016-09-20 | 2018-03-29 | 株式会社東芝 | Database management device, database management method, and database management program |
CN108287835A (en) * | 2017-01-09 | 2018-07-17 | 腾讯科技(深圳)有限公司 | A kind of data clearing method and device |
US11023448B2 (en) * | 2017-01-09 | 2021-06-01 | Tencent Technology (Shenzhen) Company Limited | Data scrubbing method and apparatus, and computer readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10664362B2 (en) | Recovery processing for database in persistent system | |
US7801855B2 (en) | Method and apparatus for merging log entries in a database management system | |
US8874515B2 (en) | Low level object version tracking using non-volatile memory write generations | |
US20140172791A1 (en) | Application of a differential dataset to a data store using sequential change sets | |
JP2008539515A (en) | Transaction transform | |
US8380660B2 (en) | Database system, database update method, database, and database update program | |
KR20120104302A (en) | Consistency without ordering dependency | |
JP2010015344A (en) | Database system | |
US9223806B2 (en) | Restarting a batch process from an execution point | |
JP5543918B2 (en) | Conflict resolution method for parallel database editing | |
JP2010061200A (en) | Document management system and operation history display method | |
JP4335299B2 (en) | Recording control apparatus and recording control method | |
US20130066835A1 (en) | Techniques for efficient file operations | |
US11822539B1 (en) | System and method for facilitating optimization of file upload operations via transaction transformation | |
CN111143277B (en) | Data processing method and device and electronic equipment | |
US8521776B2 (en) | Accessing data in a multi-generation database | |
US9355189B2 (en) | Determining dependencies during macro expansion | |
JP2009193284A (en) | Database processing apparatus | |
CN101739411A (en) | Method for managing mapping file version | |
WO2004031957A1 (en) | Database copying method, database copying apparatus, database creation method, and database creation apparatus | |
JPH11203186A (en) | Journal acquisition method | |
JP2009289129A (en) | Method, device, system and program for supporting software development | |
JP2006268389A (en) | Long transaction management device, long transaction management method and long transaction management program recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |