JP2007501455A - 非故障ノードによる並列な回復 - Google Patents

非故障ノードによる並列な回復 Download PDF

Info

Publication number
JP2007501455A
JP2007501455A JP2006522046A JP2006522046A JP2007501455A JP 2007501455 A JP2007501455 A JP 2007501455A JP 2006522046 A JP2006522046 A JP 2006522046A JP 2006522046 A JP2006522046 A JP 2006522046A JP 2007501455 A JP2007501455 A JP 2007501455A
Authority
JP
Japan
Prior art keywords
recovery
node
nodes
processors
data
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
JP2006522046A
Other languages
English (en)
Other versions
JP4586019B2 (ja
Inventor
バンフォード,ロジャー
チャンドラセカラン,サシカンス
プルスチーノ,アンジェロ
Original Assignee
オラクル・インターナショナル・コーポレイション
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 オラクル・インターナショナル・コーポレイション filed Critical オラクル・インターナショナル・コーポレイション
Publication of JP2007501455A publication Critical patent/JP2007501455A/ja
Application granted granted Critical
Publication of JP4586019B2 publication Critical patent/JP4586019B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

非共有データベースシステムの性能を改善するためのさまざまな技術を記載する。非共有データベースシステムにおいて、この非共有データベースを稼動する少なくとも2つのノードは、ディスクへの共有アクセスを有する。具体的には、並列に作動する複数の回復ノードを用いて、故障ノードが所有するデータを回復するための技術を提供する。故障ノードが所有するデータは、このデータが存在する共有ディスクへのアクセスを有する回復ノードに再割当される。故障ノードの回復ログは、回復ノードか、または、回復ノードに回復タスクを分配するコーディネータプロセスによって読出される。

Description

発明の分野
この発明は、共有されたディスクハードウェア上で稼動する非共有データベースシステムにおいてデータを管理するための技術に関する。
発明の背景
マルチプロセッシングコンピュータシステムは一般に、3つのカテゴリ、すなわち、全共有システム、共有ディスクシステム、および非共有システムに分類される。全共有システムにおいて、すべてのプロセッサ上のプロセスは、システム内のすべての揮発性メモリデバイス(以降、包括的に「メモリ」と称する)と、すべての不揮発性メモリデバイス(以降、包括的に「ディスク」と称する)とに対して直接のアクセスを有する。したがって、全共有の機能を提供するために、コンピュータのさまざまな構成要素間には高度な配線が必要とされる。加えて、全共有アーキテクチャには、スケーラビリティの限界が存在する。
共有ディスクシステムでは、プロセッサおよびメモリがノードにグループ化される。共有ディスクシステム内の各ノードは、それ自体が、複数のプロセッサおよび複数のメモリを含む全共有システムを構成し得る。すべてのプロセッサ上のプロセスは、システム内のすべてのディスクにアクセス可能であるが、特定のノードに属するプロセッサ上のプロセスのみが、特定のノード内のメモリに直接アクセスできる。共有ディスクシステムは一般に、必要とする配線が、全共有システムよりも少ない。共有ディスクシステムはまた、作業負荷が不均衡な状態にも容易に適合する。なぜなら、すべてのノードがすべてのデータにアクセスできるためである。しかしながら、共有ディスクシステムは、コヒーレンスオーバヘッドの影響を受けやすい。たとえば、第1のノードがデータを変更し、かつ、第2のノードがその同じデータの読出または変更を望む場合、そのデータの正しいバージョンが第2のノードに確実に提供されるように、さまざまなステップを実行しなければならないことが考えられる。
非共有システムでは、すべてのプロセッサ、メモリ、およびディスクがノードにグループ化される。非共有システムは、共有ディスクシステムと同様に、各ノード自体が全共有システムまたは共有ディスクシステムを構成し得る。特定のノード上で稼動するプロセスのみが、特定のノード内のメモリおよびディスクに直接アクセス可能である。マルチプロセッシングシステムの3つの一般的なタイプのうち、さまざまなシステム構成要素間で必要とされる配線の量は、一般に非共有システムが最も少ない。しかしながら、非共有システムは、作業負荷が不均衡な状態の影響を最も受けやすい。たとえば、特定のタスク中にアクセスされるべきすべてのデータが、特定のノードのディスク上に存在し得る。したがって、他のノード上のプロセスがアイドル状態であるにも関わらず、粒度の細かい仕事を実行するために、そのノード内で稼動するプロセスしか使用することができない。
マルチノードシステム上で稼動するデータベースは一般に、2つのカテゴリ、すなわち、共有ディスクデータベースおよび非共有データベースに分類される。
共有ディスクデータベース
共有ディスクデータベースは、データベースシステムによって管理されるすべてのデー
タが、データベースシステムにとって利用可能なすべての処理ノードの管理下にある(visible)という前提に基づき、仕事を調整する。その結果、共有ディスクデータベースでは、仕事中にアクセスされるであろうデータを含むディスクの位置に関係なく、サーバがいずれかのノード上のプロセスにいずれかの仕事を割当てることができる。
すべてのノードが同じデータへのアクセスを有し、各ノードがそれ自体の専用キャッシュを有しているため、同じデータ項目の多数のバージョンが、多くのノード中のどのような数のノードのキャッシュ内にも存在し得る。残念ながら、このことは、1つのノードが特定のデータ項目の特定のバージョンを要求する際に、そのノードが他のノードと連携して、要求を行なっているノードにそのデータ項目の特定のバージョンが転送されるようにしなければならないことを意味する。したがって、共有ディスクデータベースは、「データ転送」の概念で作動すると言われており、データは、そのデータに仕事を行なうように割当てられたノードに転送されなければならない。
このようなデータ転送要求は、「ピング(ping)」を生じ得る。具体的に、ピングは、1つのノードが必要とするデータ項目の複製が、別のノードのキャッシュ内に存在する際に生じる。ピングは、データ項目がディスクに書込まれた後にディスクから読出されることを必要とし得る。ピングにより必要とされるディスク動作の性能は、データベースシステムの性能を著しく下げる恐れがある。
共有ディスクデータベースは、非共有コンピュータシステムおよび共有ディスクコンピュータシステムのいずれの上でも稼動され得る。非共有コンピュータシステム上で共有ディスクデータベースを稼動させるために、オペレーティングシステムにソフトウェアサポートを追加するか、または、追加のハードウェアを設けて、プロセスが遠隔ディスクへのアクセスを有し得るようにすることが可能である。
非共有データベース
非共有データベースは、プロセスと同じノードに属するディスクにデータが含まれている場合に限り、そのプロセスがそのデータにアクセス可能であるものと想定する。したがって、特定のノードが、別のノードによって所有されるデータ項目についての演算が実行されることを望む場合、その特定のノードは、他のノードがその演算を実行するように、他のノードに要求を送信しなければならない。したがって、非共有データベースは、ノード間でデータを転送する代わりに「機能の転送」を実行すると言われる。
いずれかの所定のデータ片が1つのノードによってのみ所有されているため、その1つのノード(データの「所有者」)のみが、そのキャッシュ内にそのデータの複製を有する。したがって、共有ディスクデータベースシステムで必要とされたタイプのキャッシュのコヒーレンスのメカニズムが必要とされない。さらに、非共有システムは、ピングにまつわる性能の不利益を被らない。なぜなら、別のノードがそのキャッシュにデータ項目をロードすることができるように、そのデータ項目を所有するノードが、そのデータ項目のキャッシュされたバージョンをディスクに保存するように求められないためである。
非共有データベースは、共有ディスクマルチプロセッシングシステムおよび非共有マルチプロセッシングシステムのいずれの上でも稼動され得る。共有されたディスクマシン上で非共有データベースを稼動させるために、データベースをセグメント化して各パーティションの所有権を特定のノードに割当てるためのメカニズムを設けることができる。
所有を行なうノードのみがデータ片に作用し得るということは、非共有データベース内の作業負荷が極めて不均衡になり得ることを意味する。たとえば、10個のノードのシステムにおいて、仕事の全要求の90%が、それらのノードのうちの1つによって所有され
るデータを必要とするかもしれない。したがって、その1つのノードが酷使され、他のノードの計算リソースが十分に活用されない。作業負荷の「均衡を取り戻す」ために、非共有データベースをオフラインにすることができ、データ(およびその所有権)をノード間で再分配することができる。しかしながら、このプロセスは、潜在的に大量のデータの移動を伴い、作業負荷の偏りを一時的にしか解決しない恐れがある。
データベースシステムの故障
データベースサーバによる作業の継続を妨げる問題が生じたとき、データベースサーバの故障が生じる恐れがある。データベースサーバの故障は、停電等のハードウェアの問題、または、オペレーティングシステムもしくはデータベースシステムのクラッシュ等のソフトウェアの問題から生じ得る。データベースサーバの故障はまた、予測されるものとして、たとえば、SHUTDOWN ABORTまたはSTARTUP FORCEステートメントがオラクル(Oracle)のデータベースサーバに発行されたときにも生じ得る。
データベースの更新が、いくつかのデータベースシステム内のデータファイルに対していずれかの所定の時点で実行される態様により、データファイルは、(1)コミットされていないトランザクションによって暫定的に変更されたか、および/または(2)コミットされたトランザクションによって実行された更新をまだ反映していない、いくつかのデータブロックを含み得る。したがって、データベースサーバの故障後にデータベースの回復動作を実行して、データベースがデータベースサーバの故障の直前に有していた、トランザクションとの整合性を有する状態に、データベースを回復しなければならない。データベースは、トランザクションとの整合性を有する状態において、コミットされたトランザクションによって行なわれたすべての変更を反映しており、コミットされていないトランザクションによって行なわれた変更は反映しない。
一般的なデータベースシステムは、データベースサーバの回復中にいくつかのステップを実行する。まず、データベースシステムは、データファイルに対し、再実行ログに記録されたすべての変更を「繰上げ」るか、または再適用する。繰上げは、データベースの時間を繰上げるのに必要とされる数の再実行ログファイルを介して進行し、クラッシュの時点以前に行なわれたすべての変更を反映する。繰上げは一般に、オンラインの再実行ログファイルにおいて変更を適用することを含み、アーカイブされた再実行ログファイル(再び使用される前にアーカイブされたオンライン再実行ファイル)に記録された変更を適用することも含み得る。繰上げの後、データブロックは、コミットされたすべての変更に加え、クラッシュ前に再実行ログに記録されていた、コミットされていないいずれの変更も含む。
ロールバックセグメントは、繰上げ動作の後に残存する、コミットされていない変更を取消すための記録を含む。データベースの回復では、ロールバックセグメント内に含まれる情報を用いて、クラッシュの時点でコミットされていなかったトランザクションによって行なわれた変更を取消す。コミットされなかったトランザクションによって行なわれた変更を取消すプロセスは、トランザクションの「ロールバック」と呼ばれる。
この明細書に記載する技術は、トランザクションを取消すためにロールバックセグメントが使用される環境に限定されない。たとえば、データベース環境によっては、取消しおよび再実行が1つのシーケンシャルなログに書込まれる場合もある。このような環境において、回復は、別個の再実行ログおよび取消しログではなく、1つのログの内容に基づいて実行され得る。
非共有データベースシステムの故障
どのような複数ノードのコンピュータシステムでも、1つ以上の他のノードが機能して
いる一方で1つ以上のノードが故障する可能性がある。非共有データベースシステムでは、ノードの故障が一般に、故障したノードによって所有されるデータ項目を利用不可能にする。それらのデータ項目が再びアクセスされ得る前に、それらのデータ項目に対し、回復動作を実行しなければならない。回復動作を高速で実施するほど、データ項目がより迅速に利用できるようになる。
非共有データベースシステムにおいて、回復動作は、パーティションを使用しないこと、または故障前にセグメント化することのいずれかによって実行され得る。パーティションを使用しない場合、1つの非故障ノードが、故障ノードがこれまで所有していたすべてのデータ項目の所有権を引受ける。その後、非故障ノードは、回復動作全体の実行にとりかかる。パーティションを使用しない手法が、1つの稼動中のノードの処理電力しか使用しないため、多くの稼動中のノード間で回復動作が共有されている場合よりも、この回復には、より一層長い時間がかかる。これが、回復ノードが故障ノードのデータにアクセスしなければならない際に、非共有データベース内で一般的に回復が行なわれる態様である。ハードウェアの構成を簡略化するために、「バディ」システムが一般に使用される。ここでは、ノードが分割されてノードの対となり、各対は、互いのデータへのアクセスを有し、故障時には互いを回復する責任を負う。
故障前にセグメント化手法によると、故障ノードによって所有されていたデータは、故障前に、別個の非共有データベースフラグメントにセグメント化される。故障後に、別個のフラグメントの各々は、回復のために、異なる非故障ノードに割当てられる。回復動作が多くのノード間で分散されたため、回復は、1つのノードのみによって実行される場合よりも高速で完了し得る。しかしながら、いつノードが故障するかを厳密に認識することはほぼ不可能である。したがって、故障前にセグメント化する手法を用いてノードを回復することに関し、パーティションは、データベースのフラグメント間における、ノードのメインメモリおよびCPUの分割を一般に伴い、一般には、故障が実際に生じるよりもはるかに前に実行される。残念ながら、このようにしてノードがセグメント化されている間に、ノードの定常の実行時の性能が下がる。さまざまな因子が、このような性能の低下を招く。たとえば、物理的なノードのリソースの各々が十分に利用されていないことがあり得る。複数のパーティションが同一の物理的なノードによって所有されているにも関わらず、これらのパーティションは、バッファプール、パッケージキャッシュ等のためのメモリを共有することができない。これにより、低利用が生じる。なぜなら、フラグメント化されたメモリ片よりも、1つのメモリ片のほうが効率よく使用できるためである。加えて、多数のパーティションにより、所定の仕事量に対するプロセス間の通信が増大する。たとえば、4個のパーティションに比例する1つのアプリケーションは、12個のパーティションに比例し得ない。しかしながら、故障後の並列回復のために、故障前にセグメント化する手法を用いると、12個のパーティションが必要とされ得る。
この発明は、添付の図面において限定ではなく例示として示される。これらの図面では、同じ参照番号が同じ要素を指す。
発明の詳細な説明
共有ディスク記憶システムを含む非共有データベースシステムの性能を改善するためのさまざまな技術を以下に説明する。以下の記載内容では、説明のために多数の特定の詳細を明示して、この発明の完全な理解を図る。しかしながら、このような特定の詳細を用いなくてもこの発明を実施し得ることが明らかであろう。場合によっては、周知の構造およびデバイスをブロック図の形で示し、この発明をむやみに不明瞭にしないようにする場合もある。
機能上の概観
非共有データベースシステムを稼動する少なくとも2つのノードがディスクへの共有されたアクセスを有する非共有データベースシステムの性能を改善するためのさまざまな技術を、以下に説明する。データベースシステムの非共有アーキテクチャによって規定されるように、各データ片は依然として、いずれかの所定の時点において1つのノードによってのみ所有される。しかしながら、非共有データベースシステムを稼動する少なくともいくつかのノードがディスクへの共有されたアクセスを有するという点を利用して、非共有データベースシステムの均衡をより効率よく取り戻し、非共有データベースシステムをより効率よく回復する。
具体的には、並列に作動する複数の回復ノードを用いて、故障ノードが所有するデータを回復するための技術を提供する。故障ノードが所有するデータは、そのデータが存在する共有ディスクへのアクセスを有する回復ノードに再割当される。故障ノードの回復ログは、回復ノードか、または、回復ノードに回復タスクを分配するコーディネータプロセスによって読出される。
共有ディスクシステムを含む例示的なクラスタ
図1は、この発明の実施例が実現され得るクラスタ100を示すブロック図である。クラスタ100は、相互接続130によって結合される5個のノード102、104、106、108、および110を含み、相互接続130は、これらのノードが互いに通信することを可能にする。クラスタ100は、2つのディスク150および152を含む。ノード102、104および106は、ディスク150へのアクセスを有し、ノード108および110は、ディスク152へのアクセスを有する。したがって、ノード102,104および106とディスク150とを含むサブシステムは、第1の共有ディスクシステムを構成し、ノード108および110とディスク152とを含むサブシステムは、第2の共有ディスクシステムを構成する。
クラスタ100は、2つの共有ディスクサブシステムを含み、かつ、それらの共有ディスクサブシステム間で帰属関係が重複しない、相対的に単純なシステムの一例である。実際のシステムは、クラスタ100よりもより一層複雑であることが考えられ、数百個のノード、数百個の共有ディスク、および、これらのノードとこれらの共有ディスクとの間に多対多の関係を有する。このようなシステムでは、多くのディスクへのアクセスを有する1つのノードが、たとえば、いくつかの別個の共有ディスクサブシステムのメンバーであることが考えられ、ここでは、共有ディスクサブシステムの各々が、共有されたディスクのうちの1つと、その共有されたディスクへのアクセスを有するすべてのノードとを含む。
共有ディスクシステム上の非共有データベース
例示のため、非共有データベースシステムがクラスタ110上で稼動しているものと想定されたい。ここで、非共有データベースシステムによって管理されるデータベースは、ディスク150および152に記憶される。データは、データベースシステムの非共有特性に基づき、5個のグループまたはパーティション112、114、116、118、および120に分離され得る。各パーティションは、対応するノードに割当てられる。パーティションに割当てられたノードは、そのパーティション内に存在するすべてのデータの排他的な所有者であると考えられる。この例において、ノード102、104、106、108、および110はそれぞれ、パーティション112、114、116、118、および120を所有する。ディスク150へのアクセスを有するノード(ノード102、104および106)によって所有されるパーティション112、114および118は、ディスク150に記憶される。同様に、ディスク152へのアクセスを有するノード(ノ
ード108および110)によって所有されるパーティション118および120は、ディスク152に記憶される。
クラスタ100上で稼動するデータベースシステムの非共有特性によって規定されるように、いずれかのデータ片は、いずれかの所定の時点において、多くても1つのノードによって所有される。加えて、共有されたデータへのアクセスは、機能の転送により調整される。たとえば、SQL言語をサポートするデータベースシステムの場合、特定のデータ片を所有しないノードは、そのデータ片を所有するノードにSQLステートメントのフラグメントを転送することにより、そのデータに関する演算が実行されるようにすることができる。
所有権のマップ
機能の転送を効率よく実行するために、すべてのノードは、どのノードがどのデータを所有しているかを認識しなければならない。したがって、所有権のマップが規定され、所有権のマップは、データ−ノード間の所有権の割当を示す。実行時に、さまざまなノードが所有権のマップに照会し、実行時に、SQLフラグメントの経路を適正なノードに指定する。
一実施例に従うと、データ−ノード間のマッピングは、SQL(または他のいずれかのデータベースアクセス言語)のステートメントのコンパイル時に決定される必要はない。むしろ、以下により詳細に説明するように、データ−ノード間のマッピングは、実行時に規定および修正され得る。以下に説明する技術を用いると、データが存在するディスクへのアクセスを有する1つのノードから、データが存在するディスクへのアクセスを有する別のノードに所有権が変更する際に、データをディスク上の永続的な位置から移動させることなく所有権の変更が実行される。
ロッキング
ロックは、リソースへのアクセスを有するいくつかのエンティティ間でリソースへのアクセスを調整するために使用される構造である。非共有データベースシステムの場合、非共有データベース内のユーザデータへのアクセスを調整するためのグローバルロッキングが必要ではなくなる。なぜなら、いずれかの所定のデータ片が1つのノードによってのみ所有されているためである。しかしながら、非共有データベースのすべてのノードが、所有権のマップへのアクセスを要求するため、所有権のマップに対する整合性のない更新を防ぐために、何らかのロッキングが必要とされ得る。
一実施例に従うと、データ片の所有権が1つのノード(「以前の所有者」)から別のノード(「新規の所有者」)に再割当されている際に、2ノードロッキング方式が使用される。さらに、非共有データベースに関連するメタデータへのアクセスを制御するために、グローバルロッキング機構を使用することができる。このようなメタデータは、たとえば所有権のマップを含み得る。
データの所有権が、並列回復の目的で再分配されている場合、所有権のマップに対するロッキング方式は必要とされない。具体的には、所有権が実行時に変化しない場合、簡単な方式を用いて、故障しなかったノード間で回復を並列化することができる。たとえば、N個の故障しなかったノードが存在する場合、第1の故障しなかったノードは、最初の1/N個のバケット内のデッドノードが所有していたすべてのデータを回復する責任を追うことができる、等である。回復が完了した後に、デッドノードが所有していたすべてのデータの所有権は、1つのノードに返還される。
バケットベースのセグメント化
上述のように、非共有データベースにより管理されるデータがセグメント化され、各パーティション内のデータが1つのノードにより排他的に所有される。一実施例に従うと、これらのパーティションは、データを論理バケットに割当てた後に、それらのバケットの各々を1つのパーティションに割当てることによって規定される。したがって、所有権のマップ内のデータ−ノード間のマッピングは、データ−バケット間のマッピングおよびバケット−ノード間のマッピングを含む。
一実施例に従うと、データ−バケット間のマッピングは、各データ項目の名前にハッシュ関数を適用することによって規定される。同様に、バケット−ノード間のマッピングは、バケットに関連する識別子に別のハッシュ関数を適用することによって規定され得る。代替的に、マッピングの一方または両方は、範囲ベースのセグメント化を用いることにより、または、個々の関係の1つ1つを単に列挙することにより、規定され得る。たとえば、100万個のデータ項目の名前空間を50個の範囲に分割することにより、それらのデータ項目は、50個のバケットにマッピングされ得る。50個のバケットは次に、各バケットに関する、(1)そのバケットを識別し、(2)現時点でバケットが割当てられたノードを識別する記録を記憶することにより、5個のノードにマッピングされ得る。
バケットを使用することにより、各データ項目に関して別個のマッピング記録が記憶されていたマッピングに比べ、所有権のマッピングのサイズが大幅に縮小される。さらに、バケットの数がノードの数を上回る実施例では、バケットの使用により、所定のノードが所有するデータのサブセットへの所有権の再割当が相対的に容易になる。たとえば、1つの新規のノードには、現時点で10個のバケットが割当てられている1つのノードから、1つのバケットが割当てられ得る。このような再割当は、そのバケットについてのバケット−ノード間のマッピングを示す記録の修正を伴うに過ぎない。再割当されたデータのデータ−バケット間のマッピングは、変更されなくてよい。
上述のように、データ−バケット間のマッピングは、以下のものに限定されないが、ハッシュパーティション、範囲パーティション、またはリスト値を含むさまざまな技術のうちのいずれか1つを用いることによって規定され得る。範囲ベースのセグメント化が用いられ、かつ、範囲の数がノードの数よりもそれほど著しく大きくない場合は、データ項目をセグメント化するのに使用される範囲キーが変化しない値(日付等)である限り、データベースサーバは、粒度のより細かい(より狭い)範囲を用いて所望の数のバケットを得ることができる。範囲キーが変化し得る値である場合、データ項目は、特定のデータ項目についての範囲キーの値に対する変化に応じて古いバケットから除去されて、そのデータ項目の範囲キーの新規の値に対応するバケットに追加される。
所有権の最初の割当の規定
上述のマッピング技術を用いると、1つのテーブルまたは索引の所有権が複数のノード間で共有され得る。最初に、所有権の割当は無作為であることが考えられる。たとえば、ユーザは、データ−バケット間のマッピングに対してキーおよびセグメント化の技術(ハッシュ、範囲、リスト等)と、バケット−ノード間のマッピングに対してセグメント化の技術を選択することができるが、バケットの、ノードへの最初の割当は指定する必要がない。データベースサーバが次に、データ−バケット間のマッピングに対するキーに基づいて、バケット−ノード間のマッピングに対するキーを決定することができ、バケットによって表される特定のデータおよびデータベースオブジェクトに関係なく、バケット−ノード間の最初の割当を行うことができる。
たとえば、ユーザがキーAに基づいてオブジェクトをセグメント化することを選択する場合、データベースサーバはキーAを用いて、バケット−ノード間のマッピングを決定する。場合によっては、データベースサーバは、データ−バケット間のマッピングに使用さ
れるキーに対し、さらに別のキーを追加するか、または、異なる機能(その機能がデータ−バケット間のマッピングを保持する限り)を適用することができる。たとえば、オブジェクトが、キーAの使用により4個のデータバケットにハッシュセグメント化される場合、データベースサーバは、ハッシュ関数をキーBに適用してバケット−ノード間のマッピングを決定するか、または、ハッシュ値の数を12へと単に増大することにより、それらの4個のバケットの各々を3個のバケットに細分することができる(そして、バケットの、ノードへの柔軟性の高い割当を可能にする)。ハッシュがモジュロ関数である場合、0番目、4番目、および8番目のバケット−ノード間のバケットは、0番目のデータ−バケット間のバケットに対応し、1番目、5番目、および9番目のバケット−ノード間のバケットは、1番目のデータ−バケット間のバケットに対応する、等である。
別の例として、オブジェクトがDATE型を有するキーA上に範囲区分される場合、データ−バケット間のマッピングは、年を返す関数year(date)を用いることによって指定され得る。しかしながら、バケット−ノード間のマッピングは、month_and_year(date)を用いることにより、データベースサーバによって内部で計算され得る。各年の区分は、12個のバケット−ノード間のバケットに分割される。すなわち、データベースサーバは、特定の年(一般には現時点での年)の日付に対してアクセスが頻繁に行なわれていると判断した場合に、これらの12個のバケットを他のノード間で再分配することができる。
上で提示したいずれの例においても、バケット−ノード間のbucket#を考慮すると、データベースサーバは、データ−バケット間のbucket#を一意に決定することができる。また、これらの例において、ユーザは、データ−バケット間のマッピングに対してキーおよびセグメント化の技術を選択する。しかしながら、代替的な実施例において、ユーザは、データ−バケット間のマッピングに対してキーおよびセグメント化の技術を選択しないことが考えられる。むしろ、データ−バケット間のマッピングに対するキーおよびセグメント化の技術は、データベースサーバにより自動的に決定されることも考えられる。
一実施例に従うと、データベースサーバは、各ノードにいくつのバケットが割当てられるべきであるかに基づき、バケット−ノード間の最初の割当を行なう。たとえば、より大きな容量を有するノードには、より多くのバケットが割当てられ得る。しかしながら、最初の割当において、どの特定のバケットがどのノードに割当てられるべきかについての決定は無作為である。
代替的な実施例によると、データベースサーバは、バケット−ノード間の割当を行なう際に、どのデータが1つのバケットによって表わされているかを考慮する。たとえば、特定のテーブルに対するデータがいくつかのバケット間で分割されているものと想定されたい。データベースサーバは、それらのバケットのすべてを同じノードに作為的に割当てることができ、または、それらのバケットの所有権を多くのノード間に作為的に分配することができる。同様に、データベースサーバは、最初の割当において、テーブルに関連するバケットを、それらのテーブルに対する索引に関連するバケットと同じノードに割当てようと試みることが考えられる。反対に、データベースサーバは、テーブルに関連するバケットを、それらのテーブルに対する索引に関連するバケットが割当てられたノードとは異なるノードに割当てようと試みることが考えられる。
故障しなかったノード全体における、1つ以上のノードが所有していた共有データの並列回復
分散された、非共有データベースシステムの1つ以上のノードが故障することが考えられる。非共有データベースシステムが管理するデータの利用可能性を確保するために、故障したノード(「デッドノード」)が所有していたバケットを、故障しなかったノードに再割当しなければならない。一般に、バケット−ノード間のマッピング情報は、共有ディ
スク上に配置されるデータベースカタログに記憶される。このデータベースカタログを検査することにより、非共有データベースシステムの非故障ノードは、デッドノードが所有していたパーティションバケットのリストを確認することができる。
デッドノードが所有していたパーティションバケットが一旦識別されると、これらのパーティションバケットは、故障しなかったノード間に再分配される。バケットの所有権が割当てられた、故障しなかったノードが、バケットにマッピングするデータを含む共有ディスクへのアクセスを有している限り、根底にあるデータを移動させずにこの再分配が行なわれ得ることが重要な点である。たとえば、クラスタ100のノード102が故障したと想定されたい。バケットを所有していたノード102がパーティション112に対応する場合、このバケットは、ディスク150上のデータの物理的な位置を変更せずに、ノード104またはノード106のいずれかに再割当され得る。
デッドノードが以前に所有していたバケットの所有権が再割当された後に、それらのバケット内の項目に対し、故障しなかったノードにより、繰上げ動作およびロールバック動作が実行される。一実施例に従うと、故障ノードのバケットが割当てられる、故障しなかったノードは、故障ノードの再実行ログおよび故障ノードが所有していたデータへのアクセスを有する、故障しなかったノードのみを含む。代替的に、回復を実行する故障しなかったノードが、故障ノードのデータへのアクセスを有するものの、故障ノードの再実行ログへのアクセスを有さない場合、コーディネータが再実行ログを走査して、再実行が生成されたバケットに基づき、再実行ログに含まれる再実行記録を分配することができる。
一実施例に従うと、回復を行なっているノードは、回復されているブロックを特定の順序でディスクに書込み、問題を回避する。具体的には、大量の回復が(たとえば媒体の回復中に)実行されなければならない場合、回復ノードは、チェックポイントを取るか、または回復されたブロックをディスクに書込む。しかしながら、このような状況下でブロックがディスクに書込まれる際に、回復ノードは、どのような順序でも書込を実行しないことがあり得る。たとえば、ブロックAに対して生成された再実行が、ブロックBに対して生成された再実行よりも先行しており、ブロックAおよびBが2つの別個のノードにより回復されている場合、故障ノードの再実行のスレッドに対するチェックポイントがブロックBに対する再実行よりも先行し得ることをこのことが意味する場合には、特に、ブロックBをブロックAよりも先に書込むことはできない。この問題を回避するために、回復ノードは最も早期のダーティな回復ブロック(故障ノードから再実行が適用されたブロック)を互いに交換することができる。そのブロックが最も早期のダーティな回復ブロックである場合、ノードはそのブロックを書込むことができる。このようにして、ブロックは順番に書込まれる。
いくつかのノードが回復動作に携わっているため、回復動作は、パーティションを使用しない上述の手法よりも高速で実行される。さらに、故障前にセグメント化する上述の手法とは異なり、バケットの所有権の再分配が故障後に行なわれるため、実行時の不利益が生じない。
複数のノードに回復動作を分配して並列な回復動作を行なうためのここに記載する技術は、1つのノードが所有するオブジェクトの並列な媒体回復にも同様に適用される。具体的には、オブジェクトを含む媒体が故障すると、オブジェクトの一部の所有権は、回復の持続時間にわたり、いくつかのノードに分配され得る。所有権は、回復が完了してから、折りたたんで1つのノードに返却され得る。
入れ子状の故障を処理するための一実施例に従うと、データベースシステムは、取消しの一部がブロックに適用されたか否かを追跡する。取消しの適用を追跡することは有用で
ある。なぜなら、異なるパーティションを変更したトランザクションの早期の部分がロールバックされていることが考えられる一方で、それ以降の変更がロールバックされていないことが考えられるためである。
一実施例に従うと、再実行記録にパーティションバケットの番号が記憶される。たとえば、再実行記録が、特定のバケットに属するブロックに対して行なわれた変更を示す場合、そのバケットのバケット番号が再実行記録内に記憶される。その結果、再実行記録を適用する際に、回復プロセスは、回復を必要としないバケットのパーティションバケットの番号を示す再実行記録を自動的に飛ばすことができる。
再実行を適用する際に、すべての回復ノードが故障ノードの再実行ログを走査することができ、または、1つの回復コーディネータがログを走査して、回復に携わっているノードに再実行の一部を分配することができる。回復コーディネータが再実行の一部を分配する一実施例では、パーティションバケットの番号に基づいて再実行が分配される。したがって、特定のバケットを回復するために割当てられた回復ノードは、回復コーディネータから、そのバケットに属するすべてのデータ項目についての再実行を受取る。
回復動作中に、特定のデータ片が1つのパーティションから別のパーティションに移動することが考えられる。一実施例に従うと、1つのパーティションから別のパーティションにオブジェクトを移動させる動作は、挿入が後続する削除として扱われる。したがって、異なるバケットに属する再実行の部分間には順序依存性が存在しない。
選択的な並列化
一実施例に従うと、回復動作のうちの選択された部分のみが並列化される。たとえば、特定のノードが回復コーディネータとして割当てられ得る。回復中に、回復コーディネータは、回復コーディネータが並列化の基準を満たす回復タスクに遭遇するまで、回復を必要とするすべてのデータを順次に回復する。たとえば、並列化の基準は、特定の大きさのしきい値を上回るオブジェクトに対して並列な回復が用いられるべきであることを指定し得る。その結果、回復プロセス中に回復コーディネータがこのようなオブジェクトに遭遇すると、データベースサーバは、大きなオブジェクトに対応するバケットの所有権を再分配し、それにより、いくつかのノードがそのオブジェクトの並列な回復を補助することができる。指定されたタスクが完了すると、データの所有権は回復コーディネータに再割当され得る。
移動中のバケット
バケットの所有権が1つのノード(「以前の所有者」)から別のノード(「新規の所有者」)に転送されている間、このバケットは「移動中」であると考えられる。バケットが移動中の間に以前の所有者および/または新規の所有者が故障した場合、追加の回復ステップが必要となり得る。必要とされるこの追加の回復ステップは、データベースシステムが使用する所有権転送技術によって規定される。所有権転送技術により、以前の所有者および新規の所有者がいずれも、移動中のバケットに属するデータ項目のダーティなバージョンを有し得る場合、回復は、(1)故障しなかったノードに存在するデータ項目のキャッシュされたダーティなバージョンを使用すること、および(2)以前の所有者および新規の所有者の再実行ログをマージおよび適用することを含み得る。同様に、故障時にパーティションバケットが移動中である場合、複数のノードにより生成された取消しログを適用して、そのバケットに属するデータ項目をロールバックする必要があると考えられる。
どのバケットが回復を必要としているかの判断
ノードが故障すると、バケット−ノード間のマッピングを検査して、どのバケットが故障ノードに属しているか、したがって回復を必要としているかを判断することができる。
一実施例に従うと、バケット−ノード間のマッピングを介して第1のパスを形成して、どのバケットが回復を必要としているかを判断する。第1のパスの後に、回復を必要としないすべてのバケットは、アクセス用に直ちに利用可能となる。次に第2のパスが形成され、その間に回復を必要とするバケットに回復動作が実行される。第2のパスの間に実行される回復は、デッドノードが所有するすべてのデータの所有者として指定された1つのノードによって達成され得るか、または、所有権のマップを用いて故障しなかったノード間に分配され得る。
ハードウェアの概観
図2は、この発明の一実施例が実現され得るコンピュータシステム200を示すブロック図である。コンピュータシステム200は、バス202または情報を通信するための他の通信機構と、バス202に結合されて情報を処理するためのプロセッサ204とを含む。コンピュータシステム200は、バス202に結合されてプロセッサ204が実行する命令および情報を記憶するためのメインメモリ206、たとえばランダムアクセスメモリ(RAM)または他の動的記憶装置も含む。メインメモリ206は、プロセッサ204が実行する命令の実行中に、一時的数値変数または他の中間情報を記憶するためにも使用可能である。コンピュータシステム200は、バス202に結合されてプロセッサ204に対する静的情報および命令を記憶するための読出専用メモリ(ROM)208または他の静的記憶装置をさらに含む。磁気ディスクまたは光学ディスク等の記憶装置210が設けられてバス202に結合され、情報および命令を記憶する。
コンピュータシステム200は、コンピュータユーザに情報を表示するためのディスプレイ212、たとえば陰極線管(CRT)に、バス202を介して結合され得る。英数字キーおよび他のキーを含む入力装置214がバス202に結合されて、情報および指令選択をプロセッサ204に通信する。別の種類のユーザ入力装置が、方向情報および指令選択をプロセッサ204に通信してディスプレイ212上のカーソルの動作を制御するためのカーソル制御機器216、たとえばマウス、トラックボール、またはカーソル方向キーである。この入力装置は一般に、2つの軸、すなわち第1の軸(x等)および第2の軸(y等)において2自由度を有し、これによって入力装置は平面上で位置を特定することができる。
この発明は、この明細書に記載された技術を実現するためにコンピュータシステム200を用いることに関する。この発明の一実施例によると、これらの技術は、メインメモリ206に含まれる1つ以上の命令の1つ以上のシーケンスをプロセッサ204が実行することに応じて、コンピュータシステム200により実行される。このような命令は、別のコンピュータ読取可能な媒体、たとえば記憶装置210からメインメモリ206内に読出すことができる。メインメモリ206に含まれる命令のシーケンスを実行することにより、プロセッサ204はこの明細書に記載されたプロセスのステップを実行する。代替的な実施例では、ソフトウェア命令の代わりに、またはソフトウェア命令と組合せて結線回路を用いて、この発明を実施することができる。したがって、この発明の実施例は、ハードウェア回路およびソフトウェアのいずれかの特定の組合せに限定されない。
この明細書で用いられる「コンピュータ読取可能な媒体」という用語は、プロセッサ204に対して実行のために命令を提供することに携わる、いずれかの媒体を指す。このような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態を取り得るが、これらに限定されない。不揮発性媒体には、たとえば記憶装置210等の光学または磁気ディスクが含まれる。揮発性媒体には、メインメモリ206等の動的メモリが含まれる。伝送媒体には、同軸ケーブル、銅線、および光ファイバが含まれ、バス202を有するワイヤが含まれる。伝送媒体は、電波データ通信および赤外線データ通信の際に生成されるもの等の音波または光波の形を取り得る。
コンピュータ読取可能な媒体の一般的な形態には、たとえばフロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、他のいずれかの磁気媒体、CD−ROM、他のいずれかの光学媒体、パンチカード、紙テープ、孔のパターンを有する他のいずれかの物理的媒体、RAM、PROM、EPROM、FLASH−EPROM、他のいずれかのメモリチップもしくはカートリッジ、以下に述べる搬送波、またはコンピュータが読出すことのできる他のいずれかの媒体が含まれる。
プロセッサ204に対して実行のために1つ以上の命令の1つ以上のシーケンスを搬送することに対し、コンピュータ読取可能な媒体のさまざまな形態が関与し得る。たとえば、命令は、最初に遠隔コンピュータの磁気ディスクで搬送され得る。遠隔コンピュータはそれらの命令をそれ自体の動的メモリにロードして、それらの命令を、モデムを用いて電話回線経由で送信することができる。コンピュータシステム200に対してローカルなモデムが電話回線上のデータを受信して、赤外線送信機を用いてそのデータを赤外線信号に変換することができる。赤外線信号によって搬送されたデータは赤外線検出器によって受信され得、適切な回路がそのデータをバス202上に出力することができる。バス202はそのデータをメインメモリ206に搬送し、そこからプロセッサ204が命令を取り出して実行する。メインメモリ206が受信した命令は、プロセッサ204による実行前または実行後のいずれかに、記憶装置210に任意に記憶され得る。
コンピュータシステム200は、バス202に結合された通信インターフェイス218も含む。通信インターフェイス218は、ローカルネットワーク222に接続されたネットワークリンク220に対する双方向のデータ通信結合を提供する。たとえば通信インターフェイス218は、対応する種類の電話回線に対するデータ通信接続を設けるためのサービス統合デジタル網(ISDN)カードまたはモデムであり得る。別の例として、通信インターフェイス218は、互換性を有するローカルエリアネットワーク(LAN)にデータ通信接続を設けるためのLANカードであり得る。無線リンクもまた実現することができる。このようなどの実現例においても、通信インターフェイス218は、さまざまな種類の情報を表わすデジタルデータストリームを搬送する電気信号、電磁信号、または光信号を送受信する。
ネットワークリンク220は一般に、1つ以上のネットワーク経由で他のデータ装置に対してデータ通信を提供する。たとえば、ネットワークリンク220は、ローカルネットワーク222経由で、ホストコンピュータ224か、またはインターネットサービスプロバイダ(Internet Service Provider)(ISP)226により運営されるデータ装置に接続を提供することができる。ISP226は次いで、現在一般に「インターネット」228と呼ばれるワールドワイドパケットデータ通信網を介してデータ通信サービスを提供する。ローカルネットワーク222およびインターネット228はともに、デジタルデータストリームを搬送する電気信号、電磁信号、または光信号を用いる。さまざまなネットワークを経由する信号と、ネットワークリンク220上の、または、通信インターフェイス218経由の信号とは、コンピュータシステム200との間でデジタルデータを搬送し、情報を運ぶ搬送波の例示的形態である。
コンピュータシステム200は、ネットワーク、ネットワークリンク220、および通信インターフェイス218を介してメッセージを送信して、プログラムコードを含むデータを受信することができる。インターネットの例では、サーバ230は、インターネット228、ISP226、ローカルネットワーク222、および通信インターフェイス218経由で、アプリケーションプログラムに対して要求されたコードを送信することができる。
受信されたコードは、受信されたときにプロセッサ204によって実行され得、および/または後の実行のために記憶装置210もしくは他の不揮発性記憶装置に記憶され得る。このようにして、コンピュータシステム200は搬送波の形でアプリケーションコードを得ることができる。
上述の明細書では、この発明の実施例を実現例ごとに異なり得る多数の特定の詳細を参照して説明してきた。したがって、この発明が何であるか、およびこの発明を目指して出願人が何を意図しているかを排他的に示す唯一のものが、この出願から発生して特有の形態をとった一組の請求項である。特有の形態においてこのような請求項は、今後のどのような補正をも含んで発生する。このような請求項に含まれる用語に対してここで明示されたどのような定義も、請求項で用いられる用語の意味を決定するものとする。したがって、請求項に明示的に記載されていない限定、要素、特性、特徴、利点または属性は、このような請求項の範囲を決して限定しない。したがって、明細書および図面は限定的な意味ではなく例示的な意味で捉えられるべきである。
この発明の一実施例に従った、2つの共有ディスクサブシステムを含むクラスタを示すブロック図である。 この発明の実施例が実現され得るコンピュータシステムのブロック図である。

Claims (26)

  1. データを管理するための方法であって、
    複数のノードにとってアクセス可能な永続的な記憶上に複数の永続的なデータ項目を保存するステップを含み、前記永続的なデータ項目は、前記永続的な記憶上の特定の位置に記憶される特定のデータ項目を含み、前記方法はさらに、
    前記ノードの1つに、永続的なデータ項目の各々の排他的な所有権を割当てるステップを含み、前記複数のノードの特定のノードには、前記特定のデータ項目の排他的な所有権が割当てられ、
    いずれかのノードが前記特定のデータ項目を必要とする演算が実行されることを望むと、前記演算が実行されることを望む前記ノードは、前記特定のデータ項目が前記特定のノードにより排他的に所有されている時に、前記特定のノードが前記特定のデータ項目についての演算を実行するように前記特定のノードに前記演算を転送し、前記方法はさらに、
    1つのノードにより排他的に所有される一組の永続的なデータ項目を巻き込む故障に応じて、
    2つ以上の回復ノードの各々に対し、前記故障に巻き込まれていた前記一組の永続的なデータ項目のサブセットの排他的な所有権を割当てるステップと、
    前記2つ以上の回復ノードの各回復ノードが、前記回復ノードに割当てられた永続的なデータ項目の前記サブセットに回復動作を実行するステップとを含む、方法。
  2. 前記故障は、前記一組の永続的なデータ項目を記憶する永続的な記憶装置の媒体の故障である、請求項1に記載の方法。
  3. 前記故障は、前記一組の永続的なデータ項目の排他的な所有権を有するノードの故障であり、
    割当てる前記ステップは、2つ以上の回復ノードの各々に対し、前記故障ノードにより排他的に所有されていた前記永続的なデータ項目のサブセットの排他的な所有権を割当てるステップを含む、請求項1に記載の方法。
  4. 前記2つ以上の回復ノードは、第1の回復ノードおよび第2の回復ノードを含み、
    前記第1の回復ノードに排他的に割当てられたデータのサブセットに対して前記第1の回復ノードにより実行される前記回復動作の少なくとも一部は、前記第2の回復ノードに排他的に割当てられたデータのサブセットに対して前記第2の回復ノードにより実行される回復動作の少なくとも一部と並列して実行される、請求項3に記載の方法。
  5. 前記複数の永続的なデータ項目を複数のバケットに編成するステップと、
    前記複数のバケットと前記複数のノードとの間でマッピングを規定するステップとを含み、各ノードは、前記ノードにマッピングするすべてのバケットに属するデータ項目の排他的な所有権を有し、前記方法はさらに、
    前記マッピングに基づき、どのデータ項目が回復を必要としているかを判断するステップを含む、請求項3に記載の方法。
  6. どのバケットが回復を必要とする前記データ項目を有しているかを判断するために、第1のマッピングに第1のパスを実行するステップと、
    回復を必要とする前記データ項目に回復を実行するために、前記マッピングに第2のパスを実行するステップと、
    前記第1のパスを実行した後に、かつ、前記第2のパスを完了する前に、回復を必要としないすべてのバケットに属するデータ項目を、アクセス用に利用可能にするステップとをさらに含む、請求項5に記載の方法。
  7. 前記2つ以上の回復ノードの各回復ノードは、前記故障ノードに関連する回復ログに基づき、永続的な記憶に回復動作を実行する、請求項3に記載の方法。
  8. 回復コーディネータが、故障したノードに関連する前記回復ログを走査し、前記2つ以上の回復ノードに回復記録を分配するステップをさらに含む、請求項7に記載の方法。
  9. 前記2つ以上の回復ノードの各々は、前記故障ノードに関連する回復ログを走査する、請求項7に記載の方法。
  10. 前記2つ以上の回復ノードの各回復ノードが回復動作を実行する前記ステップは、ブロックに取消し記録を適用するステップを含み、
    前記方法はさらに、どの取消し記録が適用されたかを追跡するステップを含む、請求項3に記載の方法。
  11. 故障の前に、前記故障ノードが、前記故障ノードによって生成される再実行記録内に、前記再実行記録に関連する前記データ項目がどのバケットに属するかを示すバケット番号を記憶するステップをさらに含む、請求項5に記載の方法。
  12. 前記故障ノードの回復は、さまざまなタスクを含み、前記方法はさらに、
    前記故障ノードの回復に必要とされる第1の組の1つ以上のタスクが、順次に実行されるべきであること、および、前記故障ノードの回復に必要とされる第2の組の1つ以上のタスクが、並列に実行されるべきであることを回復コーディネータが判断するステップと、
    前記第1の組の1つ以上のタスクを順次に実行するステップと、
    前記第2の組の1つ以上のタスクを並列に実行するために、前記2つ以上の回復ノードを用いるステップとをさらに含む、請求項3に記載の方法。
  13. 前記故障ノードの回復に必要とされる第2の組の1つ以上のタスクが並列に実行されるべきであることを判断する前記ステップは、少なくとも部分的に、回復を必要とする1つ以上のオブジェクトのサイズに基づいて実行される、請求項12に記載の方法。
  14. 前記第2の組の1つ以上のタスクに関係するデータ項目の所有権は、前記回復コーディネータから前記2つ以上の回復ノードに渡されて、前記2つ以上の回復ノードが前記第2の組の1つ以上のタスクを実行できるようにし、
    前記第2の組の1つ以上のタスクの実行の後に、かつ、前記故障ノードの回復の完了前に、前記第2の組の1つ以上のタスクに関係するデータ項目の所有権は、前記2つ以上の回復ノードから前記回復コーディネータに再び渡される、請求項12に記載の方法。
  15. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項3に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  16. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項4に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  17. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項5に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  18. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項6に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  19. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項7に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  20. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項8に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  21. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項9に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  22. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項10に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  23. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項11に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  24. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項12に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  25. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項13に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
  26. 1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに請求項14に記載の方法を実行させる命令の1つ以上のシーケンスを搬送する、コンピュータ読取可能な媒体。
JP2006522046A 2003-08-01 2004-07-28 非故障ノードによる並列な回復 Active JP4586019B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49201903P 2003-08-01 2003-08-01
US10/831,413 US8234517B2 (en) 2003-08-01 2004-04-23 Parallel recovery by non-failed nodes
PCT/US2004/024425 WO2005013154A2 (en) 2003-08-01 2004-07-28 Parallel recovery by non-failed nodes

Publications (2)

Publication Number Publication Date
JP2007501455A true JP2007501455A (ja) 2007-01-25
JP4586019B2 JP4586019B2 (ja) 2010-11-24

Family

ID=34118902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006522046A Active JP4586019B2 (ja) 2003-08-01 2004-07-28 非故障ノードによる並列な回復

Country Status (6)

Country Link
US (1) US8234517B2 (ja)
EP (1) EP1649374B1 (ja)
JP (1) JP4586019B2 (ja)
AU (1) AU2004262370B2 (ja)
CA (1) CA2532048C (ja)
WO (1) WO2005013154A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156679A (ja) * 2005-12-02 2007-06-21 Hitachi Ltd サーバの障害回復方法及びデータベースシステム
JP2016531348A (ja) * 2013-08-26 2016-10-06 ヴイエムウェア インコーポレイテッドVMware,Inc. クラスタメンバーシップ管理における分断耐性
US10855602B2 (en) 2013-08-26 2020-12-01 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US11210035B2 (en) 2013-08-26 2021-12-28 Vmware, Inc. Creating, by host computers, respective object of virtual disk based on virtual disk blueprint
US11249956B2 (en) 2013-08-26 2022-02-15 Vmware, Inc. Scalable distributed storage architecture

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277897B2 (en) * 2003-08-01 2007-10-02 Oracle International Corporation Dynamic reassignment of data ownership
US7120651B2 (en) * 2003-08-01 2006-10-10 Oracle International Corporation Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping
US8234517B2 (en) * 2003-08-01 2012-07-31 Oracle International Corporation Parallel recovery by non-failed nodes
US7139772B2 (en) * 2003-08-01 2006-11-21 Oracle International Corporation Ownership reassignment in a shared-nothing database system
US7080214B2 (en) * 2003-10-16 2006-07-18 International Business Machines Corporation Directory based support for function shipping in a multiprocessor system
US20050283658A1 (en) * 2004-05-21 2005-12-22 Clark Thomas K Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system
JP4574230B2 (ja) * 2004-05-27 2010-11-04 株式会社日立製作所 データベース管理方法及びデータベースシステム
US7315872B2 (en) * 2004-08-31 2008-01-01 International Business Machines Corporation Dynamic and selective data source binding through a metawrapper
US7933868B2 (en) * 2004-11-04 2011-04-26 Microsoft Corporation Method and system for partition level cleanup of replication conflict metadata
US8566326B2 (en) * 2004-11-05 2013-10-22 Oracle International Corporation High-performance log-based processing
US7814065B2 (en) 2005-08-16 2010-10-12 Oracle International Corporation Affinity-based recovery/failover in a cluster environment
US20070162506A1 (en) * 2006-01-12 2007-07-12 International Business Machines Corporation Method and system for performing a redistribute transparently in a multi-node system
JP2007249468A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd Cpu割当方法、cpu割当プログラム、cpu割当装置、および、データベース管理システム
US7702660B2 (en) * 2006-12-12 2010-04-20 Oracle International Corporation I/O free recovery set determination
US8150870B1 (en) * 2006-12-22 2012-04-03 Amazon Technologies, Inc. Scalable partitioning in a multilayered data service framework
US7769732B2 (en) * 2007-08-27 2010-08-03 International Business Machines Corporation Apparatus and method for streamlining index updates in a shared-nothing architecture
US20090063589A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Apparatus and method to decouple large object data processing from main-line data processing in a shared-nothing architecture
US20090063807A1 (en) * 2007-08-29 2009-03-05 International Business Machines Corporation Data redistribution in shared nothing architecture
US8527454B2 (en) * 2007-08-29 2013-09-03 Emc Corporation Data replication using a shared resource
US8707318B2 (en) * 2007-10-12 2014-04-22 Microsoft Corporation Partitioning system including a generic partitioning manager for partitioning resources
US7774311B2 (en) * 2008-07-17 2010-08-10 International Business Machines Corporation Method and apparatus of distributing data in partioned databases operating on a shared-nothing architecture
US8429134B2 (en) * 2009-09-08 2013-04-23 Oracle International Corporation Distributed database recovery
US8510334B2 (en) 2009-11-05 2013-08-13 Oracle International Corporation Lock manager on disk
US8990185B2 (en) 2010-02-19 2015-03-24 International Business Machines Corporation Evaluating reference based operations in shared nothing parallelism systems
US8768973B2 (en) * 2010-05-26 2014-07-01 Pivotal Software, Inc. Apparatus and method for expanding a shared-nothing system
US8290919B1 (en) * 2010-08-27 2012-10-16 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8392368B1 (en) 2010-08-27 2013-03-05 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8768981B1 (en) 2010-08-27 2014-07-01 Disney Enterprises, Inc. System and method for distributing and accessing files in a distributed storage system
US8793250B1 (en) 2010-12-17 2014-07-29 Amazon Technologies, Inc. Flexible partitioning of data
JP5967073B2 (ja) * 2011-02-21 2016-08-10 富士通株式会社 プロセッサ管理方法
US10706021B2 (en) * 2012-01-17 2020-07-07 Oracle International Corporation System and method for supporting persistence partition discovery in a distributed data grid
US9405815B1 (en) * 2012-10-02 2016-08-02 Amazon Technologies, Inc. Data recovery in a distributed computing environment
US9609050B2 (en) 2013-01-31 2017-03-28 Facebook, Inc. Multi-level data staging for low latency data access
US10223431B2 (en) * 2013-01-31 2019-03-05 Facebook, Inc. Data stream splitting for low-latency data access
US8903779B1 (en) 2013-03-06 2014-12-02 Gravic, Inc. Methods for returning a corrupted database to a known, correct state
US9760654B2 (en) 2013-04-26 2017-09-12 Wal-Mart Stores, Inc. Method and system for focused multi-blocking to increase link identification rates in record comparison
US9384238B2 (en) * 2013-04-26 2016-07-05 Wal-Mart Stores, Inc. Block partitioning for efficient record processing in parallel computing environment
US9348717B2 (en) * 2013-07-24 2016-05-24 Netapp, Inc. Storage failure processing in a shared storage architecture
US9703853B2 (en) 2013-08-29 2017-07-11 Oracle International Corporation System and method for supporting partition level journaling for synchronizing data in a distributed data grid
US10635644B2 (en) * 2013-11-11 2020-04-28 Amazon Technologies, Inc. Partition-based data stream processing framework
US10203981B2 (en) * 2014-02-28 2019-02-12 Red Hat, Inc. Systems and methods for prepare list communication to participants in two-phase commit protocol transaction processing
US10474493B2 (en) * 2014-02-28 2019-11-12 Red Hat, Inc. Systems and methods for semi-durable transaction log storage in two-phase commit protocol transaction processing
US9483311B2 (en) * 2014-09-15 2016-11-01 International Business Machines Corporation Logical data shuffling
US9804935B1 (en) 2015-01-26 2017-10-31 Intel Corporation Methods for repairing a corrupted database to a new, correct state by selectively using redo and undo operations
US9830223B1 (en) * 2015-01-26 2017-11-28 Intel Corporation Methods for repairing a corrupted database to a new, correct state
US11100073B2 (en) * 2015-11-12 2021-08-24 Verizon Media Inc. Method and system for data assignment in a distributed system
US10852998B2 (en) * 2016-02-25 2020-12-01 Rubrik, Inc. Sub-cluster recovery using a partition group index
KR101797482B1 (ko) * 2016-04-22 2017-11-14 주식회사 티맥스데이터 데이터베이스 시스템에서 블록 복구 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
US10740198B2 (en) * 2016-12-22 2020-08-11 Purdue Research Foundation Parallel partial repair of storage
US10705925B2 (en) 2017-03-24 2020-07-07 Hewlett Packard Enterprise Development Lp Satisfying recovery service level agreements (SLAs)
US10331363B2 (en) 2017-11-22 2019-06-25 Seagate Technology Llc Monitoring modifications to data blocks
US11003557B2 (en) 2018-12-10 2021-05-11 International Business Machines Corporation Dynamic data restoration from multiple recovery sites implementing synchronous remote mirroring
US11461194B2 (en) * 2020-10-30 2022-10-04 Cohesity, Inc. Parallel restore of a large object
US11593309B2 (en) * 2020-11-05 2023-02-28 International Business Machines Corporation Reliable delivery of event notifications from a distributed file system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262069A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 障害回復方法
JP2000163372A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Family Cites Families (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US51187A (en) * 1865-11-28 Improvement in horse-rakes
CA243538A (en) 1924-10-14 Henry Blackmore John Lumbermen's road-making tank
US5109483A (en) * 1987-06-15 1992-04-28 International Business Machines Corp. Node initiating xid exchanges over an activated link including an exchange of sets of binding signals between nodes for establishing sessions
US4827411A (en) * 1987-06-15 1989-05-02 International Business Machines Corporation Method of maintaining a topology database
US4914571A (en) * 1987-06-15 1990-04-03 International Business Machines Corporation Locating resources in computer networks
US5101348A (en) * 1988-06-23 1992-03-31 International Business Machines Corporation Method of reducing the amount of information included in topology database update messages in a data communications network
US4873517A (en) * 1988-06-23 1989-10-10 International Business Machines Corporation Method for selecting least weight end node to end node route in a data communications network
US4972437A (en) * 1988-06-24 1990-11-20 International Business Machines Corporation Method of controlling limited resource sessions in a data communications network
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
EP0483424A1 (en) 1990-10-30 1992-05-06 International Business Machines Corporation Key hashing in data processors
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
IL99923A0 (en) * 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes
US5555404A (en) 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US5313051A (en) * 1992-04-06 1994-05-17 International Business Machines Corp. Paperless parcel tracking system
US5432926A (en) * 1992-12-04 1995-07-11 International Business Machines Corporation Method and apparatus for improving database reliability and response time in a distributed transaction processing system
US5687369A (en) 1993-09-02 1997-11-11 International Business Machines Corporation Selecting buckets for redistributing data between nodes in a parallel database in the incremental mode
DE4497320T1 (de) * 1993-09-27 1996-11-21 Oracle Corp Verfahren und Vorrichtung zur parallelen Verarbeitung in einem Datenbanksystem
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
JP3239669B2 (ja) 1995-02-20 2001-12-17 株式会社日立製作所 記憶制御装置及びその制御方法
JP3020833B2 (ja) * 1995-06-19 2000-03-15 株式会社東芝 チェックポイント取得システム
KR100379222B1 (ko) 1995-07-21 2003-07-16 이엠씨 코포레이션 동적 로드 조정방법
US5740362A (en) * 1995-11-06 1998-04-14 International Business Machines Corporation Management of network distributed agents in a distributed computing environment
US5805785A (en) * 1996-02-27 1998-09-08 International Business Machines Corporation Method for monitoring and recovery of subsystems in a distributed/clustered system
US6311265B1 (en) * 1996-03-25 2001-10-30 Torrent Systems, Inc. Apparatuses and methods for programming parallel computers
US6247026B1 (en) 1996-10-11 2001-06-12 Sun Microsystems, Inc. Method, apparatus, and product for leasing of delegation certificates in a distributed system
US5892754A (en) * 1996-06-07 1999-04-06 International Business Machines Corporation User controlled adaptive flow control for packet networks
US5832484A (en) * 1996-07-02 1998-11-03 Sybase, Inc. Database system with methods for parallel lock management
US5966706A (en) * 1997-02-19 1999-10-12 At&T Corp Local logging in a distributed database management computer system
DE69715588T2 (de) * 1997-02-28 2003-01-23 Alcatel Sa Schnittstellenvorrichtung zur Ersetzung von M Sätzen von Bits aus N Sätzen von Bits, mit Steuereinrichtung und logischer Zelle
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US5951695A (en) * 1997-07-25 1999-09-14 Hewlett-Packard Company Fast database failover
US5996086A (en) * 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US6253229B1 (en) * 1997-11-19 2001-06-26 International Business Machines Corporation Hotspots only interfaces to links in hypertext document pages in network display stations
US6253273B1 (en) * 1998-02-06 2001-06-26 Emc Corporation Lock mechanism
WO2003003252A1 (en) 1998-02-12 2003-01-09 Oracle International Corporation Partitioning ownership of a database among different database servers to control access to the database
US6011918A (en) * 1998-04-22 2000-01-04 International Business Machines Corporation Methods, systems and computer program products for generating client/server applications
US6480895B1 (en) 1998-05-06 2002-11-12 International Business Machines Corporation Integration of objects including Java bytecodes with legacy 3270 applications
US6370619B1 (en) 1998-06-22 2002-04-09 Oracle Corporation Managing partitioned cache
US6272491B1 (en) * 1998-08-24 2001-08-07 Oracle Corporation Method and system for mastering locks in a multiple server database system
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6295610B1 (en) * 1998-09-17 2001-09-25 Oracle Corporation Recovering resources in parallel
US6530035B1 (en) * 1998-10-23 2003-03-04 Oracle Corporation Method and system for managing storage systems containing redundancy data
US6321238B1 (en) * 1998-12-28 2001-11-20 Oracle Corporation Hybrid shared nothing/shared disk database system
US6341340B1 (en) * 1998-12-28 2002-01-22 Oracle Corporation Transitioning ownership of data items between ownership groups
US6438714B1 (en) 1999-03-31 2002-08-20 International Business Machines Corporation Method and apparatus for testing large arrays of storage devices
US6453404B1 (en) * 1999-05-27 2002-09-17 Microsoft Corporation Distributed data cache with memory allocation model
US6622263B1 (en) * 1999-06-30 2003-09-16 Jack Justin Stiffler Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance
US6567811B1 (en) 1999-07-15 2003-05-20 International Business Machines Corporation Method and system to merge volume groups on a UNIX-based computer system
US6567509B1 (en) 1999-07-22 2003-05-20 International Business Machines Corporation Method and system to extend functionality of voice processing systems
US6636248B1 (en) 1999-09-01 2003-10-21 International Business Machines Corporation Method and system for visually delineating a relationship between related graphical windows in a graphical user interface
US6658589B1 (en) * 1999-12-20 2003-12-02 Emc Corporation System and method for backup a parallel server data storage system
US6594676B1 (en) * 2000-04-10 2003-07-15 International Business Machines Corporation System and method for recovery of multiple shared database data sets using multiple change accumulation data sets as inputs
US6873987B1 (en) * 2000-05-31 2005-03-29 International Business Machines Corporation Method, system and program products for recovering from failures within a shared nothing distributed computing environment
AU6778601A (en) * 2000-06-26 2002-01-08 International Business Machines Corporation Data management application programming interface for a parallel file system
US6728897B1 (en) * 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
EP1412858B1 (en) 2001-03-07 2018-04-25 Oracle International Corporation Managing checkpoint queues in a multiple node system
US6708175B2 (en) * 2001-06-06 2004-03-16 International Business Machines Corporation Program support for disk fencing in a shared disk parallel file system across storage area network
EP2562662B1 (en) 2001-06-28 2019-08-21 Oracle International Corporation Partitioning ownership of a database among different database servers to control access to the database
US6928580B2 (en) * 2001-07-09 2005-08-09 Hewlett-Packard Development Company, L.P. Distributed data center system protocol for continuity of service in the event of disaster failures
US6922791B2 (en) * 2001-08-09 2005-07-26 Dell Products L.P. Failover system and method for cluster environment
US20030041215A1 (en) * 2001-08-27 2003-02-27 George Robert T. Method and apparatus for the utilization of distributed caches
CN1320483C (zh) * 2001-09-21 2007-06-06 泛伺服公司 用于在多节点环境中实施日志处理的系统和方法
US7127633B1 (en) * 2001-11-15 2006-10-24 Xiotech Corporation System and method to failover storage area network targets from one interface to another
US20030154236A1 (en) * 2002-01-22 2003-08-14 Shaul Dar Database Switch enabling a database area network
US7178050B2 (en) * 2002-02-22 2007-02-13 Bea Systems, Inc. System for highly available transaction recovery for transaction processing systems
US7039828B1 (en) * 2002-02-28 2006-05-02 Network Appliance, Inc. System and method for clustered failover without network support
US8140622B2 (en) * 2002-05-23 2012-03-20 International Business Machines Corporation Parallel metadata service in storage area network environment
US6947956B2 (en) * 2002-06-06 2005-09-20 International Business Machines Corporation Method and apparatus for selective caching of transactions in a computer system
US6981104B2 (en) * 2002-07-12 2005-12-27 Hewlett-Packard Development Company, L.P. Method for conducting checkpointing within a writeback cache
US7293024B2 (en) * 2002-11-14 2007-11-06 Seisint, Inc. Method for sorting and distributing data among a plurality of nodes
US8676843B2 (en) * 2002-11-14 2014-03-18 LexiNexis Risk Data Management Inc. Failure recovery in a parallel-processing database system
US7827283B2 (en) * 2003-02-19 2010-11-02 International Business Machines Corporation System for managing and controlling storage access requirements
US20040172508A1 (en) * 2003-02-27 2004-09-02 Vincent Nguyen System and method for memory mirroring
US7277897B2 (en) 2003-08-01 2007-10-02 Oracle International Corporation Dynamic reassignment of data ownership
US8234517B2 (en) * 2003-08-01 2012-07-31 Oracle International Corporation Parallel recovery by non-failed nodes
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US7739677B1 (en) * 2005-05-27 2010-06-15 Symantec Operating Corporation System and method to prevent data corruption due to split brain in shared data clusters

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262069A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 障害回復方法
JP2000163372A (ja) * 1998-11-27 2000-06-16 Hitachi Ltd トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CSNB200400045001, グレイ ジム, トランザクション処理 [下] 1版, 20011029, 第1版, p.633−783, 日経BP社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007156679A (ja) * 2005-12-02 2007-06-21 Hitachi Ltd サーバの障害回復方法及びデータベースシステム
JP2016531348A (ja) * 2013-08-26 2016-10-06 ヴイエムウェア インコーポレイテッドVMware,Inc. クラスタメンバーシップ管理における分断耐性
US10855602B2 (en) 2013-08-26 2020-12-01 Vmware, Inc. Distributed policy-based provisioning and enforcement for quality of service
US11016820B2 (en) 2013-08-26 2021-05-25 Vmware, Inc. Load balancing of resources
US11210035B2 (en) 2013-08-26 2021-12-28 Vmware, Inc. Creating, by host computers, respective object of virtual disk based on virtual disk blueprint
US11249956B2 (en) 2013-08-26 2022-02-15 Vmware, Inc. Scalable distributed storage architecture
US11704166B2 (en) 2013-08-26 2023-07-18 Vmware, Inc. Load balancing of resources
US11809753B2 (en) 2013-08-26 2023-11-07 Vmware, Inc. Virtual disk blueprints for a virtualized storage area network utilizing physical storage devices located in host computers

Also Published As

Publication number Publication date
AU2004262370A1 (en) 2005-02-10
WO2005013154A3 (en) 2005-09-09
US8234517B2 (en) 2012-07-31
EP1649374B1 (en) 2017-08-23
JP4586019B2 (ja) 2010-11-24
CA2532048C (en) 2013-04-30
EP1649374A2 (en) 2006-04-26
WO2005013154A2 (en) 2005-02-10
CA2532048A1 (en) 2005-02-10
US20040215640A1 (en) 2004-10-28
AU2004262370B2 (en) 2011-01-27

Similar Documents

Publication Publication Date Title
JP4586019B2 (ja) 非故障ノードによる並列な回復
JP4557975B2 (ja) 非共有データベースシステムにおける所有権の再割当
JP4614956B2 (ja) データの所有権の動的な再割当
CN109739935B (zh) 数据读取方法、装置、电子设备以及存储介质
US7120651B2 (en) Maintaining a shared cache that has partitions allocated among multiple nodes and a data-to-partition mapping
US6832298B2 (en) Server system operation control method
CN111143389A (zh) 事务执行方法、装置、计算机设备及存储介质
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
Lahiri et al. Cache fusion: Extending shared-disk clusters with shared caches
CN109783578B (zh) 数据读取方法、装置、电子设备以及存储介质
CN1829974B (zh) 借助于非失败节点的并行恢复
Kumar et al. Performance measurement of some main memory database recovery algorithms
CN117874050A (zh) 一种基于云原生分布式数据库的跨节点数据访问优化方法
AU2004262380B2 (en) Dynamic reassignment of data ownership
CN117851359A (zh) 基于数据库集群的数据处理方法、装置和计算机设备
CN116975053A (zh) 一种数据处理方法、装置、设备、介质及程序产品
von Bültzingsloewen et al. Two-level transaction management in a multiprocessor database machine
Moldovan Scaling Distributed Database Management Systems by using a Grid-based Storage Service

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100713

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4586019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250