説明

データベースの管理方法

【課題】マスタノードを階層的に構築するとともに、その更新を効率的に行うことのできるデータベースの管理方法を実現する。
【解決手段】下位マスタノードから上位マスタノードに対しては、自身のデータベースのシャドウコピーと自身のメモリ上に展開されたヒープタプルマップとを書込セットとして送信し、これを受信した上位マスタノードでは、当該更新が既実行であるか否かを検証してその更新記録をトランザクションログとして下位マスタノードに送信することで、下位マスタノードから上位マスタノード、さらに上位マスタノードから配下の下位マスタノードに対して効率的に矛盾のないデータベース更新が可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースの管理方法、特に複数のマスタノードがネットワークにより階層的に接続されているデータベースの管理方法に関する。
【背景技術】
【0002】
本出願人は、トランザクションログを用いてデータベースを管理する技術に着目し、特開2006−293910号公報(特許文献1)において、1対1のマスタ・スレーブ方式のデータ同期方法について提案し、さらにその後PCT/JP2010/054311(以下、「未公開先行出願」という)において、1対N個(Nは正整数)のマスタ・スレーブ方式のデータ同期方法の提案を行っている。
【0003】
ここで、トランザクションログとは、データベースに加えられた変更の履歴を、データベースの記録領域とは異なる領域に記録することにより、変更の永続性を維持しながら同時に操作の高速性を実現する技術である。
【0004】
特に特許文献1は、トランザクションログを利用してレプリケーションシステムを実現する点に着目しており、一方未公開先行出願は、クライアントより検索指示を受領したスレーブノードがマスタノードにリクエストメッセージを送信し、所定時間以内にマスタノードから返信メッセージを受領しなかったときに、マスタノードに対してマスタデータベースの更新にかかる最新バージョンまでのトランザクションログを要求し、該要求を受領したマスタノードは、スレーブノードへ該トランザクションログを送信し、このログを参照してスレーブノードは自身のレプリカデータベースを更新するものであった。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−293910号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、前記未公開先行出願では、そのノード構成が単一のマスタノードに対して複数のミラーノードを備えたネットワーク構成であることが前提だった。
そのためミラーノードが独自にデータ更新命令(INSERT、UPDATE、DELETE)を実行することはないため、マスタノードからのトランザクションログを参照して自身のデータベースをアップデートしてやればよかった。
【0007】
一方、データベースの多様化・複雑化にともなって、マスタノードを複数有する所謂マルチマスタ方式が注目されるようになってきている。この点について、マスタノード同士に対称性があるネットワーク構成(マスタノード同士が並列関係にあるとき)では、マスタノード間の更新情報に順位付けを行い、マスタノード間の同期をとるための理論等が提案されているが全ノードの同期をとるための手続きが複雑となり、競合時の解決策が現実的でなかった。
【0008】
本発明者はこのような点に鑑みて本発明をなし得たものであり、マスタノードを階層的に構築するとともに、その階層構造を利用してノード間の更新を確実かつ効率的に行うことのできるデータベースの管理方法を実現することを技術的課題とする。
【課題を解決するための手段】
【0009】
本発明は、前記課題を解決するために、以下の手段を採用した。
本発明の請求項1は、レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースにおける下位マスタノードのデータベース管理方法であって、いずれかの下位マスタノードでデータベースへの更新命令が生じたときに、当該下位マスタノードのデータベース処理部が上位マスタノードに対して、自身のメモリ上に展開されたデータベースのシャドウコピーとヒープタプルマップとを書込セットとして生成し、前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているデータベースの該当行が別の書込セットで更新されているか否かを検証させ、前記更新がなされているときには当該書込セットをアボートし、更新がなされていないときには前記シャドウコピーを用いて上位マスタノードのデータベースを更新させ、この更新記録をトランザクションログとして生成させ、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信させるために書込セットを上位マスタノードに送信するステップと、前記下位マスタノードのトランザクションログ処理部は、前記トランザクションログを受信したときに、当該トランザクションログに基づいて自身のデータベースを更新するステップとからなる下位マスタノードのデータベースの管理方法である。
【0010】
本発明の請求項2は、前記下位マスタノードにおける書込セットのシャドウコピーは、新規の追加行のみで構成する請求項1記載の下位マスタノードのデータベースの管理方法である。
【0011】
本発明の請求項3は、前記下位マスタノードで前記書込セットを生成している段階で当該下位マスタノードのマスタデータベースに検索処理が実行されたとき、前記下位マスタノードのデータベース処理部は、前記マスタデータベースを参照するステップと、ヒープタプルマップを1行ずつ参照して検索処理において該当行番号がエントリされているか否かを判定し、エントリされていないときには前記マスタデータベースを直接の検索対象とし、前記該当行番号がエントリされているときには、前記エントリが削除指示であるか更新指示であるかを判定し、削除指示であるときには該当行番号を検索対象から除外し、更新指示である場合には前記ヒープタプルマップ内のシャドウコピーのエントリを検索対象とするステップを実行する請求項1または2に記載のデータベースの管理方法である。
【0012】
本発明の請求項4は、前記下位マスタノードで前記書込セットを生成している段階で当該下位マスタノードのマスタデータベースに検索処理が実行されたとき、前記下位マスタノードのデータベース処理部は、前記マスタデータベースを参照するステップと、前記ヒープタプルマップの全体を参照して、検索対象となっている行番号のエントリを抽出してエントリされている行番号を全て削除されたものとして検索対象から除外するステップと、前記シャドウコピーを参照して、シャドウコピー内で追加されたエントリの行番号を参照して当該行番号のみを検索対象とするステップとを実行する請求項1または2に記載のデータベースの管理方法。
【0013】
本発明の請求項5は、前記下位マスタノードにおいて書込セットを生成したときに、これらを登録する下位マスタノード内のバックエンドメモリ(BEM)の領域は、少なくとも上位マスタノードから配信されたトランザクションログによる更新命令を実行するトランザクションログ処理部が参照できるようにし、前記トランザクションログ処理部は、前記バックエンドメモリ(BEM)を参照して、この更新命令によって更新しようとしている該当行が前記書込セットのヒープタプルマップ(HTM)に含まれている場合には、当該ヒープタプルマップ(HTM)を生成しているトランザクションをアボートさせる請求項1または2に記載のデータベースの管理方法である。
【発明の効果】
【0014】
本発明によれば、マルチマスタノードを階層的に構築し、下位マスタノードから上位マスタノードに対しては、自身のメモリ上に展開されたシャドウコピーとヒープタプルマップとを書込セットとして送信し、これを受信した上位マスタノードでは、当該行が既に別の書き込みセットによって更新されているか否かを検証して、更新されていないときには前記シャドウコピーとヒープタプルマップとを用いてデータベースの更新処理を行う。そして、その更新記録をトランザクションログとして下位マスタノードに送信することで、下位マスタノードから上位マスタノード、さらに上位マスタノードから配下の下位マスタノードに対して効率的に矛盾のないデータベース更新が可能となる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施形態である階層的マスタノードのデータベース構造を示す概念図
【図2】本実施形態のマスタノードの機能ブロック図
【図3】本実施形態のマスタノードのハードウエアブロック図
【図4】本実施形態の下位マスタノードのデータベースのページと生成される書込セット(ヒープタプルマップ(HTM)とシャドウコピー(SC))の関係を示す図
【図5】本実施形態において、下位マスタノードから送信された書込セットを用いて上位マスタノードを更新する際の説明図
【図6】上位マスタノードで生成されるトランザクションログを示す図
【発明を実施するための形態】
【0016】
本発明を図に基づいて説明する。
図1は、本実施形態の階層的マスタノードの構造を示している。同図に示すように、上位マスタノード(MS101)の下に階層的に下位マスタノード(MS201,MS202・・・MS20nや、MS301,MS302・・・MS30n)を有するノード構成となっている。各ノード(情報処理装置)にはデータベースを有している。また上位マスタノード(MS101)にはスレーブを有しているが、他の下位マスタノードにもスレーブを有していてもよい。このようなマスタ・スレーブ構成の場合には両者間のデータベースの更新には本出願人によるPCT/JP2010/054311(本出願人による未公開先行出願)に記載された更新管理技術を適用することができる。
【0017】
上記未公開先行出願がマスタノードのトランザクションログデータを下位のノードに複製(レプリケーション)すればよかったのに対して、本実施形態では、階層的なマルチマスタノードで構成されており下位マスタノードでもアップデート命令が実行されていた場合、上位からのトランザクションログの参照だけでは全下位ノードの整合性を保つことができない点に着目した点が特徴である。以下に説明する。
【0018】
図2は、下位マスタノード(MS201)の機能ブロック図であるが、上位マスタノード(MS101)も同様の機能を有している。
同図に示すように、クライアント(CL)からデータベースの更新命令が入力されるとデータベース処理部(11b)は、メインメモリ(MM)上に構築されたバックエンドメモリ(BEM)上で書込セットを生成する。この書込セットは図4に示すようにヒープタプルマップ(HTM)とシャドウコピー(SC)とで構成される。ここでは、マスタデータベース(101a)の行番号4を削除(DELETE)し、行番号5を新たな値(sc1)に書き換える(UPDATE)する更新命令が入力されたものと仮定する。
【0019】
このとき、データベース処理部11bは、マスタデータベース(11a)を参照しながら当該マスタデータベース(11a)に直接書き込むことは行わずに、バックエンドメモリ(BEM)で生成された書込セットを通信モジュール(11d)より上位マスタに送信する。
【0020】
このような処理は上位マスタノード(MS101)においても、下位マスタノード(MS201,MS202・・・MS20nや、MS301,MS302・・・MS30n)においても同様である。
【0021】
図3は、前記機能を実現するためのハードウエア構成を示している。上位マスタノード(MS101)は汎用の情報処理装置であり、中央処理装置(CPU)およびメインメモリ(MM)を中心にバス(BUS)で接続された大規模記憶装置(HD)、マスタデータベース(11a)、外部との通信のための通信インターフェース(I/O)(通信モジュール11d)を有している。なお、当該バス(BUS)又は通信インターフェース(I/O)を介してクライアント端末(CL)が接続されており、命令を受け付けるようになっている。
【0022】
大規模記憶装置(HD)には、オペレーティングシステム(OS)とともに、アプリケーションプログラム(APL)が格納されており、当該プログラムをバス(BUS)および主記憶装置(MM)を介して中央処理装置(CPU)が読み込んで順次実行処理することによって、前述のマスタノードとしての機能が実現される。なお、説明は省略するが、下位マスタノード(MS201,MS202・・・MS20nや、MS301,MS302・・・MS30n)も同様の構成である。
【0023】
次に、図2で説明したデータベース処理部(11b)による処理を図4を用いてさらに詳細に説明する。
同図は、下位マスタノード(MS201)におけるマスタデータベース(11a)と、書込セットとの関係を示している。マスタデータベース(201a)は行番号と、命令内容と、ポインタとによって構成されており、新たな命令がクライアント端末(CL)からなされる毎に行番号が追加されていく追記型のデータベースである。同図の場合、前記で説明したように、行番号4を削除(DELETE)し、行番号5を新たな命令内容に書き換える(sc1にUPDATE)する場合を示している。
【0024】
下位マスタノード(MS201)においてクライアント端末(CL)からの命令によりマスタデータベースに対してこのような更新命令がなされると、前述のように、バックエンドメモリ(BEM)上でヒープタプルマップ(HTM、ヒープファイル)とシャドウコピー(SC)とからなる書込セットが生成される。
【0025】
ヒープタプルマップ(HTM)には、元の行番号(ctid)と、新しい行の行番号(sctid)が関係付けられて登録されるようになっている。このようにヒープタプルマップ(HTM)はデータベースの更新毎に追加生成されていく。なお、行番号5の命令内容(sc1)が書き込まれる行番号はこの段階ではまだ不明であるため、sctidには新しい命令(sc1)を書き込んでおく。
【0026】
一方、シャドウコピー(SC)には、マスタデータベース(11a)を参照して書き換えられるべき行番号のシャドウコピーを生成する。このとき、新たに追加される行番号はこの段階では不明であるので、行番号には新たな命令(sc1)を書き込んでおく。
【0027】
なお、この段階で下位マスタノード(MS201)のデータベース処理部(11b)は、ヒープタプルマップ(HTM)の生成によりDELETE命令が適用される行番号4と、UPDATE命令が適用される旧行番号5は削除されることが既にわかるため、シャドウコピー(SC)としては新たな命令(sc1)だけを書き込んでおいてもよい。
【0028】
このようにして生成された書込セットは、当該下位マスタノード(MS201)から上
位マスタノード(MS101)に送信される。
上位マスタノード(MS101)において、データベース処理部11b(中央処理装置(CPU))は、前記下位マスタノード(MS201)から前記書込セットを受信すると、前記更新命令にともなってトランザクションログ処理部(11c)を起動してトランザクションログデータの生成を開始する。そして、前記で受信した書込セットからヒープタプルマップ(HTM)を読み出して、自身のマスタデータベース(11a)と比較する。ここで、ターゲットとなっているタプル(ここでは行番号4,5および7)の内容がマスタデータベース(11a)上で更新されているか否かを検証する。図5では、行番号4〜6については未更新であるため、行番号4に削除ポインタを付与し、書き換えられる旧番号5にも削除ポインタを付与する。そして、新たな行番号7に新しい命令(sc1)が書き込まれる。
【0029】
一方、下位マスタノード(M201)からの書込セット中のヒープタプルマップ(HTM)と自身のデータベースを比較して、上位マスタノード(M201)において既に別の書込セットによって当該行が更新されているときには、当該書込セットによる処理はアボート(中断)される。
【0030】
図6は、上位マスタノード(MS101)のマスタデータベース(11a)が上記により更新されたときにトランザクションログ処理部(11c)で生成されるトランザクションログデータの一例である。このトランザクションログは、少なくとも命令とトランザクション内容(行番号とそれに対する実行処理内容)が時系列で連続的に記録されたファイルである。
【0031】
同図によればトランザクションの開始命令(XB1)に続いて、命令番号と行番号とが対になったログが順次生成されている。たとえば、最初にDELETE命令(D1)として行番号4を削除し(D14)、次にUPDATE命令(U1)として行番号5を削除し行番号7を追加し(U157)最後にこれらのコミット命令(XC1)を発行する。
【0032】
このトランザクションログデータは、通信モジュール(11d)より前記送信元の下位マスタノード(MS201)をはじめ、すべての下位マスタノード(MS202・・・MS20nや、MS301,MS302・・・MS30n)に対して配信される。
【0033】
前記トランザクションログデータを受信した下位マスタノードでは、当該トランザクションログデータを自身のデータベースに複製(レプリケーション)する。
具体的には、下位マスタノード(たとえばM202)が図6に示したトランザクションログデータを通信モジュール(11d)で受信すると、トランザクションログ処理部(11c)を起動してこのトランザクションログデータを自身のマスタデータベース(11a)にレプリケーションする。この結果、行番号4と5に削除ポインタが付与され、新たな行番号7が追加される。
【0034】
このように、下位マスタノードでは上位マスタノードから送信されるトランザクションログデータのレプリケーションによって統一的にデータベースが管理されることになる。
以上、本発明を実施形態に基づいて説明したが、本発明はこれに限定されるものではない。以下、その変形例について説明する。
【0035】
(上位マスタノードMS101でデータベースの更新が行われる場合)
下位マスタノード(たとえばMS201)でマスタデータベースの更新命令が発生した場合の処理については、図2で説明したように、バックエンドメモリ(BEM)上でヒープタプルマップ(HTM、ヒープファイル)とシャドウコピー(SC)とからなる書込セットが生成されるが、上位マスタノード(MS101)でマスタデータベースの更新命令
が発生した場合には、上位ノードに通知する必要がないため、書込セットは生成されない。すなわち、このような場合、上位ノード(MS101)では、図5の左図に示すようにマスタデータベース(11a)に対して直接更新データの書込が行われるとともに、図6に示すトランザクションログデータが生成される。このトランザクションログデータは下位マスタノードに配信され、前記トランザクションログデータを受信した下位マスタノードでは、当該トランザクションログデータを自身のマスタデータベースにレプリケーションする。
【0036】
(下位マスタノードで書込セットを生成している段階で検索処理が実行されたとき)
下位マスタノード(たとえばMS201)において、図4に示すような書込セットを生成している段階で、当該下位マスタノードのマスタデータベースに対して検索が実行されたとき、書込セットの生成された行番号以外の行番号を対象とした検索であれば問題はないが、該当行(ここでは行番号4および行番号5)に対する検索が実行された場合、これらの行番号は既に削除されているため、検索対象にはできない。
【0037】
このような場合には以下の2通りの対応が考えられる。
第1の類型は、データベース処理部(11b)は、マスタデータベース(11a)を参照した後に、ヒープタプルマップ(HTM)を参照する。そしてこのヒープタプルマップ(HTM)上で検索該当行番号がエントリされているか否かをチェックする。そしてエントリがあった場合には当該エントリが削除か更新かを判定し、更新の場合にはさらにシャドウコピー(SC)を参照して当該シャドウコピー(SC)のエントリ(sc1)を検索対象とする。たとえば図4に示す例で、検索対象が行番号3である場合、データベース処理部(11b)は、メインメモリ(MM)上に構築されたバックエンドメモリ(BEM)上の書込セット内のヒープタプルマップ(HTM)を参照して、該当行(行番号3)がエントリされているか否かを判定する。図4の例では、該当行はエントリされていない。その場合には、マスタデータベース201aに直接アクセスして該当行(行番号3)を検索する。
【0038】
一方、図4に示す例で、検索対象が行番号4である場合、データベース処理部(11b)は書込セット内のヒープタプルマップ(HTM)を参照したときに、該当行(行番号4)がエントリされていることを検出する。この場合、マスタデータベース201aにアクセスしても、残存する該当行は既に削除する更新命令の対象となっているため、検索対象とはならない。データベース処理部(11b)は、ヒープタプルマップ(HTM)を参照して該当行(行番号4)が削除されていることを検出する。このように、検索対象行が削除されているため、データベース処理部(11b)は該当行を検索対象とはしない。
【0039】
一方、図4に示す例で、検索対象が行番号5である場合、上記と同様に、ヒープタプルマップ(HTM)を参照して該当行(行番号5)に対応するシャドウコピー(sc1)が作成されていることを検出する。
【0040】
このとき、データベース処理部(11b)は、シャドウコピー(SC)を参照して、行番号5を書き換えたエントリ(sc1)を検索対象とすればよい。
第2の類型では、データベース処理部(11b)はまずマスタデータベース(11a)を参照した後に、ヒープタプルマップ(HTM)の全体を参照する。このとき、検索対象となっている行がエントリされているか否かをチェックし、エントリされている行番号(ここでは行番号4および5)を全て削除されたものとする(検索対象から除外する)。次に、データベース処理部11bは、シャドウコピー(SC)を参照して、シャドウコピー内の追加されたエントリ(sc1)を参照しこれを検索対象とすればよい。
【0041】
(下位マスタで上位マスタからのトランザクションログデータによる更新が行われてい
るときの競合が生じた場合)
上位マスタから配信されたトランザクションログデータによって下位マスタノードのデータベースにレプリケーションが行われているときに、該当行に対して下位マスタのデータベースの更新命令が実行されている場合、競合が発生することになる。
【0042】
具体的には、下位マスタノードへの更新命令に基づいて行番号4と5とを更新しているときに、上位マスタから行番号5がエントリされたトランザクションログデータが配信されてきたときがこれに該当する。
【0043】
このような場合には、下位マスタノードで作成された書込セットが上位マスタノードに送信されたとしても、上位マスタノードでは既に該当行に関するトランザクションログデータが配信されているため、前記書込セットは上位マスタノードで競合が検出されてアボートされることになる。したがって、当該下位マスタノードにおける競合は無視して差し支えない。
【0044】
一方、このような下位マスタノードでの競合を解決する別の方法としては、下位マスタノードにおいて書込セット(ヒープタプルマップ(HTM)とシャドウコピー(SC))を生成したときに、これらを当該下位マスタノード内のバックエンドメモリ(BEM)上に登録し、これらの領域を2以上のプロセス(具体的にはレプリケーションプロセスと書込セットの生成プロセス)から参照できるようにしておいてもよい。つまり、下位マスタノードにおいて、書込セット、さらに限定すればヒープタプルマップ(HTM)のみを共有メモリに配置しておくことが望ましい。
【0045】
この場合には、下位マスタノードがマスタデータベース11aのレプリケーションを実行する際に、バックエンドメモリ(BEM)上の書込セットを参照することによって、更新命令と矛盾する書込セットを下位マスタノードの段階でアボートさせることができる。具体的には、トランザクションログ処理部11cは、前記バックエンドメモリ(BEM)を参照して、この更新命令によって更新しようとしている該当行がヒープタプルマップ(HTM)に含まれている場合には、当該ヒープタプルマップ(HTM)を生成しているトランザクションをアボートさせる。
【0046】
このように、ヒープタプルマップ(HTM)を共有メモリに配置して、複数プロセスから参照できるようにしたことにより、マルチマスタ方式のデータベースにおいても下位マスタノードの段階で、競合を防止できる。さらに、ヒープタプルマップ(HTM)のみを共有メモリに配置しておけばよいので、貴重な共有メモリを占有してしまうこともない。
【産業上の利用可能性】
【0047】
本発明は、階層構造を備えたマルチマスタノード構造のデータベース管理システムに利用できる。
【符号の説明】
【0048】
MS101 上位マスタノード
SL スレーブ
MS201,MS202・・・MS20n 下位マスタノード
MS301,MS302・・・MS30n 下位マスタノード
CL クライアント端末
11a マスタデータベース
11b データベース処理部
11c トランザクションログ処理部
11d 通信モジュール
CPU 中央処理装置
MM 主記憶装置
BUS バス
HD 大規模記憶装置
I/O 通信インターフェース
HTM ヒープタプルマップ
SC シャドウコピー

【特許請求の範囲】
【請求項1】
レコード更新が可能な上位と下位のマスタノードを階層的に有する追記型データベースにおける下位マスタノードのデータベース管理方法であって、
いずれかの下位マスタノードでデータベースへの更新命令が生じたときに、当該下位マスタノードのデータベース処理部が上位マスタノードに対して、自身のメモリ上に展開されたデータベースのシャドウコピーとヒープタプルマップとを書込セットとして生成し、
前記上位マスタノードにおいて、前記下位マスタノードから受信した書込セット中のヒープタプルマップと自身のデータベースとを比較して、ターゲットとして登録されているデータベースの該当行が別の書込セットで更新されているか否かを検証させ、前記更新がなされているときには当該書込セットをアボートし、更新がなされていないときには前記シャドウコピーを用いて上位マスタノードのデータベースを更新させ、この更新記録をトランザクションログとして生成させ、前記トランザクションログを前記送信元の下位マスタノードを含む下位マスタノードに配信させるために書込セットを上位マスタノードに送信するステップと、
前記下位マスタノードのトランザクションログ処理部は、前記トランザクションログを受信したときに、当該トランザクションログに基づいて自身のデータベースを更新するステップと
からなる下位マスタノードのデータベースの管理方法。
【請求項2】
前記下位マスタノードにおける書込セットのシャドウコピーは、新規の追加行のみで構成する請求項1記載の下位マスタノードのデータベースの管理方法。
【請求項3】
前記下位マスタノードで前記書込セットを生成している段階で当該下位マスタノードのマスタデータベースに検索処理が実行されたとき、
前記下位マスタノードのデータベース処理部は、前記マスタデータベースを参照するステップと、
ヒープタプルマップを1行ずつ参照して検索処理において該当行番号がエントリされているか否かを判定し、エントリされていないときには前記マスタデータベースを直接の検索対象とし、
前記該当行番号がエントリされているときには、前記エントリが削除指示であるか更新指示であるかを判定し、削除指示であるときには該当行番号を検索対象から除外し、更新指示である場合には前記ヒープタプルマップ内のシャドウコピーのエントリを検索対象とするステップ
を実行する請求項1または2に記載のデータベースの管理方法。
【請求項4】
前記下位マスタノードで前記書込セットを生成している段階で当該下位マスタノードのマスタデータベースに検索処理が実行されたとき、
前記下位マスタノードのデータベース処理部は、前記マスタデータベースを参照するステップと、
前記ヒープタプルマップの全体を参照して、検索対象となっている行番号のエントリを抽出してエントリされている行番号を全て削除されたものとして検索対象から除外するステップと、
前記シャドウコピーを参照して、シャドウコピー内で追加されたエントリの行番号を参照して当該行番号のみを検索対象とするステップと
を実行する請求項1または2に記載のデータベースの管理方法。
【請求項5】
前記下位マスタノードにおいて書込セットを生成したときに、これらを登録する下位マスタノード内のバックエンドメモリ(BEM)の領域は、少なくとも上位マスタノードから配信されたトランザクションログによる更新命令を実行するトランザクションログ処理
部が参照できるようにし、
前記トランザクションログ処理部は、前記バックエンドメモリ(BEM)を参照して、この更新命令によって更新しようとしている該当行が前記書込セットのヒープタプルマップ(HTM)に含まれている場合には、当該ヒープタプルマップ(HTM)を生成しているトランザクションをアボートさせる請求項1または2に記載のデータベースの管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−108875(P2012−108875A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【出願番号】特願2011−178572(P2011−178572)
【出願日】平成23年8月17日(2011.8.17)
【分割の表示】特願2011−534944(P2011−534944)の分割
【原出願日】平成23年8月8日(2011.8.8)
【出願人】(301014269)株式会社Murakumo (23)