Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4623318B2 - 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム - Google Patents
[go: Go Back, main page]

JP4623318B2 - 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム - Google Patents

追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム Download PDF

Info

Publication number
JP4623318B2
JP4623318B2 JP2007013849A JP2007013849A JP4623318B2 JP 4623318 B2 JP4623318 B2 JP 4623318B2 JP 2007013849 A JP2007013849 A JP 2007013849A JP 2007013849 A JP2007013849 A JP 2007013849A JP 4623318 B2 JP4623318 B2 JP 4623318B2
Authority
JP
Japan
Prior art keywords
unnecessary area
data
tuple
page
unnecessary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007013849A
Other languages
English (en)
Other versions
JP2008181297A (ja
Inventor
輝聖 川畠
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 JP2007013849A priority Critical patent/JP4623318B2/ja
Publication of JP2008181297A publication Critical patent/JP2008181297A/ja
Application granted granted Critical
Publication of JP4623318B2 publication Critical patent/JP4623318B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラムに関し、特に、データベースの更新に伴うテーブルの不要領域の修復を効率よく行う追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラムに関する。
従来、データベースを管理するデータベース管理システムでは、トランザクションの同時実効性制御を考慮する必要があった。
このトランザクションとは、データベースにおいてデータを処理する為の一連の処理手続きのことを言う。
具体的には、コンピュータを用いてデータを処理する際、ハードウェアやソフトウェアの障害などが発生しても、全体に破綻をきたさないように、データの処理を確実に行うための論理ユニットのことを指す。
ここで、従来の追記型のストレージを持つデータベース管理システムでは、データベースの更新を行う際、更新前のデータと、更新後のデータとの両方を保持する多版式同時実行制御(Multi Version Concurrency Control)を用いている。
この追記型ストレージを用いた多版式同時実効制御では、問い合わせロックの獲得と、書き込みロックとの獲得が競合しないため、ロールバックやリカバリの実装が非常に単純になる。
しかしながら、この多版式同時実行制御は、削除や更新が発生するごとに古いデータが丸ごと不必要となり、古いデータが残存することにより、データを記憶する記憶領域を大きく消費していくという問題がある。
なお、追記型でない既存のデータベース管理システムであっても、削除や更新時にはデータを書き換えることにより不要領域が発生するので、追記型でない既存のデータベース管理システムの場合であっても追記型のデータベースより不要領域が大きくないものの、同様に不要領域が発生してしまう。
このような場合には、データベースのレコードを分割して格納することにより、不要領域の再利用を行うなどの機能が備わっているが、複数のブロックに1つのレコードを挿入する状態が発生し、挿入・更新に時間がかかってしまう場合がある。
なぜなら、データベースは、レコードの集合体であり、レコードは、1つのカードのようなものである。そのレコードには、フィールドと呼ばれる互いに関連する情報の断片を含んでいるため、1つのレコードに含まれる情報を、複数のブロックに分割することになるからである。
そこで、追記型のデータベース管理システムでは、定期的にデータベースの記録単位であるページごとに自動的に不要領域を詰め、利用可能な領域のページアドレスと利用可能領域サイズを記憶することによって、データを再利用するための処理が行われている。
また更に、不要領域が詰められたページにおいて、テーブルに対するデータ(以下、これをテーブルデータと言うことがある。)の更新件数の割合などによって、不要領域の修復処理(以下、これを不要領域修復処理という。)を自動的に行う方法なども行われている(非特許文献1参照)。
なお、ここで言うテーブルとは、データを記憶する為のオブジェクトであって、同じフィールドを共有しているレコードの集まりのことを言う。また、テーブルは、レコード(行)とフィールド(列)のオブジェクトによって管理されている。
しかしながら、このような従来技術では、不要領域の修復処理がテーブルにおける不要領域が発生した全てのページに対してスキャンが行われることにより、ディスクなどの処理負荷が高くなり、この不要領域修復処理は、ストレージ等を持つデータベースの記憶装置に、高い処理負荷を与えることとなり、他の処理に悪影響を与えるという問題があった。
また、この不要領域修復処理は、テーブルの更新行数(すなわち、レコード数)が、テーブル全体に対して一定の割合を超えた場合に不要領域の修復処理を行っていたので、不要領域の大きさとは何ら無関係に不要領域修復処理を行っていた。
従って、不要領域修復処理を行う際に、領域修復率が低い場合であっても不要領域修復処理を行っているという問題があった。
具体的には例えば、可変長のデータ定義がされた場合には、それぞれのテーブルデータのサイズが違うため、更新行数が不要領域サイズには必ずしも比例しない。そのため、全体としては不要領域が少なくても更新行数が多い場合には、不要領域修復処理が行われてしまう可能性があった。
また、ページの不要領域に偏りが生じている場合にも、領域の修復率が低いページに対してデータを詰める処理が発生し、非常に非効率になってしまうという問題があった。
そこで、このようなデータベース管理システムにおける不要領域のデータの取り扱いに関するものが、特許文献1乃至3に記載されている。
石井達夫著「PostgreSQL完全攻略ガイド 改定第5版」 技術評論社出版、2006年4月1日、pp.437−446 特開2000−137639号公報 特開2001−075832号公報 特開2004−303368号公報
しかしながら、特許文献1及び3に記載されたものを、従来の追記型データベース管理システムに適用したとしても、不要領域が大量にデータベースに蓄積した状態であって空き容量を確保し直す場合には、不要領域修復処理が複雑となり、ストレージであるディスクに相当な負担がかかることによって処理能力が低下し、他の処理に悪影響を与えるという問題が依然としてあった。
本発明は、上記問題点に鑑みてなされたものであり、データの更新に伴う不要領域修復処理を効率良く行う追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラムを提供することを目的とする。
本発明に係る追記型データベース管理システムは、データを記憶するデータベースを管理する追記型データベース管理システムにおいて、前記データを更新又は削除することにより前記データベース内に生じる不要領域を、当該データベースの記録単位であるページ毎に更新しながら管理する管理手段と、前記管理手段が前記ページ毎に管理する前記不要領域から当該不要領域のサイズを算出すると共に、当該不要領域のサイズと、前記データベース内における当該不要領域の位置とを、前記ページ毎に記憶する不要領域記憶手段と、前記ページに前記不要領域が発生した場合に、前記不要領域記憶手段に記憶された前記不要領域のサイズと、当該ページにおける前記不要領域の比率に基づいて、当該不要領域に属するデータを解放するか否かを判断する不要領域比率判断手段と、を備え、前記不要領域比率判断手段は、前記不要領域のサイズと、前記ページにおける前記不要領域の比率とに基づいて、予め設定された閾値を超えた場合には、当該ページの前記不要領域に属するデータを前記不要領域の位置から解放する不要領域解放処理手段を更に備えることを特徴とする。
また本発明に係る追記型データベース管理システムは、前記不要領域解放処理手段が、前記ページの前記不要領域に属するデータの実行ログであるトランザクション識別子と、システムの実行ログとして一番古く関わった最古トランザクションとを比較して、当該不要領域に属するデータが削除可能なタプルデータか否かを判断するタプルデータ有効性判断手段と、前記タプルデータ有効性判断手段により、前記トランザクション識別子が前記最古トランザクション識別子より古い場合には、前記不要領域に属するデータは、前記削除可能なタプルデータと判断されると共に、当該削除可能なタプルデータに対し削除予約を行うタプルデータ削除予約手段と、前記タプルデータ削除予約手段により、前記削除可能なタプルデータがある場合には、当該削除可能なタプルデータに割り当てられたインデックスデータの有無を判断するインデックスデータ判断手段と、前記インデックス判断手段により、前記削除可能なタプルデータに割り当てられた前記インデックスデータが有った場合には、当該インデックスデータを削除するインデックスデータ削除手段と、を備え、前記インデックス判断手段は、前記インデックスデータ削除手段によって前記インデックスデータが無くなった場合又は前記インデックスデータが前記削除可能なタプルデータに無かった場合には、当該削除可能なタプルデータを解放して空き領域を確保するようにしても良い。
また本発明に係る追記型データベース管理システムは、前記管理手段が前記ページを更新することにより、前記データベースに記憶された前記データを更新する場合であって、更新により前記データベースに新たに追記するタプルデータのレコードを、追記タプルデータ長として算出するタプル長算出手段、を更に備え、前記タプル長算出手段によって前記追記タプルデータ長が算出されることにより、確保された前記空き領域に、当該追記タプルデータ長の前記タプルデータのレコードを挿入可能な場合には、当該空き領域に挿入すると共に、挿入された当該タプルデータの前記ページを更新し、算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの最終ページに当該タプルデータ長の前記タプルデータを挿入できる場合には、当該最終ページに挿入し、算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの前記最終ページに前記タプルデータ長の前記タプルデータを挿入できない場合には、前記データベースに新規ページを確保して、当該タプルデータ長の前記タプルデータを追記するようにしても良い。
また本発明に係る追記型データベース管理システムは、前記管理手段が、前記データベース内に生じる前記不要領域を、前記データのテーブル毎に合計しながら管理するテーブル合計管理手段と、前記テーブル合計管理手段が、当該テーブル毎の前記不要領域のサイズを更新しながら記憶するテーブル不要領域記憶手段と、を更に備え、前記テーブル合計管理手段は、前記テーブル毎の前記不要領域のサイズと、前記テーブルにおける前記不要領域の比率とに基づいて、前記不要領域解放処理手段を開始する開始閾値、又は前記不要領域解放処理手段を終了する終了閾値の少なくとも一方を備えると共に、前記開始閾値又は前記終了閾値によって前記不要領域解放処理手段を制御するようにしても良い。
また本発明に係る追記型データベース管理システムは、前記不要領域比率判断手段が、前記ページに前記不要領域が発生した場合であって、前記予め設定された閾値を超えた場合には、前記不要領域解放処理手段を実施するための予約を行う不要領域解放処理予約手段を更に備え、前記不要領域解放処理予約手段は、前記データベースの処理負荷に基づいて、前記不要領域解放処理手段を制御するようにしても良い。
本発明によれば、データベース内に発生する不要領域をデータベースの記録単位であるページ毎に管理すると共に、発生した不要領域のサイズと、ページにおける不要領域の比率とに基づいて、予め設定された閾値を超えた場合には、閾値を超えたそのページに対して不要領域解放処理を行うことができる。従って、不要領域のサイズが、閾値を超えたページに限定して不要領域修復処理を行うことができるので、かくして、データの更新に伴う不要領域修復処理を効率良く行う追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラムを実現できる。
次に、本発明の実施の形態の構成について図面を参照して詳細に説明する。
(第1の実施の形態)
(1)第1の実施の形態による追記型データベース管理システム
(1−1)追記型データベース管理システムの構成
図1を参照すると、第1の実施の形態による追記型データベース管理システムは、データベースクライアント1と、データベースクライアント1が接続されるデータベース管理システム2と、データベースを記憶する記憶装置3とを備えている。
データベース管理システム2は、クエリ管理部21と、トランザクション管理部22と、ストレージ管理部23とを備えている。
クエリ管理部21は、クエリ解析部211と、実行計画作成部212とを備えている。
クエリ解析部211は、データベースクライアントから渡されたクエリを解析し、その結果を実行計画作成部212に渡す。
実行計画作成部212は、トランザクション管理部22やストレージ管理部23での実行計画を作成する。
トランザクション管理部22は、トランザクション制御管理部221を備えている。
トランザクション制御管理部221は、後述するトランザクションの有効状態をストレージ管理部23のタプル管理部233が有するタプルデータ、及びトランザクション情報記憶部33のコミット状態情報から、タプルが有効な状態か無効な状態かの判定を行う。
ここでタプルとは、いくつかの値を1つにまとめて、あたかも1つの値のように扱う機能のことであり、表における行に相当する。また、タプルデータとは、タプルの機能によって割り当てられるデータのことを言う。
ストレージ管理部23は、インデックス管理部231と、ページ管理部232(本発明における管理手段に該当する。)と、タプル管理部233(本発明における管理手段に該当する。)と、空き容量管理部234(本発明における不要領域比率判断手段に該当する。)と、統計情報管理部235とを備えている。
インデックス管理部231は、後述するタプルイメージをタプル管理部233より受け取り、インデックスデータの作成・削除などを行う。また、インデックス管理部231は、作成したインデックスデータを、後述するインデックスデータ記憶部31へ入出力を行い管理する。
ページ管理部232は、タプル管理部233から後述するタプルイメージを受け取ると共にページの作成を行い、そのページのデータ(以下、これをページデータと言う。)をテーブルデータとして、後述するテーブルデータ記憶部32へ入出力する。また、ページ管理部232は、不要領域修復処理なども行う。
タプル管理部233は、クエリ管理部21やトランザクション管理部22から受け取った情報により、タプルイメージの生成やページ管理部232から受け取ったページデータからタプルデータの取得を行う。また、タプルの生成や抽出した情報から、後述するトランザクション情報のトランザクション情報記憶部33へ入出力を行う。
ここで、タプルイメージとは、タプルデータとタプル機能とによって生成される、ページデータに相当するテーブルデータに対応するものである。
空き容量管理部234は、更新や削除によって生じた不要領域を含むページ情報と、不要領域のサイズ情報とを、後述するページ不要領域情報記憶部35へ入出力を行う。
統計情報管理部235は、テーブルの定義や、テーブルデータサイズ、ページサイズ、ページ不要領域修復処理開始閾値、空き容量を持っているページアドレスとサイズ、最古トランザクション識別子などといったデータベースの全体情報を管理する。また、それらのデータベース統計情報記憶部34への入出力を行う。
記憶装置3は、インデックスデータ記憶部31と、テーブルデータ記憶部32と、トランザクション情報記憶部33と、データベース統計情報記憶部34と、ページ不要領域情報記憶部35(本発明における不要領域記憶手段に該当する。)とを備えている。
インデックスデータ記憶部31は、テーブルにインデックスが作成されている場合のインデックスデータを記憶する。
テーブルデータ記憶部32は、データベースのテーブルデータを、ページと呼ばれる単位で記憶する。
トランザクション情報記憶部33は、各トランザクションを一意に示すためのトランザクション識別子(図示する場合、これをトランザクションIDと言うことがある。)によって、トランザクション別の状態情報を記憶する。
データベース統計情報記憶部34は、データベース管理システムの実行中の全トランザクションにおいて、一番古いコミット済みトランザクション識別子(これを、最古トランザクション識別子という。)、テーブルの定義や、テーブルデータサイズ、ページサイズ、ページ不要領域修復処理開始閾値、空き容量を持っているページアドレスとサイズなどを記憶する。
ページ不要領域情報記憶部35は、テーブルデータ記憶部32に記憶されているテーブルデータに対して更新や削除が実行された際に発生したページ毎の不要領域合計サイズを記憶する。
(1−2)追記型データベース管理システムの不要領域修復処理
次に、図1のブロック図と、図2及び図3のフローチャートを参照して、第1の実施の形態による追記型データベース管理システムの不要領域修復処理について、詳細に説明する。
なお、第1の実施の形態では、対象となるデータベースの操作を多版式同時実行制御(Multi Version Concurrency Control)により、不要領域が発生した場合の不要領域の削除と、更新のクエリの動作のみに限って説明を行う。
まず、データベース管理システム2(図1)は、データベースクライアント1(図1)から、更新のクエリを受ける。
次に、クエリ管理部21がクエリを受け取ると、クエリ解析部211が、そのクエリの解析を行う。
そして、実行計画作成部212が実行計画を作成し、その情報(すなわち作成された実行計画である。)を、ストレージ管理部23へ送る(図2のステップA1)。
ストレージ管理部23は、トランザクションの多版式同時実行制御を行うため、トランザクション管理部22のトランザクション制御管理部221によって、トランザクション識別子(図2では、これをトランザクションIDと記載する。)を受け取る(図2のステップA2)。
ここで、先に受け取ったクエリが、更新であるか或いは削除であるかによって動作が変わる(図2のステップA3)。
もし先に受け取ったクエリが更新の場合には、タプル管理部233(図1)によってタプルイメージを作成し、ページ管理部232(図1)により、そのタプルイメージをテーブルデータとしてテーブルデータ記憶部32に書込みを行う。
ここで、作成されたタプルイメージにインデックスが有る場合には、インデックス管理部231がインデックスデータ記憶部31に、作成されたタプルイメージのインデックスの書込みを行う(図2のステップA4)。
これに対し、先に受け取ったクエリが削除であった場合、或いは更新データの書込みが終了した場合には、タプル管理部233によって作成されたタプルイメージに、削除フラグとトランザクション識別子を書き込み(図2のステップA5)、そのタプルイメージをテーブルデータとしてページ管理部232によってテーブルデータ記憶部32に書き込む(図2のステップA6)。
これにより、現在のトランザクション識別子によって削除された状態になる。
また、空き容量管理部234は、ステップA5において、削除フラグを立てたタプルイメージのページアドレスとタプルイメージのサイズを記憶しておき、ステップA6において、削除されたページアドレスとタプルイメージのデータのサイズから、ページごとの合計不要領域サイズが記憶されているページ不要領域情報記憶部35へ更新を行う。
タプル管理部233は、トランザクションが終了したことを記録するため、トランザクション情報記憶部33に対して、トランザクション識別子にコミットされた情報を書き込む。また、タプル管理部233は、統計情報管理部235(図1)を介して、データベース統計情報記憶部34に記憶していた最古トランザクション識別子の更新が行える場合には、更新情報を書き込む(図2のステップA7)。
その後、空き容量管理部234は、統計情報管理部235からページのサイズやページ不要領域修復処理開始閾値を取得し、ステップA4において更新を行ったページの不要領域サイズ比率が閾値を超えているか否か、ページ不要領域情報記憶部35に記憶されている情報から、ページ毎に調査する(図2のステップA8〜A9)。
ここで、更新済みのページであって(ステップA8)、その更新済みのページにおいてページ不要領域の比率を判断し(ステップA9)、閾値の比率を超えていれば、そのページに対して後述する不要領域解放処理を行う(図2のステップB)。
そして、ステップBによる不要領域解放処理が終了したか、或いはステップA9で閾値の比率を超えていなければ、この次のページの処理を行うためにステップA8に戻る。
このように、全ての更新されたページに対して、ページ不要領域の比率の確認が終了した時点で、当初に受け取ったクエリの処理は終了とする。
(1−3)追記型データベース管理システムの不要領域解放処理(ステップB)
次に、不要領域解放処理(図2のステップB)について、図3のフローチャートを用いて説明する。
まず、ページ管理部232(図1)とタプル管理部233(図1)は、テーブルデータ記憶部32(図1)から獲得した不要領域解放を行うページに対して、タプル領域を一番目から検査していく(図3のステップB1)。
ここで、ページ内に未検査のタプルが有る場合は、データベース統計情報記憶部34を通じて最古トランザクション識別子を参照する。
そして、トランザクション制御管理部221は、タプルのトランザクション識別子と最古トランザクション識別子とを比較して、タプルのトランザクション識別子が最古トランザクション識別子よりも古いと判定されれば、削除可能となる(図3のステップB2)。
また、削除可能な場合には、ストレージ管理部23が、タプルの位置情報を削除予約リストに格納する(図3のステップB3)。
このように、図3のステップB1からステップB3を繰り返し、ページに格納されている全てのタプルについて検査を行う。
全てのタプルについて検査が終了すると、図3のステップB3で確認された削除予約リストに、タプル削除情報が格納されているかを確認する(図3のステップB4)。
ここで、削除予約リストに削除対象タプルが存在する場合には、テーブルのインデックスの有無を検査する(図3のステップB5)。
そして、削除対象タプルにインデックスが存在する場合には、インデックス管理部231が、ページに含まれる削除対象タプルのインデックス情報(すなわち、インデックスデータに相当する。)を削除する(図3のステップB6)。
これにより、インデックス情報がなかった場合、又は全てのインデックス情報の削除が完了した場合には、ページ管理部232がページの空き領域を確保する(図3のステップB7)。
空き容量管理部234は、統計情報管理部235を介して、データベース統計情報記憶部34に確保した空き領域とページ番号を記憶し、空き領域と領域情報を更新する(図3のステップB8)。
ここで、空き領域の確保(図3のステップB7)について、具体例として図4において説明を行うことにする。
図4を参照すると、空き領域の解放前ページ4には、ページ管理情報41と、タプルデータ42とが含まれている。
また、タプルデータ42には、有効タプルデータ421と、424とを有すると共に、削除可能タプルデータ422と、423と及び425が存在している。
ページ管理情報41には、タプルデータ421から425の有効性情報が格納されている。そして、解放前ページ4から空き領域の確保を行ったものが空き領域解放後ページ5となる。
ページ管理部232は、有効タプルデータ421、424を順に後ろから揃えると共に、ページ管理情報41に削除可能として管理されている、削除可能タプルデータ422と、423及び425のタプルデータを無効化し、ページ管理情報51に書き換える。
つまり、有効タプルデータ421のデータが有効タプルデータ521と、有効タプルデータ424のデータが有効タプルデータ522と、等しいデータになっている。
これにより有効なタプルデータのみが残り、空き領域を適切に確保することができる。
(1−4)追記型データベース管理システムの確保領域追記処理
次に、この確保した空き領域を利用した確保領域追記処理について、図5に示すフローチャートによって説明を行う。
データベースであるテーブルデータ記憶部32にテーブルデータの挿入及び更新により、データ追記が発生したら、ストレージ管理部23が追記対象のタプルデータを、ひとつずつ操作していく(図5のステップC1)。
まず、タプル管理部233は、追記対象であるタプルデータのタプル長を算出する(図5のステップC2)。
そして、そのタプル長が、再利用領域で格納できるページが存在するか否か、空き容量管理部234によって確認する(図5のステップC3)。
ここで、もし再利用可能なページが存在した場合には、ページ管理部232がテーブルデータ記憶部32の対象ページに追記対象のタプルデータを挿入する(図5のステップC4)。
その後、空き容量管理部234が再利用領域情報へ利用したページのサイズ情報を更新する(図5のステップC5)。
これに対し、再利用領域に格納できるページが存在しない場合には、ページ管理部232が最終ページに追記対象のタプルデータの挿入ができるか否か、確認を行う(図5のステップC6)。
もし、その追記対象のタプルデータが挿入できる場合には、最終ページにその追記対象のタプルデータの挿入を行う(図5のステップC7)。
一方、最終ページにおいて、追記対象のタプルデータを挿入できない場合には、新しいページを確保して、その追記対象のタプルデータの挿入を行う(図5のステップC8)。
以上のステップC1からステップC8を繰り返し、全てのタプルデータの挿入が終われば、終了となる。
(1−5)追記型データベース管理システムの効果
本実施の形態では、空き容量管理部234が、更新や削除によって発生した不要領域を、ページ不要領域情報記憶部35に、ページごとに記憶するように構成されているので、テーブルデータの更新や削除によって、ページごとの不要領域を管理し、記憶する。
これにより、ページごとの自動的な不要領域修復と再利用を効率的に実施することができる。また、運用状況により、ページ不要領域修復処理開始閾値を小さくすることにより、不要容量を発生させにくくさせることができ、或いは、ページ不要領域修復処理開始閾値を大きくすることにより、不要領域解放処理を効率の高いページに限定することもできる。
このように、本実施の形態によれば、不要領域となったサイズをデータベースの記録単位であるページごとに管理していることにより、不要領域修復を行う対象のページを、不要領域の比率が予め設定された閾値以上のページに限定して行うことができるので、効率の良い不要領域修復処理ができることにある。
更に、本実施の形態によれば、不要領域解放処理を不要領域が発生した全てのページに対して行わず、削除や更新により不要領域が発生する毎に、その際、不要領域の比率の閾値を超えたページにのみ不要領域修復処理を行うことができるので、不要領域修復処理を分散化させることができる。
(第2の実施の形態)
(2)第2の実施の形態による追記型データベース管理システム
(2−1)追記型データベース管理システムの構成
次に、第2の実施の形態による追記型データベース管理システムについて説明する。
図6を参照すると、第2の実施の形態による追記型データベース管理システムでは、第1の実施の形態における構成に加え、更に記憶装置6が、テーブル不要領域情報記憶部61を備えている。
テーブル不要領域情報記憶部61には、ページ不要領域情報記憶部35で記憶されている不要領域サイズのテーブル毎の合計が、記録されている。
また、データベース統計情報記憶部34には、テーブル不要領域修復処理開始閾値と、テーブル不要領域修復終了閾値とが保存されている。
但し、ここでは、具体例として、テーブル不要領域修復処理開始閾値が、テーブル不要領域修復処理終了閾値よりも大きい値であるものとする。
(2−2)追記型データベース管理システムの不要領域修復処理
次に、第2の実施の形態における不要領域修復処理について、図6及び図7のフローチャートを参照しながら、詳細に説明する。
図7のフローチャートにおいて、ステップA1からA6及びステップA7、またステップBで示される第2の実施の形態におけるクエリ解析部211、実行計画作成部212、トランザクション制御管理部221、インデックス管理部231、ページ管理部232、タプル管理部233、空き容量管理部234及び統計情報管理部235の動作は、第1の実施の形態で示した動作と同一であるため、説明は省略する。
第1の実施の形態では、空き容量管理部234が管理していたものは、ページ毎の不要領域のサイズのみであった。
これに対し、第2の実施の形態では、ステップA6においてページサイズ情報の更新の後、空き容量管理部234が、テーブルにおける合計不要領域サイズを、テーブル不要領域情報記憶部61に更新する。
すなわち、空き容量管理部234は、参照しているテーブルのページ不要領域情報記憶部35で保存している不要領域サイズの総和と等しい値を更新する(図7のステップD1)。
そして、図7のステップA7におけるトランザクションのコミットログを書込み後、空き容量管理部234は、統計情報管理部235からテーブルのサイズやテーブル不要領域修復処理開始閾値を取得すると共に、テーブル不要領域情報記憶部61から合計テーブル不要容量サイズを取得する。そして、空き容量管理部234は、テーブルの不要領域比率(以下、テーブル不要領域比率と言う。)がテーブル不要領域修復処理開始閾値を超えていないか確認する(図7のステップD2)。
ここで、テーブル不要領域比率が、テーブル不要領域修復処理開始閾値を超えている場合には、ページ不要領域情報記憶部35から一番大きい不要領域サイズを持っているページを調査し、そのページに対して不要領域解放処理(ステップB)を行う。
そして、不要領域解放処理(ステップB)を行った後、ステップD3へ戻り、先のテーブル不要領域比率が、データベース統計情報記憶部34に記憶されているテーブル不要領域修復終了閾値より小さいか否かを判断し、小さければ終了となる。
ここで、具体的に検討すると、例えば、テーブル不要領域修復処理開始閾値が30%であるとし、テーブル不要領域修復処理終了閾値が10%であるとする。
もし、例えば、ステップD2において、あるテーブル不要領域比率が32%であった場合には、図7のステップD3へ進むと共に、テーブル不要領域修復処理終了閾値が10%であるので、ステップD4へ進む。また、ステップD4では、一番大きい不要領域サイズを持つページを調査し、不要比率の高いページを検索した後にステップBへ移り、不要領域解放処理を実施する。
この場合、例えば、一番大きい不要領域サイズを持つページに対して不要領域解放処理(ステップB)を行ったことにより、32%であったテーブル不要領域比率が、ステップD3において、テーブル不要領域修復処理終了閾値である10%より小さくなった場合に、終了となる。
これに対し、ステップD3において、テーブル不要領域比率が、テーブル不要領域修復終了閾値である10%よりもまだ大きい場合には、次に大きい不要領域サイズを持っているページを調査し(図7のステップD4)、そのページに対して不要領域解放処理(ステップB)を行う。
そして、不要領域解放処理(ステップB)が終了するとステップD3に戻り、テーブル不要領域の比率を判断し、テーブル不要領域修復終了閾値(上述の例では、10%)を満たすまで不要領域解放処理(ステップB)を繰り返す。
なお、第2の実施の形態では、図7に示したステップD2及びD3の処理に特徴を有しており、確保した空き領域を利用したデータの確保領域追記処理については、第1の実施の形態の場合(1−4)と同一であるため、説明は省略する。
また或いは、ステップD2とステップD3の間に、ステップD4とステップBを設け、テーブル不要領域修復処理開始閾値(例えば、30%)を満たしていない場合に、もっとも大きい不要領域サイズを有するページを調査し(ステップD4)、そのページに対して不要領域解放処理(ステップB)を行い、テーブル不要領域修復処理終了閾値(例えば、10%)を満たすような処理を追加しても良い。
(2−3)追記型データベースシステムの効果
第2の実施の形態では、テーブル不要領域修復処理開始閾値と、テーブル不要領域修復終了閾値とを設けることにより、テーブル全体での不要容量の比率によって不要容量修復のタイミングを自動的に計ることができる。
また、第1の実施の形態と同様に、空き容量管理部234が、ページ不要領域情報記憶部35に更新や削除によって発生した不要容量を、ページごとに記憶するように構成されているので、効率性の高いページから不要容量修復を行うことができる。
また、運用状況により、第1の実施の形態で示したように、テーブル不要領域修復処理開始閾値を小さくすることによって、不要容量を発生させにくくさせることができると共に、テーブル不要領域修復処理終了閾値の大きくすることによって、不要容量修復の負荷をできるだけ小さくすることもできる。
(3)第3の実施の形態による追記型データベース管理システム
(3−1)追記型データベース管理システムの構成
第3の実施の形態における構成は、第1の実の形態の場合と同様であり、図1と同一であるが、ページ管理部232がオペレーティングシステムを通じてディスクの負荷や処理状況などを監視する点と、不要領域修復の開始条件となるディスク負荷閾値を有する点で異なる。
(3−2)追記型データベースシステムの不要領域修復処理
次に、第3の実施の形態における不要領域修復処理について、図8及び図9のフローチャートを参照しながら、詳細に説明する。
図8のフローチャートにおいて、ステップA1からA8及びA9で示される第3の実施の形態におけるクエリ解析部211、実行計画作成部212、トランザクション制御管理部221、インデックス管理部231、ページ管理部232、タプル管理部233、空き容量管理部234及び統計情報管理部235の動作は、第1の実施の形態で示した動作と同一であるため、説明は省略する。
第1の実施の形態では、不要領域サイズ比率が閾値を超えていた場合、その比較の後にステップBによる不要領域解放処理によって不要領域の修復を行っていた。
これに対し、第3の実施の形態では、ステップA9において不要領域比率の調査後に、不要領域サイズ閾値を超えていた場合には、そのページに対する不要領域修復の予約を、対象ページ位置と共にページ管理部232が覚えておく(図8のステップE1)。
次に、図9のフローチャートを参照すると、また、ページ管理部232は、一定時間ごとや指定された時間帯に不要領域修復の予約が登録されているかどうかを確認する。(図9のステップF1)。
ここで、不要領域修復の予約が登録されている場合には、ページ管理部232は、オペレーティングシステムを通じてディスクの負荷や処理状況を調べる(図9のステップF2)。
そして、一定時間の間、ディスク負荷が、ディスク負荷閾値を超えた場合には、ディスク負荷が、ディスク負荷閾値を下回り続けるまで待機する(図9のステップF3)。
このように、ディスク負荷が下がるまで待機することにより(図9のステップF3)、ディスク負荷がディスク負荷閾値を下回り続けた場合、或いはステップF2においてディスク負荷が低い場合には、不要領域解放処理を行う(図9のステップB)。
ステップBの不要領域解放処理が終了すると、ステップF1に戻り、不要領域修復の予約が無くなるまで一連の流れを続け、不要領域解放処理の予約が無くなれば、第3の実施の形態における不要領域修復処理は、終了となる。
なお、不要領域解放処理や、確保した空き領域を利用した確保領域追記処理については、第1の実施の形態のものと同一であるため、説明は省略する。
(3−3)追記型データベースの効果
本実施の形態では、不要領域修復の実施タイミングについて、ディスク負荷が低いときに自動的に行うことが出来る。
これにより、第1の実施の形態で示したように、ページ単位で不要領域修復のために領域修復対象範囲を少なくしている上、更にディスク負荷が低いときに不要領域を修復させることから、データベースの他の操作や同計算機上で動いている他のアプリケーションへの影響を最小限にとどめることが出来る。
また、事前にデータベースやその他アプリケーションの影響範囲が低い時間帯が分かっている場合には、この不要領域修復の実行時期を予め指定しておくことにより、不要領域修復の影響をさらに限定的にすることも出来る。
本発明における第1の実施の形態による追加型データベース管理システムの構成を示すブロック図である。 本発明における第1の実施の形態による不要領域修復処理を表すフローチャートである。 本発明における第1の実施の形態による不要領域解放処理を表すフローチャートである。 本発明における第1の実施の形態による空き領域の確保を具体例で示した図である。 本発明における第1の実施の形態による確保領域追記処理を表すフローチャートである。 本発明における第2の実施の形態による追加型データベース管理システムの構成を示すブロック図である。 本発明における第2の実施の形態による不要領域修復処理を表すフローチャートである。 本発明における第3の実施の形態による不要領域修復処理を表すフローチャートである。 本発明における第3の実施の形態による不要領域解放処理を解放処理予約の有無によって実行するフローチャートである。
符号の説明
1 データベースクライアント
2 データベース管理システム
3、6 記憶装置
4 解放前ページ
5 解放後ページ
21 クエリ管理部
22 トランザクション管理部
23 ストレージ管理部
31 インデックスデータ記憶部
32 テーブルデータ記憶部
33 トランザクション情報記憶部
34 データベース統計情報記憶部
35 ページ不要領域情報記憶部
41、51 ページ管理情報
42 タプルデータ
61 テーブル不要領域情報記憶部
211 クエリ解析部
212 実行計画作成部
221 トランザクション制御管理部
231 インデックス管理部
232 ページ管理部
233 タプル管理部
234 空き容量管理部
235 統計情報管理部
421、423、424 有効タプルデータ
422、425 削除可能タプルデータ
521、522 有効タプルデータ

Claims (15)

  1. データを記憶するデータベースを管理する追記型データベース管理システムにおいて、
    前記データを更新又は削除することにより前記データベース内に生じる不要領域を、当該データベースの記録単位であるページ毎に更新しながら管理する管理手段と、
    前記管理手段が前記ページ毎に管理する前記不要領域から当該不要領域のサイズを算出すると共に、当該不要領域のサイズと、前記データベース内における当該不要領域の位置とを、前記ページ毎に記憶する不要領域記憶手段と、
    前記ページに前記不要領域が発生した場合に、前記不要領域記憶手段に記憶された前記不要領域のサイズと、当該ページにおける前記不要領域の比率に基づいて、当該不要領域に属するデータを解放するか否かを判断する不要領域比率判断手段と、を備え、
    前記不要領域比率判断手段は、
    前記不要領域のサイズと、前記ページにおける前記不要領域の比率とに基づいて、予め設定された閾値を超えた場合には、当該ページの前記不要領域に属するデータを前記不要領域の位置から解放する不要領域解放処理手段
    を更に備えることを特徴とする追記型データベース管理システム。
  2. 前記不要領域解放処理手段は、
    前記ページの前記不要領域に属するデータの実行ログであるトランザクション識別子と、システムの実行ログとして一番古く関わった最古トランザクションとを比較して、当該不要領域に属するデータが削除可能なタプルデータか否かを判断するタプルデータ有効性判断手段と、
    前記タプルデータ有効性判断手段により、前記トランザクション識別子が前記最古トランザクション識別子より古い場合には、前記不要領域に属するデータは、前記削除可能なタプルデータと判断されると共に、当該削除可能なタプルデータに対し削除予約を行うタプルデータ削除予約手段と、
    前記タプルデータ削除予約手段により、前記削除可能なタプルデータがある場合には、当該削除可能なタプルデータに割り当てられたインデックスデータの有無を判断するインデックスデータ判断手段と、
    前記インデックス判断手段により、前記削除可能なタプルデータに割り当てられた前記インデックスデータが有った場合には、当該インデックスデータを削除するインデックスデータ削除手段と、を備え、
    前記インデックス判断手段は、前記インデックスデータ削除手段によって前記インデックスデータが無くなった場合又は前記インデックスデータが前記削除可能なタプルデータに無かった場合には、当該削除可能なタプルデータを解放して空き領域を確保する
    ことを特徴とする請求項1記載の追記型データベース管理システム。
  3. 前記管理手段が前記ページを更新することにより、前記データベースに記憶された前記データを更新する場合であって、
    更新により前記データベースに新たに追記するタプルデータのレコードを、追記タプルデータ長として算出するタプル長算出手段、を更に備え、
    前記タプル長算出手段によって前記追記タプルデータ長が算出されることにより、確保された前記空き領域に、当該追記タプルデータ長の前記タプルデータのレコードを挿入可能な場合には、当該空き領域に挿入すると共に、挿入された当該タプルデータの前記ページを更新し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの最終ページに当該タプルデータ長の前記タプルデータを挿入できる場合には、当該最終ページに挿入し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの前記最終ページに前記タプルデータ長の前記タプルデータを挿入できない場合には、前記データベースに新規ページを確保して、当該タプルデータ長の前記タプルデータを追記する
    ことを特徴とする請求項2記載の追記型データベース管理システム。
  4. 前記管理手段が、前記データベース内に生じる前記不要領域を、前記データのテーブル毎に合計しながら管理するテーブル合計管理手段と、
    前記テーブル合計管理手段が、当該テーブル毎の前記不要領域のサイズを更新しながら記憶するテーブル不要領域記憶手段と、を更に備え、
    前記テーブル合計管理手段は、
    前記テーブル毎の前記不要領域のサイズと、前記テーブルにおける前記不要領域の比率とに基づいて、前記不要領域解放処理手段を開始する開始閾値、又は前記不要領域解放処理手段を終了する終了閾値の少なくとも一方を備えると共に、
    前記開始閾値又は前記終了閾値によって前記不要領域解放処理手段を制御する
    ことを特徴とする請求項1記載の追記型データベース管理システム。
  5. 前記不要領域比率判断手段は、
    前記ページに前記不要領域が発生した場合であって、前記予め設定された閾値を超えた場合には、前記不要領域解放処理手段を実施するための予約を行う不要領域解放処理予約手段を更に備え、
    前記不要領域解放処理予約手段は、
    前記データベースの処理負荷に基づいて、前記不要領域解放処理手段を制御する
    ことを特徴とする請求項1記載の追記型データベース管理システム。
  6. データを記憶するデータベースを管理する追記型データベース管理システムにおける不要領域修復処理方法であって、
    前記データを更新又は削除することにより前記データベース内に生じる不要領域を、当該データベースの記録単位であるページ毎に更新しながら管理する管理ステップと、
    前記管理ステップにおいて前記ページ毎に管理する前記不要領域から当該不要領域のサイズを算出すると共に、当該不要領域のサイズと、前記データベース内における当該不要領域の位置とを、前記ページ毎に記憶する不要領域記憶ステップと、
    前記ページに前記不要領域が発生した場合に、前記不要領域記憶ステップに記憶された前記不要領域のサイズと、当該ページにおける前記不要領域の比率に基づいて、当該不要領域に属するデータを解放するか否かを判断する不要領域比率判断ステップと、を備え、
    前記不要領域比率判断ステップは、
    前記不要領域のサイズと、前記ページにおける前記不要領域の比率とに基づいて、予め設定された閾値を超えた場合には、当該ページの前記不要領域に属するデータを前記不要領域の位置から解放する不要領域解放処理ステップ
    を更に備えることを特徴とする不要領域修復処理方法。
  7. 前記不要領域解放処理ステップは、
    前記ページの前記不要領域に属するデータの実行ログであるトランザクション識別子と、システムの実行ログとして一番古く関わった最古トランザクションとを比較して、当該不要領域に属するデータが削除可能なタプルデータか否かを判断するタプルデータ有効性判断ステップと、
    前記タプルデータ有効性判断ステップにより、前記トランザクション識別子が前記最古トランザクション識別子より古い場合には、前記不要領域に属するデータは、前記削除可能なタプルデータと判断されると共に、当該削除可能なタプルデータに対し削除予約を行うタプルデータ削除予約ステップと、
    前記タプルデータ削除予約ステップにより、前記削除可能なタプルデータがある場合には、当該削除可能なタプルデータに割り当てられたインデックスデータの有無を判断するインデックスデータ判断ステップと、
    前記インデックス判断ステップにより、前記削除可能なタプルデータに割り当てられた前記インデックスデータが有った場合には、当該インデックスデータを削除するインデックスデータ削除ステップと、を備え、
    前記インデックス判断ステップは、前記インデックスデータ削除ステップによって前記インデックスデータが無くなった場合又は前記インデックスデータが前記削除可能なタプルデータに無かった場合には、当該削除可能なタプルデータを解放して空き領域を確保する
    ことを特徴とする請求項6記載の不要領域修復処理方法。
  8. 前記管理ステップが前記ページを更新することにより、前記データベースに記憶された前記データを更新する場合であって、
    更新により前記データベースに新たに追記するタプルデータのレコードを、追記タプルデータ長として算出するタプル長算出ステップ、を更に備え、
    前記タプル長算出ステップによって前記追記タプルデータ長が算出されることにより、確保された前記空き領域に、当該追記タプルデータ長の前記タプルデータのレコードを挿入可能な場合には、当該空き領域に挿入すると共に、挿入された当該タプルデータの前記ページを更新し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの最終ページに当該タプルデータ長の前記タプルデータを挿入できる場合には、当該最終ページに挿入し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの前記最終ページに前記タプルデータ長の前記タプルデータを挿入できない場合には、前記データベースに新規ページを確保して、当該タプルデータ長の前記タプルデータを追記する
    ことを特徴とする請求項7記載の不要領域修復処理方法。
  9. 前記管理ステップが、前記データベース内に生じる前記不要領域を、前記データのテーブル毎に合計しながら管理するテーブル合計管理ステップと、
    前記テーブル合計管理ステップが、当該テーブル毎の前記不要領域のサイズを更新しながら記憶するテーブル不要領域記憶ステップと、を更に備え、
    前記テーブル合計管理ステップは、
    前記テーブル毎の前記不要領域のサイズと、前記テーブルにおける前記不要領域の比率とに基づいて、前記不要領域解放処理ステップを開始する開始閾値、又は前記不要領域解放処理ステップを終了する終了閾値の少なくとも一方を備えると共に、
    前記開始閾値又は前記終了閾値によって前記不要領域解放処理ステップを制御する
    ことを特徴とする請求項6記載の不要領域修復処理方法。
  10. 前記不要領域比率判断ステップは、
    前記ページに前記不要領域が発生した場合であって、前記予め設定された閾値を超えた場合には、前記不要領域解放処理ステップを実施するための予約を行う不要領域解放処理予約ステップを更に備え、
    前記不要領域解放処理予約ステップは、
    前記データベースの処理負荷に基づいて、前記不要領域解放処理ステップを制御する
    ことを特徴とする請求項6記載の不要領域修復処理方法。
  11. データを記憶するデータベースを管理する追記型データベース管理システムにおける不要領域修復プログラムであって、
    前記データを更新又は削除することにより前記データベース内に生じる不要領域を、当該データベースの記録単位であるページ毎に更新しながら管理する管理手順と、
    前記管理手順が前記ページ毎に管理する前記不要領域から当該不要領域のサイズを算出すると共に、当該不要領域のサイズと、前記データベース内における当該不要領域の位置とを、前記ページ毎に記憶する不要領域記憶手順と、
    前記ページに前記不要領域が発生した場合に、前記不要領域記憶手順に記憶された前記不要領域のサイズと、当該ページにおける前記不要領域の比率に基づいて、当該不要領域に属するデータを解放するか否かを判断する不要領域比率判断手順と、を備え、
    前記不要領域比率判断手順は、
    前記不要領域のサイズと、前記ページにおける前記不要領域の比率とに基づいて、予め設定された閾値を超えた場合には、当該ページの前記不要領域に属するデータを前記不要領域の位置から解放する不要領域解放処理手順を更に備え、
    コンピュータに実行させることを特徴とする不要領域修復プログラム。
  12. 前記不要領域解放処理手順は、
    前記ページの前記不要領域に属するデータの実行ログであるトランザクション識別子と、システムの実行ログとして一番古く関わった最古トランザクションとを比較して、当該不要領域に属するデータが削除可能なタプルデータか否かを判断するタプルデータ有効性判断手順と、
    前記タプルデータ有効性判断手順により、前記トランザクション識別子が前記最古トランザクション識別子より古い場合には、前記不要領域に属するデータは、前記削除可能なタプルデータと判断されると共に、当該削除可能なタプルデータに対し削除予約を行うタプルデータ削除予約手順と、
    前記タプルデータ削除予約手順により、前記削除可能なタプルデータがある場合には、当該削除可能なタプルデータに割り当てられたインデックスデータの有無を判断するインデックスデータ判断手順と、
    前記インデックス判断手順により、前記削除可能なタプルデータに割り当てられた前記インデックスデータが有った場合には、当該インデックスデータを削除するインデックスデータ削除手順と、を備え、
    前記インデックス判断手順は、前記インデックスデータ削除手順によって前記インデックスデータが無くなった場合又は前記インデックスデータが前記削除可能なタプルデータに無かった場合には、当該削除可能なタプルデータを解放して空き領域を確保する
    ことをコンピュータに実行させることを特徴とする請求項11記載の不要領域修復プログラム。
  13. 前記管理手順が前記ページを更新することにより、前記データベースに記憶された前記データを更新する場合であって、
    更新により前記データベースに新たに追記するタプルデータのレコードを、追記タプルデータ長として算出するタプル長算出手順、を更に備え、
    前記タプル長算出手順によって前記追記タプルデータ長が算出されることにより、確保された前記空き領域に、当該追記タプルデータ長の前記タプルデータのレコードを挿入可能な場合には、当該空き領域に挿入すると共に、挿入された当該タプルデータの前記ページを更新し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの最終ページに当該タプルデータ長の前記タプルデータを挿入できる場合には、当該最終ページに挿入し、
    算出された前記タプルデータ長の前記タプルデータが前記空き領域に挿入できない場合であって、前記データベースの前記最終ページに前記タプルデータ長の前記タプルデータを挿入できない場合には、前記データベースに新規ページを確保して、当該タプルデータ長の前記タプルデータを追記する
    ことをコンピュータに実行させることを特徴とする請求項12記載の不要領域修復プログラム。
  14. 前記管理手順が、前記データベース内に生じる前記不要領域を、前記データのテーブル毎に合計しながら管理するテーブル合計管理手順と、
    前記テーブル合計管理手順が、当該テーブル毎の前記不要領域のサイズを更新しながら記憶するテーブル不要領域記憶手順と、を更に備え、
    前記テーブル合計管理手順は、
    前記テーブル毎の前記不要領域のサイズと、前記テーブルにおける前記不要領域の比率とに基づいて、前記不要領域解放処理手順を開始する開始閾値、又は前記不要領域解放処理手順を終了する終了閾値の少なくとも一方を備えると共に、
    前記開始閾値又は前記終了閾値によって前記不要領域解放処理手順を制御する
    ことをコンピュータに実行させることを特徴とする請求項11記載の不要領域修復プログラム。
  15. 前記不要領域比率判断手順は、
    前記ページに前記不要領域が発生した場合であって、前記予め設定された閾値を超えた場合には、前記不要領域解放処理手順を実施するための予約を行う不要領域解放処理予約手順を更に備え、
    前記不要領域解放処理予約手順は、
    前記データベースの処理負荷に基づいて、前記不要領域解放処理手順を制御する
    ことをコンピュータに実行させることを特徴とする請求項11記載の不要領域修復プログラム。
JP2007013849A 2007-01-24 2007-01-24 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム Expired - Fee Related JP4623318B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007013849A JP4623318B2 (ja) 2007-01-24 2007-01-24 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007013849A JP4623318B2 (ja) 2007-01-24 2007-01-24 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム

Publications (2)

Publication Number Publication Date
JP2008181297A JP2008181297A (ja) 2008-08-07
JP4623318B2 true JP4623318B2 (ja) 2011-02-02

Family

ID=39725159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007013849A Expired - Fee Related JP4623318B2 (ja) 2007-01-24 2007-01-24 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム

Country Status (1)

Country Link
JP (1) JP4623318B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833418B (zh) 2010-04-28 2014-12-31 华为终端有限公司 一种在界面中添加图标的方法、装置及移动终端
JP6020582B2 (ja) * 2012-10-11 2016-11-02 日本電気株式会社 情報処理装置
US8601206B1 (en) * 2013-03-14 2013-12-03 DSSD, Inc. Method and system for object-based transactions in a storage system
JP6242711B2 (ja) * 2014-02-24 2017-12-06 株式会社東芝 ストレージ装置及びデータ管理方法
KR101588375B1 (ko) * 2014-04-25 2016-01-25 네이버 주식회사 데이터베이스 관리 방법 및 데이터베이스 관리 시스템
CN117290347A (zh) * 2023-09-27 2023-12-26 北京人大金仓信息技术股份有限公司 一种被删除索引页面的回收方法、可读存储介质和计算机设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121940A (ja) * 1986-11-11 1988-05-26 Nec Corp フアイル制御システム
JP2608093B2 (ja) * 1988-03-18 1997-05-07 富士通株式会社 デ−タ管理装置
JP2000137639A (ja) * 1998-11-04 2000-05-16 Hitachi Ltd 光ディスクライブラリを使ったデータの長期保存管理方式
JP3626374B2 (ja) * 1999-08-31 2005-03-09 富士通株式会社 システム診断装置、システム診断方法およびシステム診断プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001084259A (ja) * 1999-09-13 2001-03-30 Mitsubishi Electric Corp データベースシステム
JP4131894B2 (ja) * 2000-02-29 2008-08-13 株式会社東芝 ランダムディスクライトに好適なディスク制御機構
JP2004303368A (ja) * 2003-03-31 2004-10-28 Sharp Corp 記録再生装置、記録再生装置の制御方法、記録再生装置制御プログラム、および記録再生装置制御プログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2008181297A (ja) 2008-08-07

Similar Documents

Publication Publication Date Title
US9953051B2 (en) Multi-version concurrency control method in database and database system
US8762333B2 (en) Apparatus and method for read optimized bulk data storage
US8874515B2 (en) Low level object version tracking using non-volatile memory write generations
US7028022B1 (en) Heuristic-based conditional data indexing
KR100862661B1 (ko) 지연된 로깅 방법 및 그 장치
US11409616B2 (en) Recovery of in-memory databases after a system crash
US8560500B2 (en) Method and system for removing rows from directory tables
US7587429B2 (en) Method for checkpointing a main-memory database
JP4623318B2 (ja) 追記型データベース管理システム、不要領域修復処理方法及び不要領域修復プログラム
US20110035359A1 (en) Database Backup and Restore with Integrated Index Reorganization
US8954407B2 (en) System and method for partially deferred index maintenance
KR20110032343A (ko) 비휘발성 메모리를 이용한 로깅 최적화 장치 및 방법
JP5959592B2 (ja) データベース管理方法、プログラム及び該管理システム、並びにデータベースのツリー構造
CN107665219B (zh) 一种日志管理方法及装置
WO2020058300A1 (en) Efficient in-memory multi-version concurrency control for a trie data structure based database
JP6459669B2 (ja) カラムストア型データベース管理システム
US8452730B2 (en) Archiving method and system
CN115221145A (zh) 一种基于Undo表空间解决PostgreSQL数据库表膨胀方法及系统
CN110832473A (zh) 日志结构管理系统及方法
KR20100009314A (ko) 메타데이타를 이용한 변경 데이타 추출방법
JP4380692B2 (ja) サマリーテーブルをリフレッシュするための装置、方法、及びプログラム
CN115454716A (zh) 一种基于值日志系统的数据库闪回实现方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080618

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20100908

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101004

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101006

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101019

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees