JP2006018632A - リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法 - Google Patents

リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法 Download PDF

Info

Publication number
JP2006018632A
JP2006018632A JP2004196488A JP2004196488A JP2006018632A JP 2006018632 A JP2006018632 A JP 2006018632A JP 2004196488 A JP2004196488 A JP 2004196488A JP 2004196488 A JP2004196488 A JP 2004196488A JP 2006018632 A JP2006018632 A JP 2006018632A
Authority
JP
Japan
Prior art keywords
index
relational database
log
update
update request
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.)
Granted
Application number
JP2004196488A
Other languages
English (en)
Other versions
JP4522170B2 (ja
Inventor
Toshiaki Senda
寿昭 千田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004196488A priority Critical patent/JP4522170B2/ja
Priority to US10/996,762 priority patent/US20060004840A1/en
Publication of JP2006018632A publication Critical patent/JP2006018632A/ja
Application granted granted Critical
Publication of JP4522170B2 publication Critical patent/JP4522170B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 アプリケーションに対するサービスを停止させずに、新たなインデックスを動的かつ効率良く追加可能にする。
【解決手段】 リレーショナルデータベース(DB)40のインデックス初期創成中には、DB40に対する更新ログをログファイル90に格納する。そして、インデックス初期創成後においては、DB40の更新依頼に対応するデータがインデックス80に存在すれば、その更新依頼をインデックス80に反映させる一方、対応するデータがインデックス80に存在していなければ、その更新依頼を作業インデックス100に格納する。また、蓄積された更新ログをインデックス80に順次反映させるときには、更新ログに対応するデータが作業インデックス100に格納されていれば、その更新ログを無視する一方、対応データが作業インデックス100に格納されていなければ、その更新ログをインデックス80に反映させる。
【選択図】 図1

Description

本発明は、インデックスを用いてアクセスを高速化したリレーショナルデータベース(以下「データベース」という)において、アプリケーションに対するサービスを停止させずに、新たなインデックスを動的かつ効率良く追加可能にする技術に関する。
SQL(Structured Query Language)文によりデータベースのアクセスを高速化する一般的な手法として、BTREE(二分木)型のインデックスを利用する技術が公知である。データベースを使用したシステム設計においては、アプリケーションから発行されるSQL文に応じたインデックスの設計が行われる。そして、システム運用開始前に、データベース上で実際にインデックスの定義及び創成が行われる。一方、システム運用開始後においては、サービス拡張などによるSQL文の追加に伴って、新たなインデックスの追加が必要となる場合がある。しかも、データベースを使用したシステムでは、24時間連続運用が一般的であることから、アプリケーションによる表(テーブル)の更新中に、その表に対して新たなインデックスを追加可能であることが要求される。
更新中の表にインデックスを追加する手法として、“Oracle9i DatabaseとIBM DB2 UDBの技術比較:高可用性”(非特許文献1)に記載されるように、インデックス創成中の表の更新ログを蓄積し、インデックス創成後に表の更新ログを反映させる技術が実用化されている。
Jenny Tsai,"Oracle9i DatabaseとIBM DB2 UDBの技術比較:高可用性",[online],2002年2月,Oracle Corporation,[平成16年6月14日検索],インターネット<URL:http://otndnld.oracle.co.jp/products/iserver/oracle9i/pdf/cwp_9ivsdb2_ha_j.pdf>
しかしながら、かかる実用化技術であっても、表の更新ログをインデックスに反映させるときに、アプリケーションに対するサービスを一時的に停止させなければならず、システムの24時間連続運用は極めて困難であった。また、インデックス創成に長時間要すると、表の更新ログの容量も多くなり、これをインデックスに反映させるための時間、即ち、サービス停止時間が長くなるおそれもあった。さらに、アプリケーションに対するサービス停止を回避すべく、表の更新ログをインデックスに反映させているときに、表の更新ログをさらに蓄積することが考えられるが、更新ログの蓄積及びその反映がいつまでたっても完了しないおそれもあった。
そこで、本発明は以上のような従来の問題点に鑑み、インデックスに対する更新ログの反映方法を工夫することで、アプリケーションに対するサービスを停止させずに、新たなインデックスを動的かつ効率良く追加可能にする技術を提供することを目的とする。
このため、本発明に係るインデックス追加技術では、リレーショナルデータベースのインデックス初期創成中には、リレーショナルデータベースに対する更新ログを蓄積する。一方、インデックス初期創成後には、リレーショナルデータベースに対する更新依頼に対応するデータがインデックスに存在していれば、その更新依頼をインデックスに反映させる一方、更新依頼に対応するデータがインデックスに存在していなければ、その更新依頼を作業領域に格納する。また、更新ログをインデックスに順次反映させるときに、更新ログに対応するデータが作業領域に格納されていれば、その更新ログを無視する一方、更新ログに対応するデータが作業領域に格納されていなければ、その更新ログをインデックスに反映させる。
本発明によれば、インデック初期創成後には、リレーショナルデータベースに対する更新依頼は、インデックスに対応データがあれば直接反映される一方、インデックスに対応データがなければ作業領域に格納される。また、インデックス初期創成中に蓄積された更新ログは、対応データが作業領域に格納されていれば、インデックスに対する更新順序が逆転したと判断し、挿入及び削除がこの順番で行われたために何ら影響を及ぼさないことに鑑み、これを無視する。一方、更新ログが作業領域に格納されていなければ、インデックスに対する更新順序が保証されたと判断し、その更新ログをインデックスに反映させる。
このため、更新ログをインデックスに反映させるときに、作業領域を参照することで、インデックスに対する処理順序が保証されることから、アプリケーションに対するサービスを停止させずに、新たなインデックスを動的かつ効率良く追加することができる。
以下、添付された図面を参照して本発明を詳述する。
図1は、少なくとも中央処理装置(CPU)とメモリとを備えたコンピュータシステムに対して本発明を適用し、データベースのインデックス追加装置(以下「インデックス追加装置」という)を構築した全体構成を示す。インデックス追加装置は、メモリにロードされたインデックス追加プログラムにより実現される各種機能、即ち、アプリケーション10,インデックス創成処理部20及びインデックス創成デーモン(daemon)30を含んで構成される。そして、インデックス追加装置では、後述するように、「インデッスク初期創成処理」及び「ログ反映処理」という2つの処理を順次実行することで、アプリケーション10に対するサービスを停止させずに、新たなインデックスが動的かつ効率良く追加される。
アプリケーション10は、SQL文を用いて、データベース(DB)40を構成する2次元の表に対して、削除,追加又は更新などの表更新を行う。このとき、ディスク障害などによるDB40の破壊に備えたバックアップデータとして、ある時点の表データを退避したダンプファイル50Aと、表に対する更新内容を記録したアーカイブログファイル50Bと、が適宜取得される。ここで、ダンプファイル50A及びアーカイブログファイル50Bからバックアップデータを構成することで、極力少ない記憶容量で任意時点におけるDB40を再現することができる。
インデックス創成処理部20は、インデックス初期創成処理において、図2に示すように、ダンプファイル50A及びアーカイブログファイル50Bを読み込んで表60を作成した後、キーレコードを抽出して第2の作業領域としての作業ファイル70に格納すると共に、作業ファイル70に格納されたキーレコードから新たに追加するインデックス80を初期創成する。また、インデックス創成処理部20は、ログ反映処理において、図3に示すように、インデックス初期創成処理中における表更新内容が格納されたログファイル90をインデックス80に反映させる。
ここで、キーレコードは、図4に示すように、インデックスを構成するカラムデータを示す「キー値」と、対象データの格納位置を特定すべく一意な値をとる「TID」と、インデックスの挿入又は削除を示す「操作種別」と、を含んで構成される。なお、ダンプファイル50A及びアーカイブログファイル50Bから作成されたキーレコードは、操作種別が常に「挿入」となる。また、キーレコードの更新は、「削除」及び「挿入」で表現する。
インデックス創成デーモン30は、インデックス初期創成処理において作業ファイル70に対するキーレコードの格納が完了するまでの間、図2に示すように、アプリケーション10からの依頼に対応したキーレコードを作業ファイル70にマージしつつ、キー値に基づいてキーレコードをソートする。また、インデックス創成デーモン30は、インデックス初期創成処理においてキーレコードの格納が完了した後には、アプリケーション10からの依頼に対応したキーレコードをログファイル90に格納する。一方、インデックス創成デーモン30は、ログ反映処理において、図3に示すように、アプリケーション10からの依頼に応じて、表の更新内容をインデックス80に直接反映するか、第1の作業領域又は作業領域としての作業インデックス100に格納する。
次に、かかる構成からなるインデックス追加装置の動作について説明する。
図5は、インデックス創成処理部20において、ユーザ指示又は所定スケジュールに応じて実行される処理内容のメインルーチンを示す。
ステップ1(図では「S1」と略記する。以下同様)では、動作環境を作成する。
ステップ2では、アプリケーション10に対して創成処理開始を通知する。
ステップ3では、アプリケーション10との同期をとるべく、アプリケーション10からの認識通知を受信する。
ステップ4では、インデックス初期創成処理を行うサブルーチン(図6参照)をコールする。
ステップ5では、ログ反映処理を行うサブルーチン(図7参照)をコールする。
ステップ6では、アプリケーション10に対して創成処理完了を通知する。
ステップ7では、アプリケーション10との同期をとるべく、アプリケーション10からの認識通知を受信する。
ステップ8では、動作環境を回収する。
図6は、インデックス初期創成処理のサブルーチンを示す。
ステップ11では、インデックス創成デーモン30に対して初期創成開始を通知する。
ステップ12では、ダンプファイル50A及びアーカイブログファイル50Bを夫々読み込む。
ステップ13では、読み込んだダンプファイル50A及びアーカイブログファイル50Bから、インデックス初期創成処理開始時点におけるDB40の内容を再現した表60を作成する。
ステップ14では、作成された表60からキーレコードを抽出し、キーレコードを作業ファイル70に格納する。
ステップ15では、インデックス創成デーモン30における処理を切り替えるべく、インデックス創成デーモン30に対して読込完了を通知する。
ステップ16では、インデックス創成デーモン30との同期をとるべく、インデックス創成デーモン30からの切替完了通知を受信する。
ステップ17では、ソートされた状態で作業ファイル70に格納されたキーレコードから、新たに追加するインデックス80を初期創成する。このとき、キー値及びTIDが同一のキーレコードについて挿入及び削除が行われたときには、インデックス80に何ら影響を与えないことに鑑み、これらを無視することで、インデックス初期創成効率を向上させることができる。なお、ステップ12,13,14及び17の一連の処理が、初期創成手段に該当する。
ステップ18では、アプリケーション10及びインデックス創成デーモン30における処理を切り替えるべく、両者に対して初期創成完了を夫々通知する。
ステップ19では、インデックス創成デーモン30との同期をとるべく、インデックス創成デーモン30からの切替完了通知を受信する。
図7は、ログ反映処理のサブルーチンを示す。
ステップ21では、ログファイル90から、時系列的に最も古い時点におけるキーレコードを1つ取り出す。
ステップ22では、キーレコードに基づいてトランザクションを組み立てる。
ステップ23では、作業インデックス100を参照する。
ステップ24では、取り出したキーレコードに対応するデータ、即ち、キー値及びTIDが同一のキーレコードが作業インデックス100に格納されているか否かを判定する。そして、対応するデータが格納されていなければステップ25へと進む一方(Yes)、対応するデータが格納されていればステップ21へと戻る(No)。ここで、作業インデックス100は、インデックス80に対して、ログファイル90に格納されているキーレコードを反映してよいか否かを判定するために利用される。
ステップ25では、取り出したレコードに基づいてインデックス80を更新する。
ステップ26では、ログ反映処理が完了したか否か、即ち、ログファイル90に格納されているすべてのキーレコードの処理が完了したか否かを判定する。そして、ログ反映処理が完了したならばステップ27へと進み(Yes)、インデックス創成デーモン30に対してログ反映完了を通知する。一方、ログ反映処理が完了していなければ、次のキーレコードを処理すべくステップ21へと戻る(No)。なお、ステップ21〜26の一連の処理が、ログ反映手段に該当する。
図8及び図9は、インデックス創成デーモン30において、所定時間ごとに繰り返し実行される処理内容を示す。
ステップ31では、インデックス創成処理を開始すべきか否かを判定すべく、インデックス創成処理部20から初期創成開始通知があったか否かを判定する。そして、初期創成開始通知があればステップ32へと進む一方(Yes)、初期創成開始通知がなければ待機する(No)。
ステップ32では、アプリケーション10からの依頼を受信する。
ステップ33では、受信した依頼が表更新依頼であるか否かを判定する。そして、表更新依頼であればステップ34へと進む一方(Yes)、表更新依頼でなければステップ36へと進む(No)。
ステップ34では、受信した依頼から、表更新に係るキーレコードを抽出する。
ステップ35では、抽出したキーレコードを作業ファイル70にマージしつつ、作業ファイル70に格納されているキーレコードからキー値を取り出し、これが昇順となるようにキーレコードをソートする。
ステップ36では、インデックス創成処理部20から読込完了通知があったか否かを判定する。そして、読込完了通知があればステップ37へと進む一方(Yes)、読込完了通知がなければステップ32へと戻る(No)。
ステップ37では、インデックス創成処理部20に対して切替完了を通知する。
ステップ38では、アプリケーション10からの依頼を受信する。
ステップ39では、受信した依頼が表更新依頼であるか否かを判定する。そして、表更新依頼であればステップ40へと進む一方(Yes)、表更新依頼でなければステップ42へと進む(No)。
ステップ40では、受信した依頼から、表更新に係るキーレコードを抽出する。
ステップ41では、抽出したキーレコードをログファイル90に格納する。このとき、キーレコードは、その発生順序が保証されるように、所定規則に則ってログファイル90に格納されるようにする。
ステップ42では、インデックス創成処理部20から初期創成完了通知があったか否かを判定する。そして、初期創成完了通知があればステップ43へと進む一方(Yes)、初期創成完了通知がなければステップ38へと戻る(No)。なお、ステップ38〜42の一連の処理が、ログ蓄積手段に該当する。
ステップ43では、インデックス創成処理部20に対して切替完了を通知する。
ステップ44では、アプリケーション10からの依頼を受信する。
ステップ45では、受信した依頼が表更新依頼であるか否かを判定する。そして、表更新依頼であればステップ46へと進む一方(Yes)、表更新依頼でなければステップ51へと進む(No)。
ステップ46では、受信した依頼から、表更新に係るキーレコードを抽出する。
ステップ47では、インデックス80を参照する。
ステップ48では、抽出したキーレコードに対応するデータ、即ち、キー値が同一のキーレコードがインデックス80に格納されているか否かを判定する。そして、対応するデータが格納されていればステップ49へと進み(Yes)、そのキーレコードに基づいてインデックス80を更新する。一方、対応するデータが格納されていなければステップ50へと進み(No)、そのキーレコードを作業インデックス100に格納する。
ステップ51では、インデックス創成処理部20からログ反映完了通知があったか否かを判定する。そして、ログ反映完了通知があれば処理を終了する一方(Yes)、ログ反映完了通知がなければステップ44へと戻る(No)。なお、ステップ44〜51の一連の処理が、更新依頼処理手段に該当する。
図10は、アプリケーション10において、表更新を契機として実行される処理内容を示す。なお、アプリケーション10では、インデックス創成処理部20との同期をとるべく、インデックス創成処理部20からの創成処理開始通知及び創成処理完了通知に応答して、認識通知を夫々返信する。
ステップ61では、DB40を構成する表を更新する。
ステップ62では、インデックス創成処理中であるか否か、即ち、創成処理開始通知があり、かつ、創成処理完了通知がない状態であるか否かを判定する。そして、インデックス創成処理中であればステップ63へと進む一方(Yes)、インデックス創成処理中でなければ処理を終了する(No)。
ステップ63では、インデックス初期創成処理が完了したか否か、即ち、初期創成完了通知があったか否かを判定する。そして、インデックス初期創成処理が完了したならばステップ64へと進み(Yes)、表更新に係る依頼に基づいてインデックス80を直接更新する。一方、インデックス処理創成処理が完了していなければステップ65へと進み(No)、インデックス創成デーモン30に対して表更新に係る依頼を送信する。
以上説明した処理によれば、インデックス初期創成処理では、図11に示すように、バックアップデータとしてのダンプファイル50A及びアーカイブログファイル50Bから、インデックス初期創成処理開始時点におけるDB40の内容を再現した表60が作成される。このため、DB40を構成する表をアクセスする必要がなく、アプリケーション10との間でディスクI/Oの競合が回避されることから、インデックス創成処理中であっても、アプリケーションに対するサービスレスポンスの低下を抑制することができる。その後、表60からキーレコードが抽出され、これが作業ファイル70に格納される。
また、ダンプファイル50A及びアーカイブログファイル50Bの読込開始から作業ファイル70へのキーレコード格納完了までの間には、アプリケーション10からの表更新依頼に係るキーレコードは、作業ファイル70へとマージされつつキー値に基づいてソートされる。このため、インデックス初期創成処理中におけるログ量が削減し、これをインデックス80に反映させるためのログ反映処理時間、要するに、インデックス創成時間を短縮することができる。
そして、作業ファイル70に格納されたキーレコードからインデックス80を初期創成するときには、表更新依頼に係るキーレコードが作業ファイル70にマージできないことから、図12に示すように、そのキーレコードの発生順序を保証しつつログファイル90に格納される。
ログ反映処理では、図13に示すように、アプリケーション10からの表更新依頼は、インデックス80に対応データがあれば直接反映される一方、インデックス80に対応データがなければキーレコードが抽出され作業インデックス100に格納される。また、図14(A)に示すように、ログファイル90から取り出されたキーレコードに対応するデータが作業インデックス100に格納されていれば、インデックス80に対する更新順序が逆転したと判断し、挿入及び削除がこの順番で行われたために何ら影響を及ぼさないことに鑑み、そのキーレコードを無視して何もしない。一方、同図(B)に示すように、取り出されたキーレコードに対応するデータが作業インデックス100に格納されていなければ、インデックス80に対する更新順序が保証されたと判断し、そのキーレコードに基づいてインデックス80を更新する。
このため、ログファイル90に蓄積されたキーレコード、即ち、ログを反映するときに、作業ファイル100を参照することで、インデックス80に対する更新順序が保証されることから、アプリケーション10に対するサービスを停止させずに、新たなインデックスを動的かつ効率良く追加することができる。また、ログ反映処理中における表更新は、その更新順序が保証される限り、直接インデックス80に反映されるため、ログ適用効率を大幅に向上させることができる。
本発明に係るインデックス追加装置の全体構成図 インデックス初期創成処理の概要説明図 ログ反映処理の概要説明図 キーレコードの説明図 インデックス創成処理部において実行されるメインルーチンを示すフローチャート インデックス初期創成処理のサブルーチンを示すフローチャート ログ反映処理のサブルーチンを示すフローチャート インデックス創成デーモンにおいて実行される処理内容のフローチャート インデックス創成デーモンにおいて実行される処理内容のフローチャート アプリケーションにおいて実行される処理内容のフローチャート インデックス初期創成処理における前半処理説明図 インデックス初期創成処理における後半処理説明図 ログ反映処理中における表更新依頼の処理説明図 ログ反映処理における処理詳細を示し、(A)はログに対応するデータがあるときの説明図、(B)はログに対応するデータがないときの説明図
符号の説明
10 アプリケーション
20 インデックス創成処理部
30 インデックス創成デーモン
40 データベース(DB)
50A ダンプファイル
50B アーカイブログファイル
60 表
70 作業ファイル
80 インデックス
90 ログファイル
100 作業インデックス

Claims (8)

  1. リレーショナルデータベースのインデックスを初期創成するステップと、
    インデックス初期創成中におけるリレーショナルデータベースに対する更新ログを蓄積するステップと、
    インデックス初期創成後に、前記リレーショナルデータベースに対する更新依頼に対応するデータがインデックスに存在すれば、前記更新依頼をインデックスに反映させる一方、前記更新依頼に対応するデータがインデックスに存在しなければ、前記更新依頼を第1の作業領域に格納するステップと、
    蓄積された更新ログを初期創成されたインデックスに順次反映させるときに、前記更新ログに対応するデータが第1の作業領域に格納されていれば、その更新ログを無視する一方、前記更新ログに対応するデータが第1の作業領域に格納されていなければ、その更新ログをインデックスに反映させるステップと、
    をコンピュータに実現させるためのリレーショナルデータベースのインデックス追加プログラム。
  2. 前記リレーショナルデータベースのインデックスを初期創成するステップは、前記リレーショナルデータベースの破壊に備えて適宜取得されたバックアップデータから、インデックスを初期創成することを特徴とする請求項1記載のリレーショナルデータベースのインデックス追加プログラム。
  3. 前記バックアップデータは、ある時点におけるリレーショナルデータベースを退避したダンプファイルと、前記リレーショナルデータベースの更新内容を記録したアーカイブログファイルと、から構成されることを特徴とする請求項2記載のリレーショナルデータベースのインデックス追加プログラム。
  4. 前記リレーショナルデータベースのインデックスを初期創成するステップは、前記リレーショナルデータベースからキーレコードを抽出して第2の作業領域に格納するステップと、前記第2の作業領域に格納されたキーレコードを所定規則に沿ってソートしつつ、前記リレーショナルデータベースに対する更新依頼から抽出されたキーレコードを該当箇所にマージするステップと、ソート及びマージされたキーレコードからインデックスを創成するステップと、を含んで構成されることを特徴とする請求項1〜請求項3のいずれか1つに記載のリレーショナルデータベースのインデックス追加プログラム。
  5. 前記ソート及びマージされたキーレコードからインデックスを創成した後、蓄積された更新ログをインデックスに反映させ終るまでの間、前記リレーショナルデータベースに対する更新依頼に対応するデータがインデックスに存在すれば、その更新依頼に応じてインデックスを更新する一方、前記更新依頼に対応するデータがインデックスに存在していなければ、その更新依頼を第1の作業領域に格納するステップを備えたことを特徴とする請求項4記載のリレーショナルデータベースのインデックス追加プログラム。
  6. 前記ソート及びマージされたキーレコードからインデックスを創成するステップは、同一インデックスに対する挿入及び削除の組み合わせを無視して、インデックスを創成することを特徴とする請求項4又は請求項5に記載のリレーショナルデータベースのインデックス追加プログラム。
  7. リレーショナルデータベースのインデックスを初期創成する初期創成手段と、
    前記初期創成手段によるインデックス初期創成中に、前記リレーショナルデータベースに対する更新ログを蓄積するログ蓄積手段と、
    前記初期創成手段によるインデックス初期創成後に、前記リレーショナルデータベースに対する更新依頼に対応するデータがインデックスに存在すれば、前記更新依頼をインデックスに反映させる一方、前記更新依頼に対応するデータがインデックスに存在しなければ、前記更新依頼を作業領域に格納する更新依頼処理手段と、
    蓄積された更新ログを初期創成されたインデックスに順次反映させるときに、前記更新ログに対応するデータが作業領域に格納されていれば、その更新ログを無視する一方、前記更新ログに対応するデータが作業領域に格納されていなければ、その更新ログをインデックスに反映させるログ反映手段と、
    を含んで構成されたことを特徴とするリレーショナルデータベースのインデックス追加装置。
  8. リレーショナルデータベースのインデックスを初期創成するステップと、
    インデックス初期創成中におけるリレーショナルデータベースに対する更新ログを蓄積するステップと、
    インデックス初期創成後に、前記リレーショナルデータベースに対する更新依頼に対応するデータがインデックスに存在すれば、前記更新依頼をインデックスに反映させる一方、前記更新依頼に対応するデータがインデックスに存在しなければ、前記更新依頼を作業領域に格納するステップと、
    蓄積された更新ログを初期創成されたインデックスに順次反映させるときに、前記更新ログに対応するデータが作業領域に格納されていれば、その更新ログを無視する一方、前記更新ログに対応するデータが作業領域に格納されていなければ、その更新ログをインデックスに反映させるステップと、
    をコンピュータに実行させることを特徴とするリレーショナルデータベースのインデックス追加方法。
JP2004196488A 2004-07-02 2004-07-02 リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法 Expired - Fee Related JP4522170B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004196488A JP4522170B2 (ja) 2004-07-02 2004-07-02 リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法
US10/996,762 US20060004840A1 (en) 2004-07-02 2004-11-24 Index adding program of relational database, index adding apparatus, and index adding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004196488A JP4522170B2 (ja) 2004-07-02 2004-07-02 リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法

Publications (2)

Publication Number Publication Date
JP2006018632A true JP2006018632A (ja) 2006-01-19
JP4522170B2 JP4522170B2 (ja) 2010-08-11

Family

ID=35515302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004196488A Expired - Fee Related JP4522170B2 (ja) 2004-07-02 2004-07-02 リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法

Country Status (2)

Country Link
US (1) US20060004840A1 (ja)
JP (1) JP4522170B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181274A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd 管理装置および管理方法
JP2013161342A (ja) * 2012-02-07 2013-08-19 Hitachi Solutions Ltd ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
WO2015093026A1 (ja) * 2013-12-17 2015-06-25 日本電気株式会社 書き込み情報記憶装置、方法、及び、記録媒体

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8131647B2 (en) * 2005-01-19 2012-03-06 Amazon Technologies, Inc. Method and system for providing annotations of a digital work
US9275052B2 (en) 2005-01-19 2016-03-01 Amazon Technologies, Inc. Providing annotations of a digital work
US8352449B1 (en) 2006-03-29 2013-01-08 Amazon Technologies, Inc. Reader device content indexing
US20080071736A1 (en) * 2006-09-05 2008-03-20 Alan Ray Smith Apparatus, system, and method for criteria-based grouping and searching of database management system log records
US9672533B1 (en) 2006-09-29 2017-06-06 Amazon Technologies, Inc. Acquisition of an item based on a catalog presentation of items
US8725565B1 (en) 2006-09-29 2014-05-13 Amazon Technologies, Inc. Expedited acquisition of a digital item following a sample presentation of the item
US7865817B2 (en) 2006-12-29 2011-01-04 Amazon Technologies, Inc. Invariant referencing in digital works
US8024400B2 (en) 2007-09-26 2011-09-20 Oomble, Inc. Method and system for transferring content from the web to mobile devices
US7751807B2 (en) 2007-02-12 2010-07-06 Oomble, Inc. Method and system for a hosted mobile management service architecture
US20080195962A1 (en) * 2007-02-12 2008-08-14 Lin Daniel J Method and System for Remotely Controlling The Display of Photos in a Digital Picture Frame
US7716224B2 (en) 2007-03-29 2010-05-11 Amazon Technologies, Inc. Search and indexing on a user device
US20080243788A1 (en) * 2007-03-29 2008-10-02 Reztlaff James R Search of Multiple Content Sources on a User Device
US9665529B1 (en) 2007-03-29 2017-05-30 Amazon Technologies, Inc. Relative progress and event indicators
US8965807B1 (en) * 2007-05-21 2015-02-24 Amazon Technologies, Inc. Selecting and providing items in a media consumption system
US8423889B1 (en) 2008-06-05 2013-04-16 Amazon Technologies, Inc. Device specific presentation control for electronic book reader devices
US9087032B1 (en) 2009-01-26 2015-07-21 Amazon Technologies, Inc. Aggregation of highlights
US8378979B2 (en) * 2009-01-27 2013-02-19 Amazon Technologies, Inc. Electronic device with haptic feedback
US8832584B1 (en) 2009-03-31 2014-09-09 Amazon Technologies, Inc. Questions on highlighted passages
US8692763B1 (en) 2009-09-28 2014-04-08 John T. Kim Last screen rendering for electronic book reader
US9495322B1 (en) 2010-09-21 2016-11-15 Amazon Technologies, Inc. Cover display
CN102651007A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 一种管理数据库索引的方法和装置
US9158741B1 (en) 2011-10-28 2015-10-13 Amazon Technologies, Inc. Indicators for navigating digital works
US9183200B1 (en) * 2012-08-02 2015-11-10 Symantec Corporation Scale up deduplication engine via efficient partitioning
US8925105B2 (en) * 2012-08-27 2014-12-30 Dassault Systemes Americas Corp. Indexed security for use with databases
EP3103018B1 (en) * 2014-02-28 2019-07-03 Huawei Technologies Co., Ltd. Method for debugging computer program
US10437824B2 (en) * 2015-01-23 2019-10-08 Attivio, Inc. Querying across a composite join of multiple database tables using a search engine index
US9275155B1 (en) * 2015-01-23 2016-03-01 Attivio Inc. Querying across a composite join of multiple database tables using a search engine index
US10509780B2 (en) * 2016-06-03 2019-12-17 Dell Products L.P. Maintaining I/O transaction metadata in log-with-index structure
US10756757B2 (en) * 2016-06-03 2020-08-25 Dell Products L.P. Maintaining data deduplication reference information
US10268563B2 (en) * 2016-06-23 2019-04-23 Vmware, Inc. Monitoring of an automated end-to-end crash analysis system
US10338990B2 (en) 2016-06-23 2019-07-02 Vmware, Inc. Culprit module detection and signature back trace generation
US10365959B2 (en) 2016-06-23 2019-07-30 Vmware, Inc. Graphical user interface for software crash analysis data
US10331508B2 (en) 2016-06-23 2019-06-25 Vmware, Inc. Computer crash risk assessment
US10191837B2 (en) 2016-06-23 2019-01-29 Vmware, Inc. Automated end-to-end analysis of customer service requests

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62131349A (ja) * 1985-12-03 1987-06-13 Fujitsu Ltd デ−タベ−ス処理方式
JPH08328924A (ja) * 1995-05-31 1996-12-13 Nec Corp インデックス更新方式
JP2004133535A (ja) * 2002-10-08 2004-04-30 Daikin Ind Ltd データ処理装置および方法、並びにプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244605A (ja) * 1994-03-03 1995-09-19 Fujitsu Ltd データベースシステム及びその更新方法
US7249118B2 (en) * 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62131349A (ja) * 1985-12-03 1987-06-13 Fujitsu Ltd デ−タベ−ス処理方式
JPH08328924A (ja) * 1995-05-31 1996-12-13 Nec Corp インデックス更新方式
JP2004133535A (ja) * 2002-10-08 2004-04-30 Daikin Ind Ltd データ処理装置および方法、並びにプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008181274A (ja) * 2007-01-24 2008-08-07 Hitachi Ltd 管理装置および管理方法
JP2013161342A (ja) * 2012-02-07 2013-08-19 Hitachi Solutions Ltd ファイルリスト生成方法及びシステム並びにプログラム、ファイルリスト生成装置
WO2015093026A1 (ja) * 2013-12-17 2015-06-25 日本電気株式会社 書き込み情報記憶装置、方法、及び、記録媒体
JPWO2015093026A1 (ja) * 2013-12-17 2017-03-16 日本電気株式会社 書き込み情報記憶装置、方法、及び、プログラム

Also Published As

Publication number Publication date
US20060004840A1 (en) 2006-01-05
JP4522170B2 (ja) 2010-08-11

Similar Documents

Publication Publication Date Title
JP4522170B2 (ja) リレーショナルデータベースのインデックス追加プログラム,インデックス追加装置及びインデックス追加方法
US20190146946A1 (en) Method and device for archiving block data of blockchain and method and device for querying the same
US9646030B2 (en) Computer-readable medium storing program and version control method
US8554561B2 (en) Efficient indexing of documents with similar content
JP5961689B2 (ja) 増分データの抽出
US20160110261A1 (en) Cloud storage using merkle trees
CN106933703B (zh) 一种数据库数据备份的方法、装置及电子设备
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
KR20040088397A (ko) 트랜잭션적으로 일관성있는 트리거 기반 데이터베이스변경 추적 방법 및 시스템
JP2006031687A (ja) 外部メタデータの処理
US8595190B2 (en) Methods and apparatus related to completion of large objects within a DB2 database environment
US7917516B2 (en) Updating an inverted index
Kleppmann Designing data-intensive applications
JP6598997B2 (ja) データ準備のためのキャッシュ最適化
US20110113052A1 (en) Query result iteration for multiple queries
KR20030056540A (ko) 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법
CN110895545A (zh) 共享数据同步方法及装置
JP2010272006A (ja) 関係抽出装置、関係抽出方法、及びプログラム
US20170153951A1 (en) Incremental synchronous hierarchical system restoration
JP2017068342A (ja) 制御プログラム、制御方法、及び、情報処理装置
CN111753045A (zh) 一种基于Elasticsearch的Hive二级全文索引技术方法及系统
WO2015161550A1 (zh) 管理索引的方法、装置及计算机存储介质
JP2010218219A (ja) レプリカ表生成装置、レプリカ表生成方法、及びプログラム
US20230229657A1 (en) Zero Copy Optimization for SELECT * Queries
JP5441791B2 (ja) 検索機能付きファイルストレージ装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100430

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: 20100525

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: 20100525

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: 20130604

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees