JP2011060292A - 複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム - Google Patents

複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム Download PDF

Info

Publication number
JP2011060292A
JP2011060292A JP2010203477A JP2010203477A JP2011060292A JP 2011060292 A JP2011060292 A JP 2011060292A JP 2010203477 A JP2010203477 A JP 2010203477A JP 2010203477 A JP2010203477 A JP 2010203477A JP 2011060292 A JP2011060292 A JP 2011060292A
Authority
JP
Japan
Prior art keywords
database
replication
transaction
data
computer
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
JP2010203477A
Other languages
English (en)
Other versions
JP5496839B2 (ja
Inventor
William T Newport
ウイリアム・ティー・ニューポート
John Joseph Stecher
ジョン・ジョセフ・シュテヒャー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2011060292A publication Critical patent/JP2011060292A/ja
Application granted granted Critical
Publication of JP5496839B2 publication Critical patent/JP5496839B2/ja
Expired - Fee Related 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
    • G06F16/275Synchronous replication
    • 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
    • G06F16/273Asynchronous replication or reconciliation

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

【課題】ローカル・データベースを複製データベースに複製するために、同期及び非同期レプリケーションの組み合わせを使用する。
【解決手段】同期及び非同期レプリケーションの間の典型的なトレードオフは、ハイブリッド・レプリケーションを使用することにより最適化される。このハイブリッド・レプリケーションは、新しいデータを挿入するために同期レプリケーションを使用し、そして既存データを更新するために非同期レプリケーションを使用する。このように、同期及び非同期レプリケーションを組み合わせて使用すると、効率的な複製データベースを提供することができる。この複製データベースは、データ更新における多少の遅れを許容することができるが、新しいデータの「損失なし」を必要とする。
【選択図】 図4

Description

本発明は、一般にコンピュータ資源のレプリケーション(replication)に係り、さらに詳細に説明すれば、高速で且つ効率的なリアルタイムのデータ・レプリケーションを提供するために同期方法及び非同期方法を組み合わせるデータ・レプリケーションに係る。
高信頼性で且つ高速のデータ処理システムに対する要請は、増加の一途をたどっている。これらのデータ処理システムは、ハードウェア障害、ソフトウェア障害、自然災害等によって引き起こされる中断に直面する際に、いつでも重要なデータを提供することができるデータ・リポジトリを必要とする。必要なデータ使用可能性を達成するために、多くのデータ・システムは、重要なデータをバックアップし且つ格納するために遠隔データ・リポジトリを使用する。遠隔データ・リポジトリへの高速データ・バックアップを行うための通常の手段は、データベース・レプリケーションによる。
データベース・レプリケーションを用いる場合、データベース管理システムは、十分な情報に基づいて、データを複数のローカル・ストレージ装置に書き込むべきか又はローカル・ストレージ装置及び遠隔ストレージ装置に書き込むべきかという決定を行うことができるが、そのような同期は、著しい性能低下を招くことになる。データを複数のストレージ装置に同時に複製する技術は、ミラーリングとしても知られている。一般に、データ・レプリケーションは、同期又は非同期である。同期データ・レプリケーションでは、複製データベース(replicated database)は、1次データベース内の現情報で常に更新される。このようにして、重要なデータは、これをいつでもアクセス可能にすることができる。データベースの更新ごとに遠隔サイトへの大量のデータ伝送が必要である場合、トランザクション及びレコードの一貫性を保証することは、しばしばデータ伝送の遅れに帰着する。従って、アプリケーションの性能は、許容できないレベルにまで低下することがある。
また、データベース・レプリケーション・システムは、非同期レプリケーションを使用する。非同期システムでは、複製データベース内のデータは、バッチに分けて又は指定された間隔で更新される。非同期システムは、より少ないシステム資源を使用するが、1次データベースの障害が生じる場合、複製データベース上の「データ損失なし」(no data loss)を保証しない。従って、複製データベースにおける「データ損失なし」を必要とするアプリケーションは、しばしば非同期レプリケーションを使用することができず、そのため、より遅い同期レプリケーション技術に依存する。
非同期システムは、より高速で、より少ないシステム資源を使用するが、複製データベース上の「データ損失なし」を保証しない。同期レプリケーション・システムは、「データ損失なし」を保証することができるが、より低速で、システム資源に対してより高いコストを有する。従って、非同期及び同期データ・レプリケーションの間には、トレードオフがある。
本発明は、同期及び非同期レプリケーションの組み合わせを使用して、ローカル・データベースから複製データベースへのデータ・レプリケーションを行うことに向けられている。同期及び非同期レプリケーションの間の典型的なトレードオフは、ハイブリッド・レプリケーションを使用することにより最適化される。このハイブリッド・レプリケーションとは、新しいデータを挿入するために同期レプリケーションを使用し、そして既存データを更新するために非同期レプリケーションを使用することを意味する。このように、同期及び非同期レプリケーションを組み合わせて使用すると、効率的な複製データベースを提供することができる。この複製データベースは、データ更新における多少の遅れを許容することができるが、新しいデータの「損失なし」を必要とする。
本発明は、同期及び非同期レプリケーションを組み合わせて使用することにより、効率的な複製データベースを提供することができるという効果を奏する。この複製データベースは、データ更新における多少の遅れを許容することができるが、新しいデータの「損失なし」を必要とする。
本発明に従った、データベースを複製するためのハイブリッド・レプリケーション機構を備えるコンピュータ・システムのブロック図である。 従来技術に従った、レプリケーション・システムのブロック図である。 ハイブリッド・データ・レプリケーションを使用する、レプリケーション・システムのブロック図である。 本発明に従った、ハイブリッド・データ・レプリケーションを使用してデータベースを複製するための方法を示すフローチャートである。
当業者には明らかなように、本発明は、システム、方法又はコンピュータ・プログラムとして具体化することができる。従って、本発明は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)又はソフトウェア及びハードウェア要素を組み合わせた実施形態の形式を取ることができ、これらの全てを一般に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明は、コンピュータ可読プログラム・コードとして、(1つ以上のコンピュータ可読媒体内に格納可能な態様で具体化することができる、)コンピュータ・プログラムの形式を取ることができる。
1つ以上のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。例えば、コンピュータ可読ストレージ媒体は、電子、磁気、光学、電磁気、赤外線、半導体式のシステム若しくは装置又はこれらの任意の適切な組み合わせ等とすることができる。コンピュータ可読ストレージ媒体の特定の例は、可搬式のコンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、可搬式のコンパクト・ディスク読み取り専用メモリ(CD−ROM)、光ストレージ装置、磁気ストレージ装置又はこれらの任意の適切な組み合わせ等を含む。本明細書の文脈では、コンピュータ可読ストレージ媒体は、命令実行システム等に関連して又はこれらによって使用するためのプログラムを保持し又は格納することができる、任意の有形的媒体とすることができる。コンピュータ可読信号媒体は、伝搬されるデータ信号の形式を有することもできるが、その場合には、ベースバンド内に又は搬送波の一部として、コンピュータ可読プログラム・コードを具体化することができる。かかる伝搬される信号は、電磁気、光学、又はこれらの任意の適切な組み合わせ等を含む、種々の形式のうち任意の形式を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではなく、命令実行システム又は装置等に関連して又はこれらによって使用するためのプログラムを通信し、伝搬し、移送することができる、任意のコンピュータ可読媒体とすることができる。コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RF、又はこれらの任意の適切な組み合わせ等を含む、適切な任意の媒体を使用して伝送することができる。
本発明の動作を実行するためのコンピュータ・プログラム・コードは、Java(Sun Microsystemの商標または登録商標)、Smalltalk、C++等のようなオブジェクト指向プログラミング言語及び「C」プログラミング言語又は同様のプログラミング言語のような通常の手続き的プログラミング言語を含む、1つ以上のプログラミング言語の任意の組み合わせで書くことができる。プログラム・コードは、独立のソフトウェア・パッケージとしてユーザ・コンピュータ上で完全に実行することができ、その一部をユーザ・コンピュータ上で且つ他の一部を遠隔コンピュータ上で実行することができ、或いは遠隔コンピュータ又はサーバ上で完全に実行することができる。後者のシナリオでは、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意のタイプのネットワークを通してユーザ・コンピュータに接続することができ、或いはその接続を(例えば、インターネット・サービス・プロバイダを使用するインターネットを通して)外部コンピュータに行うことができる。以下では、本発明の実施形態に従った、方法、装置(システム)及びコンピュータ・プログラムのフローチャート又はブロック図を参照して、本発明を説明する。フローチャート又はブロック図の各ブロック、複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができる。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサに提供すると、当該コンピュータ又は他のプログラム可能なデータ処理装置のプロセッサを介して実行される諸命令は、フローチャート又はブロック図のブロックで指定された機能/行為を実装するための手段を作成する。また、これらのコンピュータ・プログラム命令をコンピュータ可読媒体内に格納すると、当該コンピュータ可読媒体内に格納された諸命令が、フローチャート又はブロック図のブロックで指定された機能/行為を実装するための命令を含む製品を生産することを目的として、コンピュータ、他のプログラム可能なデータ処理装置又は他の装置に対し特定の態様で機能するように指示することができる。また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能なデータ処理装置又は他の装置にロードすると、当該コンピュータ、他のプログラム可能なデータ処理装置又は他の装置上で実行される諸命令が、フローチャート又はブロック図のブロックで指定された機能/行為を実装するためのプロセスを提供することを目的として、一のコンピュータ実装方法を生成するように当該コンピュータ、他のプログラム可能なデータ処理装置又は他の装置上で一連の動作ステップを実行させることができる。
図1を参照して説明する。コンピュータ・システム100は、本明細書に開示するハイブリッド・レプリケーション機構を含む、コンピュータ・システムの1つの適切な実装である。コンピュータ・システム100は、インターナショナル・ビジネス・マシーンズ・コーポレーション(IBM (IBM Corporation の商標))の「iSeries」(IBM Corporation の商標)コンピュータ・システムである。しかし、当業者には明らかなように、本発明は、コンピュータ・システムが複雑な複数ユーザ・コンピューティング装置、単一ユーザ・ワークステーション又は組み込み式制御システムであるか否かに拘わらず、任意のコンピュータ・システムに同等に適用することができる。図示のように、コンピュータ・システム100は、1つ以上のプロセッサ110、主メモリ120、大容量ストレージ・インタフェース130、ディスプレイ・インタフェース140及びネットワーク・インタフェース150を備える。これらのシステム・コンポーネントは、システム・バス160を通して、相互接続される。大容量ストレージ・インタフェース130は、コンピュータ可読媒体(例えば、直接アクセス・ストレージ装置155)を有する大量ストレージ装置をコンピュータ・システム100に接続するために使用される。特定の1つのタイプの直接アクセス・ストレージ装置155は、CD−RW195を対象としてデータの読み取り及び書き込みを行うことができるCD−RWドライブである。
好ましくは、主メモリ120は、オペレーティング・システム121を保持する。オペレーティング・システム121は、「i5/OS」(IBM Corporation の商標)として当分野で公知のマルチタスク・オペレーティング・システムである。しかし、当業者には明らかなように、本発明の概念及び範囲は、任意の1つのオペレーティング・システムに制限されない。さらに、主メモリ120は、データベース・マネージャ122、ハイブリッド・レプリケーション機構123及びローカル・データベース124の少なくとも一部を保持する。ローカル・データベース124は、直接アクセス・ストレージ装置155内に格納され、必要に応じて、ローカル・データベース124の部分を主メモリ120にロードすることができる。主メモリ120内のこれらのエンティティについては、以下でさらに詳細に説明する。
コンピュータ・システム100は、周知の仮想アドレッシング機構を使用する。すなわち、コンピュータ・システム100の諸プログラムは、主メモリ120及びDASD装置155のような複数のより小さなストレージ・エンティティへのアクセスを有するのではなく、あたかも大容量の単一ストレージ・エンティティのみへのアクセスを有するかのように動作することができる。従って、オペレーティング・システム121、データベース・マネージャ122、ハイブリッド・レプリケーション機構123及びローカル・データベース124は、主メモリ120内に存在するように図示されているが、当業者には明らかなように、これらのプログラムは、必ずしもその全てが主メモリ120に同時に保持されるとは限らない。また、本明細書では、「メモリ」という用語は、一般に、コンピュータ・システム100の仮想メモリ全体を参照するために使用され、コンピュータ・システム100に結合された他のコンピュータ・システムの仮想メモリを含み得ることに留意されたい。
プロセッサ110は、1つ以上のマイクロプロセッサ又は集積回路から構築することができる。プロセッサ110は、主メモリ120内に格納されたプログラム命令を実行する。主メモリ120は、プロセッサ110がアクセスし得るプログラム及びデータを格納する。コンピュータ・システム100が起動する場合、プロセッサ110は、オペレーティング・システム121を構成するプログラム命令を最初に実行した後、データベース・マネージャ122及びハイブリッド・レプリケーション機構123を構成するプログラム命令を実行する。
コンピュータ・システム100は、単一のプロセッサ及び単一のシステム・バスだけを有するように図示されているが、当業者には明らかなように、複数のプロセッサ及び/又は複数のバスを有するコンピュータ・システムを使用して仮想化マネージャを実現することができる。さらに、使用されるインタフェースの各々は、好ましくは、プロセッサ110から計算主体(compute-intensive)の処理をオフロードするために使用される別個の、完全にプログラムされたマイクロプロセッサを含む。しかし、当業者には明らかなように、これらの機能は、I/Oアダプタを使用して同様に実行することができる。
ディスプレイ・インタフェース140は、1つ以上のディスプレイ165をコンピュータ・システム100に直接的に接続するために使用される。これらのディスプレイ165は、非知能(すなわち、ダム)端末又は完全にプログラム可能なワークステーションとすることができ、システム管理者及びユーザに対しコンピュータ・システム100と通信する能力を提供するために使用される。ディスプレイ・インタフェース140は、1つ以上のディスプレイ165との通信をサポートするために設けられているが、コンピュータ・システム100は、必ずしもディスプレイ165を必要としないことに留意されたい。というのは、ユーザ及び他のプロセスとの必要な全ての対話は、ネットワーク・インタフェース150を介して行うことができるからである。
ネットワーク・インタフェース150は、ネットワーク170を介して、コンピュータ・システム100を他のコンピュータ・システム又はワークステーション175に接続するために使用される。好ましくは、かかる他のコンピュータ・システム175は、1つ以上の複製データベース125を含む。ネットワーク・インタフェース150は、ネットワーク170が現在のアナログ若しくはデジタル技術から成るか又は将来の特定のネットワーキング機構から成るか否かに拘わらず、電子装置を相互接続するための任意の適切な方法を広く表す。さらに、ネットワークを実装するために、種々のネットワーク・プロトコルを使用することができる。これらのプロトコルは、コンピュータがネットワークを介して通信することを可能にするための専用コンピュータ・プログラムである。TCP/IP(伝送制御プロトコル/インターネット・プロトコル)は、適切なネットワーク・プロトコルの1例である。
図2は、従来技術に従った、データ・レプリケーションを有するコンピュータ・システム200のブロック図を示す。システム200は、ネットワーク212と接続された2つのコンピュータ210を含む。各コンピュータ210は、レプリケーション機構214を含み、これらのレプリケーション機構214は、一緒にローカル・データベース216を複製データベース218に複製する。ローカル・データベース216は、同期レプリケーション220又は非同期レプリケーション222を使用して、複製データベース218に複製することができる。従来技術のシステム200は、アプリケーションのニーズ及びシステム・ハードウェア全体の制約に依存して、同期レプリケーション220又は非同期レプリケーション222を使用する。しかし、従来技術のシステム(例えば、図2のシステム200)は、同期及び非同期レプリケーションのうち何れか一方を使用するに過ぎないことに留意されたい。従来技術のシステムは、本明細書に開示された態様で同期及び非同期レプリケーションの両方を使用しない。
図3は、本発明のハイブリッド・データ・レプリケーションを使用する、コンピュータ・システム300のブロック図を示す。ハイブリッド・データ・レプリケーションは、同期及び非同期レプリケーションの組み合わせを使用することにより、効率的な複製データベースを提供する。この複製データベースは、データ更新における多少の遅れを許容することができるが、新しいデータの「損失なし」を必要とする。システム300は、2つのコンピュータを含む。これらのコンピュータは、図1に示されるコンピュータ100の諸特徴を含み、図1のコンピュータ100及び175に対応する。コンピュータ100及び175は、ネットワーク170と接続される。コンピュータ100及び175は、ハイブリッド・レプリケーション機構123及び312を含み、これらのハイブリッド・レプリケーション機構123及び312は、一緒にローカル・データベース124を複製データベース125に複製する。ローカル・データベース124は、ハイブリッド・レプリケーション310を使用して、複製データベース125に複製される。本明細書においてハイブリッド・レプリケーションとは、データベース・メモリに新しいデータを追加するトランザクション(例えば、「挿入」動作314)のために同期レプリケーションが使用され、そしてデータベース・メモリ内の既存データを更新又は置換するトランザクション(例えば、「更新」動作316)のために非同期レプリケーションが使用されることを意味する。本明細書において「挿入」動作とは、新しいデータベース・レコードをデータベースに挿入するデータベース動作(データベース・トランザクション)である。同様に、「更新」動作とは、データベース内の既存レコードを変更又は更新するデータベース動作(データベース・トランザクション)である。請求項に記載された発明は、前述のメモリ「更新」及び「挿入」動作と同様の特性を有する他のデータ・メモリ動作まで明示的に及んでいる。
以下、前述のハイブリッド・データベース・レプリケーションを使用する1例を説明する。この例のためのアプリケーションは、敵の目標について敵の位置を30ミリ秒ごとにスイープする軍事用レーダ・システムである。この状況では、最大の関心事は、全ての新しい脅威が(当該脅威を失わせる危険を冒さずに)レーダ・ディスプレイ内に現れるということである。レーダ・システムによって検出された敵の脅威は、ローカル・データベース内に格納される。データベース・レプリケーション・システムは、1次データベースの損失に備えて、当該脅威情報を保持するデータベースを複製するために使用される。もしシステム障害があれば、複製データベースは、1次システム上の全ての目標を保持しなければならない。当該脅威の位置は、次のスイープ上で更新されるであろう。従って、最新の位置データは重要ではない。
前記レーダの例を継続して説明する。時間t=0で、レーダ・システムが脅威A及びBを読み取るものと仮定する。これらの脅威及びそれらの座標は、「挿入」トランザクションによってバックアップ・データベース上に同期的に複製される。30ミリ秒のスイープで、レーダは、目標A及びBのための新しい位置を検出する。これらの新しい座標は、「更新」トランザクションによって非同期的に複製される。60ミリ秒のスイープで、レーダは、目標A及びBのための新しい位置及び新しい目標Cを検出する。目標A及びBのための新しい座標は、「更新」トランザクションによって非同期的に複製され、新しい目標Cのための座標は、同期的に複製される。時間=69ミリ秒で、1次データベース上の障害が生じるものと仮定する。その結果、レプリケーション・システム上のデータが読み取られる。バックアップ・データは、全ての目標のためのデータを保持するが、目標A及びBのための座標は、前記障害の前に完了していない非同期トランザクションに起因して、古くなっていることがある。この古いデータは、重要な問題ではないが、全ての目標がバックアップ・データベース上で把握されていることが重要である。次のレーダ・スイープで、目標A、B及びCのための新しい座標は、「更新」トランザクションによって複製データベースで更新される。前述の説明は、以下の表に要約される。
Figure 2011060292
図4は、同期及び非同期レプリケーションの組み合わせを使用して、ローカル・データベースから複製データベースへのデータ・レプリケーションを行うための方法400を示す。好ましくは、方法400の諸ステップは、データベースを複製データベースに複製するデータベース・トランザクションを処理するために、ハイブリッド・レプリケーション機構123(図1及び図3)と共に、ハイブリッド・レプリケーション機構312(図3)によって行われる。先ず、トランザクションが完了しているか否かを決定する(ステップ410)。もし、トランザクションが完了していれば(ステップ410=yes)、この方法は終了する。そうでなければ(ステップ410=no)、トランザクションが「挿入」であるか否かを決定する(ステップ420)。もし、トランザクションが「挿入」でなければ(ステップ420=no)、トランザクション・データをローカルに更新し、非同期レプリケーションを使用して、複製データベースに複製する(ステップ430)。次に、トランザクション完了とマークして、ステップ410に進む(ステップ440)。もし、トランザクションが「挿入」であれば(ステップ420=yes)、トランザクション・データをローカル・データベースに挿入し、同期レプリケーションを使用して、データを複製データベースに複製する(ステップ450)。次に、レプリケーションが成功であるか否かを決定する(ステップ460)。もし、同期レプリケーションが成功したのであれば(ステップ460=yes)、トランザクション完了とマークして、ステップ410に進む(ステップ440)。もし、同期レプリケーションが成功しなかったのであれば(ステップ460=no)、レプリケーションが再試行された回数をチェックする(ステップ470)。もし、再試行回数がNに等しければ(ステップ470=yes)、エラーを報告する(ステップ480)。そうでなければ(ステップ470=no)、レプリケーションを再試行し(ステップ490)、ステップ460に戻る。図4における数Nは、エラーを報告する前のレプリケーションの再試行回数を決定するための、整数のしきい値であることに留意されたい。
図面のうちフローチャート及びブロック図は、本発明の種々の実施形態に従った、システム、方法及びコンピュータ・プログラムの可能な実装のアーキテクチャ、機能性及び動作を例示する。この点に関し、フローチャート又はブロック図の各ブロックは、指定された論理機能を実装するための1つ以上の実行可能命令を含む、モジュール、セグメント又はコードの部分を表すことができる。また、幾つかの代替実装では、ブロック内に表記された機能は、図面に示す順序とは異なる順序で生じることができる。例えば、図面に順次に示された2つのブロックは、それらの機能性に依存して、実質的に同時に実行することができ、或いは逆の順序で実行することもできる。さらに、ブロック図又はフローチャートの各ブロック及び複数ブロックの組み合わせは、指定された機能又は行為を実行する専用のハードウェア・ベースのシステム又は専用ハードウェア及びコンピュータ命令の組み合わせによって実装することができる。
前述のように、データベース・マネージャは、ローカル・データベースを複製データベースに複製するために、同期及び非同期レプリケーションを組み合わせるハイブリッド・レプリケーション機構を使用する。このように、同期及び非同期レプリケーションを組み合わせて使用すると、効率的な複製データベースを提供することができる。この複製データベースは、データ更新における多少の遅れを許容することができるが、新しいデータの「損失なし」を必要とする。
当業者には明らかなように、請求項の範囲内で多くの変形を施すことができる。従って、本明細書では、本発明の特定の実施形態が開示され説明されたが、当業者にとっては、本発明の精神及び範囲から逸脱することなく、形式及び詳細に係る追加の変更をなし得ることは明らかであろう。
100・・・コンピュータ
110・・・プロセッサ
120・・・主メモリ
122・・・データベース・マネージャ
123・・・ハイブリッド・レプリケーション機構
124・・・ローカル・データベース
125・・・複製データベース
155・・・直接アクセス・ストレージ装置
175・・・他のコンピュータ
312・・・ハイブリッド・レプリケーション機構
314・・・「挿入」動作
316・・・「更新」動作

Claims (14)

  1. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサに結合され且つローカル・データベースを有するメモリと、
    新しいデータを複製データベースに追加するトランザクションについては、同期データ・レプリケーションを使用して当該トランザクションを前記複製データベースに送信し、前記複製データベース内のデータを更新するトランザクションについては、非同期データ・レプリケーションを使用して当該トランザクションを前記複製データベースに送信するレプリケーション機構とを備える、装置。
  2. 前記複製データベースに新しいデータを追加するための前記トランザクションがデータベース「挿入」動作であり、前記複製データベース内のデータを更新するための前記非同期レプリケーションを使用したトランザクションがデータベース「更新」動作である、請求項1記載の装置。
  3. 前記複製データベースが、前記少なくとも1つのプロセッサから遠隔的に位置する他のコンピュータ・システムに関連する、請求項1記載の装置。
  4. 前記複製データベースが、ハイブリッド・レプリケーションを使用して更新されるレーダ情報を保持する、請求項1記載の装置。
  5. 複製データベースのハイブリッド・レプリケーションのためのコンピュータ実装方法であって、
    (a)データベース・トランザクションが、前記複製データベースに新しいデータを追加するためのトランザクションであるか、又は前記複製データベース内のデータを更新するためのトランザクションであるかを決定するステップと、
    (b)データベース・トランザクションが、前記複製データベース内のデータを更新するためのトランザクションであると決定される場合は、当該データをローカルに更新し且つ当該データを前記複製データベースに非同期的に複製するステップと、
    (c)データベース・トランザクションが、前記複製データベースに新しいデータを追加するためのトランザクションであると決定される場合は、当該新しいデータをローカルに追加し且つ当該新しいデータを前記複製データベースに同期的に複製するステップとを有し、
    前記ステップ(a)ないし(c)が、コンピュータ・メモリ内に格納可能なコンピュータ・ソフトウェア・プログラムとして実装され且つコンピュータ・プロセッサによって実行される、方法。
  6. 前記複製データベースに新しいデータを追加するための前記トランザクションがデータベース「挿入」動作であり、前記複製データベース内のデータを更新するためのトランザクションがデータベース「更新」動作である、請求項5記載の方法。
  7. 前記複製データベースが、前記コンピュータ・プロセッサから遠隔的に位置する他のコンピュータ・システムに関連する、請求項5記載の方法。
  8. 前記複製データベースが、ハイブリッド・レプリケーションを使用して更新されるレーダ情報を保持する、請求項5記載の方法。
  9. 前記ステップ(c)が、前記同期レプリケーションが成功したか否かを決定することを含み、不成功であったことを決定すれば、前記同期レプリケーションを「N」回(但し、Nは1以上の正の整数)再試行することを含む、請求項5記載の方法。
  10. コンピュータ・ソフトウェア・プログラム形式のレプリケーション機構であって、当該レプリケーション機構がコンピュータ・メモリ内に格納可能であって且つコンピュータ・プロセッサによって実行されるとき、
    (a)データベース・トランザクションが、データベースに新しいデータを追加するためのトランザクションであるか、又は当該データベース内のデータを更新するためのトランザクションであるかを決定するステップと、
    (b)データベース・トランザクションが、前記データベース内のデータを更新するためのトランザクションであると決定される場合は、当該データをローカルに更新し且つ当該データを複製データベースに非同期的に複製するステップと、
    (c)データベース・トランザクションが、前記データベースに新しいデータを追加するためのトランザクションであると決定される場合は、当該新しいデータをローカルに追加し且つ当該新しいデータを前記複製データベースに同期的に複製するステップとが実行されるコンピュータ・ソフトウエア・プログラム。
  11. 前記複製データベースに新しいデータを追加するための前記トランザクションがデータベース「挿入」動作であり、前記複製データベース内のデータを更新するためのトランザクションがデータベース「更新」動作である、請求項10記載のコンピュータ・ソフトウエア・プログラム。
  12. 前記複製データベースが、前記コンピュータ・プロセッサから遠隔的に位置する他のコンピュータ・システムに関連する、請求項10記載のコンピュータ・ソフトウエア・プログラム。
  13. 前記複製データベースが、ハイブリッド・レプリケーションを使用して更新されるレーダ情報を保持する、請求項10記載のコンピュータ・ソフトウエア・プログラム。
  14. 前記ステップ(c)が、同期的に複製することに成功したか否かを決定することを含み、不成功であったことを決定すれば、前記同期レプリケーションを「N」回(但し、Nは1以上の正の整数)再試行することを含む、請求項10記載のコンピュータ・ソフトウエア・プログラム。
JP2010203477A 2009-09-14 2010-09-10 複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム Expired - Fee Related JP5496839B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/558,898 US8364636B2 (en) 2009-09-14 2009-09-14 Real time data replication
US12/558898 2009-09-14

Publications (2)

Publication Number Publication Date
JP2011060292A true JP2011060292A (ja) 2011-03-24
JP5496839B2 JP5496839B2 (ja) 2014-05-21

Family

ID=43731498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010203477A Expired - Fee Related JP5496839B2 (ja) 2009-09-14 2010-09-10 複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム

Country Status (3)

Country Link
US (2) US8364636B2 (ja)
JP (1) JP5496839B2 (ja)
KR (1) KR101231563B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542468B2 (en) 2014-03-24 2017-01-10 Hitachi, Ltd. Database management system and method for controlling synchronization between databases
JP2017531250A (ja) * 2014-08-29 2017-10-19 ネットアップ,インコーポレイテッド 粒状同期/半同期アーキテクチャ

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341115B1 (en) * 2009-12-26 2012-12-25 Emc Corporation Dynamically switching between synchronous and asynchronous replication
US8966027B1 (en) * 2010-05-24 2015-02-24 Amazon Technologies, Inc. Managing replication of computing nodes for provided computer networks
US9043283B2 (en) 2011-11-01 2015-05-26 International Business Machines Corporation Opportunistic database duplex operations
US9213706B2 (en) * 2013-06-13 2015-12-15 DataGravity, Inc. Live restore for a data intelligent storage system
US10102079B2 (en) 2013-06-13 2018-10-16 Hytrust, Inc. Triggering discovery points based on change
US10089192B2 (en) 2013-06-13 2018-10-02 Hytrust, Inc. Live restore for a data intelligent storage system
US8849764B1 (en) 2013-06-13 2014-09-30 DataGravity, Inc. System and method of data intelligent storage
CN105099793B (zh) 2015-09-24 2019-02-05 华为技术有限公司 热备方法、装置及系统
US10372726B2 (en) 2016-08-09 2019-08-06 International Business Machines Corporation Consistent query execution in hybrid DBMS
US10338834B1 (en) * 2016-09-29 2019-07-02 Veritas Technologies Llc Application performance in replication environments
US10817197B2 (en) 2018-05-04 2020-10-27 Microsoft Technology Licensing, Llc Data partitioning in a distributed storage system
US11120046B2 (en) 2018-05-04 2021-09-14 Microsoft Technology Licensing Llc Data replication in a distributed storage system
US10705754B2 (en) * 2018-06-22 2020-07-07 International Business Machines Corporation Zero-data loss recovery for active-active sites configurations
US11445017B2 (en) * 2019-02-21 2022-09-13 International Business Machines Corporation Maintaining user data and metadata consistency in an asynchronous replication environment
US11281548B2 (en) * 2019-10-03 2022-03-22 EMC IP Holding Company LLC 2-phase sync replication recovery to optimize recovery point objective (RPO)
US11416468B2 (en) 2020-07-21 2022-08-16 International Business Machines Corporation Active-active system index management
US11874851B2 (en) * 2021-05-27 2024-01-16 EMC IP Holding Company LLC Contextual replication profile creation based on data criticality

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162086A (ja) * 1992-11-25 1994-06-10 Fujitsu Ltd 遠隔データベースの制御方法及び装置
JPH11338647A (ja) * 1998-05-25 1999-12-10 Hitachi Ltd 二重化データの形成方法
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム
JP2006318020A (ja) * 2005-05-10 2006-11-24 Fujitsu Ltd レプリケーションプログラム及びデータベースシステム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6615223B1 (en) * 2000-02-29 2003-09-02 Oracle International Corporation Method and system for data replication
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
WO2002093963A1 (en) * 2001-05-11 2002-11-21 Nokia Corporation Data element information management in a network environment
US7827136B1 (en) * 2001-09-20 2010-11-02 Emc Corporation Management for replication of data stored in a data storage environment including a system and method for failover protection of software agents operating in the environment
US7020665B2 (en) * 2002-03-07 2006-03-28 Microsoft Corporation File availability in distributed file storage systems
US7082446B1 (en) * 2002-04-15 2006-07-25 Steel Eye Technology, Inc. Hybrid transaction/intent log for data replication
US7426559B2 (en) * 2002-05-09 2008-09-16 International Business Machines Corporation Method for sequential coordination of external database application events with asynchronous internal database events
US7158998B2 (en) * 2002-07-31 2007-01-02 Cingular Wireless Ii, Llc Efficient synchronous and asynchronous database replication
US7836014B2 (en) * 2003-11-04 2010-11-16 Bakbone Software, Inc. Hybrid real-time data replication
US7039661B1 (en) * 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking
US7707179B2 (en) * 2004-04-23 2010-04-27 Waratek Pty Limited Multiple computer architecture with synchronization
DE602004017913D1 (de) * 2004-08-12 2009-01-02 Telecom Italia Spa System, verfahren und einrichtung zum aktualisieren eines datensatzes durch ein kommunikationsnetz
US7933868B2 (en) * 2004-11-04 2011-04-26 Microsoft Corporation Method and system for partition level cleanup of replication conflict metadata
JP4887618B2 (ja) * 2004-11-19 2012-02-29 日本電気株式会社 ストレージシステムとそのレプリケーション方法並びにプログラム
US7940206B2 (en) * 2005-04-20 2011-05-10 Accipiter Radar Technologies Inc. Low-cost, high-performance radar networks
US7868812B2 (en) * 2005-08-12 2011-01-11 Patriot Technologies, Llp Surveillance and warning system
US7647329B1 (en) * 2005-12-29 2010-01-12 Amazon Technologies, Inc. Keymap service architecture for a distributed storage system
US7716180B2 (en) * 2005-12-29 2010-05-11 Amazon Technologies, Inc. Distributed storage system with web services client interface
US8126848B2 (en) * 2006-12-07 2012-02-28 Robert Edward Wagner Automated method for identifying and repairing logical data discrepancies between database replicas in a database cluster
US8005787B2 (en) * 2007-11-02 2011-08-23 Vmware, Inc. Data replication method
US7870095B2 (en) * 2007-12-03 2011-01-11 International Business Machines Corporation Apparatus, system, and method for replication of data management information
US7962458B2 (en) * 2008-06-12 2011-06-14 Gravic, Inc. Method for replicating explicit locks in a data replication engine
US8214329B2 (en) * 2008-08-26 2012-07-03 Zeewise, Inc. Remote data collection systems and methods
US7974943B2 (en) * 2008-10-30 2011-07-05 Hewlett-Packard Development Company, L.P. Building a synchronized target database
US8837493B2 (en) * 2010-07-06 2014-09-16 Nicira, Inc. Distributed network control apparatus and method
US8918362B2 (en) * 2011-05-23 2014-12-23 Microsoft Corporation Replication processes in a distributed storage environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06162086A (ja) * 1992-11-25 1994-06-10 Fujitsu Ltd 遠隔データベースの制御方法及び装置
JPH11338647A (ja) * 1998-05-25 1999-12-10 Hitachi Ltd 二重化データの形成方法
JP2005242403A (ja) * 2004-02-24 2005-09-08 Hitachi Ltd 計算機システム
JP2006318020A (ja) * 2005-05-10 2006-11-24 Fujitsu Ltd レプリケーションプログラム及びデータベースシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9542468B2 (en) 2014-03-24 2017-01-10 Hitachi, Ltd. Database management system and method for controlling synchronization between databases
JP2017531250A (ja) * 2014-08-29 2017-10-19 ネットアップ,インコーポレイテッド 粒状同期/半同期アーキテクチャ

Also Published As

Publication number Publication date
KR20110029071A (ko) 2011-03-22
US20130041869A1 (en) 2013-02-14
US8364636B2 (en) 2013-01-29
JP5496839B2 (ja) 2014-05-21
US20110066592A1 (en) 2011-03-17
KR101231563B1 (ko) 2013-02-07

Similar Documents

Publication Publication Date Title
JP5496839B2 (ja) 複製データベースのハイブリッド・レプリケーションのための装置、コンピュータ実装方法及びコンピュータ・ソフトウエア・プログラム
CN110392876B (zh) 用于将数据集和其他受管理对象同步地复制到基于云的存储系统的方法
US10169163B2 (en) Managing backup operations from a client system to a primary server and secondary server
CN107533499B (zh) 用于在存储系统之间执行故障转移的方法和系统
US8930309B2 (en) Interval-controlled replication
US9891851B2 (en) Performing a remote point-in-time copy to a source and target storages in further mirror copy relationships
US20070078911A1 (en) Replicating data across the nodes in a cluster environment
JP2005243026A (ja) 任意数のバックアップ・コンポーネント用のシステム・アーキテクチャのための方法、システム、およびコンピュータ・プログラム
CN108616574B (zh) 管理数据的存储方法、设备及存储介质
WO2020060620A1 (en) Storage segment server covered cache
US9514013B2 (en) Maintaining inactive copy relationships for secondary storages of active copy relationships having a common primary storage for use in case of a failure of the common primary storage
US20150212913A1 (en) Performance mitigation of logical unit numbers (luns) using small computer system interface (scsi) inband management
US10929430B2 (en) Replicating non-supported data types using an existing supported replication format
US7089446B2 (en) Method, system, and article of manufacture for creating a consistent copy
CN113760862A (zh) 一种增量数据断点续传方法、装置、设备及存储介质
US20190303193A1 (en) Computing system including enhanced application performance based on last completed operation sequence value
US11468091B2 (en) Maintaining consistency of asynchronous replication
US11099948B2 (en) Persistent storage segment caching for data recovery
US10802926B2 (en) Accessing prior storage segment server state
US11151101B2 (en) Adjusting growth of persistent log
Schatzberg et al. Total order broadcast for fault tolerant exascale systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140305

R150 Certificate of patent or registration of utility model

Ref document number: 5496839

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees