(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】データ・センタを動作させること
(51)【国際特許分類】
G06F 16/27 20190101AFI20241219BHJP
G06F 11/20 20060101ALI20241219BHJP
【FI】
G06F16/27
G06F11/20 656
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024531621
(86)(22)【出願日】2022-12-07
(85)【翻訳文提出日】2024-05-28
(86)【国際出願番号】 EP2022084718
(87)【国際公開番号】W WO2023104850
(87)【国際公開日】2023-06-15
(32)【優先日】2021-12-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ロイ、フイヤン
(72)【発明者】
【氏名】マーティン、ダニエル
(72)【発明者】
【氏名】バッタースタイン、デニス
(72)【発明者】
【氏名】ペレティール、ケヴィン
(72)【発明者】
【氏名】ホール、ナミク
【テーマコード(参考)】
5B034
5B175
【Fターム(参考)】
5B034BB02
5B034BB17
5B034DD07
5B175AA01
5B175CA01
(57)【要約】
1つのアプローチでは、データのコピーを有すること、および1次ソース・データベース・システムから解析クエリを受信すること、およびデータに対して解析クエリを実行することを、1次ターゲット・データベース・システムに行わせる機能がアクティブ化される、1次ソースおよび1次ターゲット・データベース・システムを含む1次データ・センタが提供される。プロセッサは、1次ソース・データベース・システムの障害を検出したことに応答して、2次ターゲット・データベース・システムおよびデータのコピーをさらに含む2次データ・センタの2次ソース・データベース・システムに、1次ソース・データベース・システムを対象としたクエリを、オフロードし、機能が非アクティブ化される。プロセッサは、1次ターゲット・データベース・システムが利用可能であることに応答して、オフロードされたクエリの、2次ソース・データベース・システムによって処理された解析クエリを受信し、データを2次ターゲット・データベース・システムにコピーする。プロセッサは、2次データ・センタにおいて機能がアクティブ化されるようにする。
【特許請求の範囲】
【請求項1】
コンピュータ実行方法であって、
1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供することであって、前記1次ターゲット・データベース・システムに、
前記1次ソース・データベース・システムのデータのコピーを有すること、
前記1次ソース・データベース・システムから解析クエリを受信すること、および
前記データに対して前記解析クエリを実行すること
を行わせる機能が、前記1次データ・センタにおいてアクティブ化される、提供すること、ならびに
前記1次ソース・データベース・システムの障害を検出したことに応答して、
前記1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの前記2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、前記2次ソース・データベース・システムが、前記データのコピーを有し、前記2次データ・センタにおいて前記機能が非アクティブ化される、オフロードすること、
前記1次ターゲット・データベース・システムが利用可能であることに応答して、
前記オフロードされたクエリの、前記2次ソース・データベース・システムによって処理された解析クエリを前記1次ターゲット・データベース・システムによって受信すること、および
前記1次ターゲット・データベース・システムによって、前記データを前記2次ターゲット・データベース・システムにコピーすること、ならびに
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすること
を含む、コンピュータ実行方法。
【請求項2】
前記1次ターゲット・データベース・システムにおいて前記解析クエリを実行する前に、前記1次ターゲット・データベース・システムをリード・オンリ・モードに設定することをさらに含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
前記データが前記1次ソース・データベース・システムから前記1次ターゲット・データベース・システムに複製される時までのログ位置を前記1次ターゲット・データベース・システムから前記2次ターゲット・データベース・システムに送信することであって、前記障害後に前記2次ソース・データベース・システムで生じたさらなる変更を複製するために前記ログ位置が使用される、送信することをさらに含む、請求項1または2に記載のコンピュータ実行方法。
【請求項4】
前記ログ位置が、前記1次ターゲット・データベース・システムの複製メタデータの中で送信される、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記障害が、前記1次ソース・データベース・システムのディスク・サブシステムの障害である、請求項1ないし4のいずれかに記載のコンピュータ実行方法。
【請求項6】
前記2次ソース・データベース・システムが前記データの前記コピーを有するように、前記1次ソース・データベース・システムが、前記1次ソース・データベース・システムのストレージを前記2次ソース・データベース・システムのストレージにアクティブにミラーリングする、請求項1ないし5のいずれかに記載のコンピュータ実行方法。
【請求項7】
前記データを前記2次ターゲット・データベース・システムにコピーすることが、前記解析クエリを実行することと並行して実施される、請求項1ないし6のいずれかに記載のコンピュータ実行方法。
【請求項8】
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすることが、前記1次ソース・データベース・システムをリード/ライト・モードに変更することを含む、請求項1ないし7のいずれかに記載のコンピュータ実行方法。
【請求項9】
前記1次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、前記1次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、請求項1ないし8のいずれかに記載のコンピュータ実行方法。
【請求項10】
前記2次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、前記2次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、請求項1ないし9のいずれかに記載のコンピュータ実行方法。
【請求項11】
前記1次データ・センタが、1つまたは複数のリンクを通じて前記2次データ・センタに接続され、
前記リンクが、ファイバ・チャネル・プロトコル(FCP)リンク、およびファイバ接続(FICON)リンクから成るグループからの選択を含む、
請求項1ないし10のいずれかに記載のコンピュータ実行方法。
【請求項12】
コンピュータ・プログラム製品であって、
1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ可読ストレージ媒体に格納されたプログラム命令とを備え、前記プログラム命令が、
1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供するためのプログラム命令であって、前記1次ターゲット・データベース・システムに、
前記1次ソース・データベース・システムのデータのコピーを有すること、
前記1次ソース・データベース・システムから解析クエリを受信すること、および
前記データに対して前記解析クエリを実行すること
を行わせる機能が、前記1次データ・センタにおいてアクティブ化される、1次データ・センタを提供するためのプログラム命令、ならびに
前記1次ソース・データベース・システムの障害を検出したことに応答して、
前記1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの前記2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、前記2次ソース・データベース・システムが、前記データのコピーを有し、前記2次データ・センタにおいて前記機能が非アクティブ化される、オフロードすること、
前記1次ターゲット・データベース・システムが利用可能であることに応答して、
前記オフロードされたクエリの、前記2次ソース・データベース・システムによって処理された解析クエリを前記1次ターゲット・データベース・システムによって受信すること、および
前記1次ターゲット・データベース・システムによって、前記データを前記2次ターゲット・データベース・システムにコピーすること、ならびに
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすること
を行うためのプログラム命令
を含む、コンピュータ・プログラム製品。
【請求項13】
前記1次ターゲット・データベース・システムにおいて前記解析クエリを実行する前に、前記1次ターゲット・データベース・システムをリード・オンリ・モードに設定するための、前記1つまたは複数のコンピュータ可読ストレージ媒体に一括して格納されたプログラム命令をさらに備える、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記データが前記1次ソース・データベース・システムから前記1次ターゲット・データベース・システムに複製される時までのログ位置を前記1次ターゲット・データベース・システムから前記2次ターゲット・データベース・システムに送信することであって、前記障害後に前記2次ソース・データベース・システムで生じたさらなる変更を複製するために前記ログ位置が使用される、送信することを行うための、前記1つまたは複数のコンピュータ可読ストレージ媒体に一括して格納されたプログラム命令
をさらに備える、請求項12または13に記載のコンピュータ・プログラム製品。
【請求項15】
前記ログ位置が、前記1次ターゲット・データベース・システムの複製メタデータの中で送信される、請求項14に記載のコンピュータ・プログラム製品。
【請求項16】
前記障害が、前記1次ソース・データベース・システムのディスク・サブシステムの障害である、請求項12ないし15のいずれかに記載のコンピュータ・プログラム製品。
【請求項17】
前記2次ソース・データベース・システムが前記データの前記コピーを有するように、前記1次ソース・データベース・システムが、前記1次ソース・データベース・システムのストレージを前記2次ソース・データベース・システムのストレージにアクティブにミラーリングする、請求項12ないし16のいずれかに記載のコンピュータ・プログラム製品。
【請求項18】
前記データを前記2次ターゲット・データベース・システムにコピーすることが、前記解析クエリを実行することと並行して実施される、請求項12ないし17のいずれかに記載のコンピュータ・プログラム製品。
【請求項19】
前記2次データ・センタにおいて前記機能がアクティブ化されるようにするためのプログラム命令が、前記1次ソース・データベース・システムをリード/ライト・モードに変更するためのプログラム命令を含む、請求項12ないし18のいずれかに記載のコンピュータ・プログラム製品。
【請求項20】
コンピュータ・システムであって、
1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のための前記1つまたは複数のコンピュータ可読ストレージ媒体に一括して格納されたプログラム命令とを備え、前記プログラム命令が、
1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供するためのプログラム命令であって、前記1次ターゲット・データベース・システムに、
前記1次ソース・データベース・システムのデータのコピーを有すること、
前記1次ソース・データベース・システムから解析クエリを受信すること、および
前記データに対して前記解析クエリを実行すること
を、行わせる機能が、前記1次データ・センタにおいてアクティブ化される、1次データ・センタを提供するためのプログラム命令、ならびに
前記1次ソース・データベース・システムの障害を検出したことに応答して、
前記1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの前記2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、前記2次ソース・データベース・システムが、前記データのコピーを有し、前記2次データ・センタにおいて前記機能が非アクティブ化される、オフロードすること、
前記1次ターゲット・データベース・システムが利用可能であることに応答して、
前記オフロードされたクエリの、前記2次ソース・データベース・システムによって処理された解析クエリを前記1次ターゲット・データベース・システムによって受信すること、および
前記1次ターゲット・データベース・システムによって、前記データを前記2次ターゲット・データベース・システムにコピーすること、ならびに
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすること
を行うためのプログラム命令
を含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル・コンピュータ・システムに関し、より詳細には、データ・センタを動作させるためのアプローチに関する。
【背景技術】
【0002】
複製は、データの定義済みのセットを2つ以上のロケーションに維持するプロセスである。複製は、指定された変更を1つのソース・ロケーションからターゲット・ロケーションにコピーすること、および、両方のロケーションでデータを同期することを伴ってもよい。ソースおよびターゲットは、分散型ネットワーク内の同じ機械または異なる機械上にある論理サーバ内にあることが可能である。データを処理し、1つのシステムから別のシステムに移動させるためのいくつかのアプローチが存在する。
【0003】
米国特許出願公開第2019/0391740(A1)号は、以下の通り記載している。「コンピューティング・システムは、第1のコンピューティング・サイトにある第1のストレージ・ユニットを含む。第1のストレージ・ユニットは、ワーク・データ、および第2のコンピューティング・サイトの第1のサーバ・クラスタから同期的に複製されたデータのユニットを格納する。コンピューティング・システムは、第1のコンピューティング・サイトにある第2のサーバ・クラスタをさらに含み、第2のサーバ・クラスタは、第1のサーバ・クラスタのプロキシ・ノードである。コンピューティング・システムは、第1のコンピューティング・サイトにある第2のストレージ・ユニットをさらに含み、第2のストレージ・ユニットは、ワーク・データ、および第1のストレージ・ユニットからのデータのユニットを、第2のストレージ・ユニットに非同期的に格納する。コンピューティング・システムは、第1のコンピューティング・サイトにある第3のサーバ・クラスタをさらに含み、第3のサーバ・クラスタは、第2のストレージ・ユニットに非同期的に複製されたワーク・データのユニットを処理する。」(要約、米国特許出願公開第2019/0391740(A1)号)。しかし、このようなアプローチは、データの同期が周辺機器の間で発生するときの、本発明の実施形態によって記載される特有の環境におけるデータの復旧を扱っていない。
【発明の概要】
【0004】
独立請求項の主題によって記載されているような、データ・センタを動作させるための方法、コンピュータ・システム、およびコンピュータ・プログラム製品を様々な実施形態が提供する。従属請求項には、有利な実施形態が記載されている。本発明の実施形態は、これらが相互に排他的でない場合、互いに自由に組み合わされることが可能である。
【0005】
1つの態様では、本発明の実施形態はコンピュータ実行方法に関し、1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供することを含む。1次データ・センタにおいて機能がアクティブ化されることにより、1次ターゲット・データベース・システムに、1次ソース・データベース・システムのデータのコピーを有することと、1次ソース・データベース・システムから解析クエリを受信することと、データに対して当該解析クエリを実行することと、を行わせる。1次ソース・データベース・システムの障害を検出したことに応答して、プロセッサが、1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードし、2次データ・センタの2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、2次ソース・データベース・システムが、データのコピーを有し、2次データ・センタにおいて上記機能が非アクティブ化される。プロセッサが、1次ターゲット・データベース・システムが利用可能であることに応答して、1次ターゲット・データベース・システムによって、オフロードされたクエリの、2次ソース・データベース・システムによって処理された解析クエリを受信すること、および1次ターゲット・データベース・システムによって、データを2次ターゲット・データベース・システムにコピーすることを行う。プロセッサが、2次データ・センタにおいて機能がアクティブ化されるようにする。このようなアプローチには、ダウンタイムを最小限にし、複製機能を復活させるための手動介入を減らすか無くすという利点がある。
【0006】
別の態様では、本発明の実施形態はコンピュータ・プログラム製品に関し、コンピュータ・プログラム製品は、1つまたは複数のコンピュータ可読ストレージ媒体と、1つまたは複数のコンピュータ可読ストレージ媒体に全体として格納されたプログラム命令とを備え、プログラム命令が、1次データ・センタを提供するためのプログラム命令であって、1次データ・センタが、1次ソース・データベース・システムおよび1次ターゲット・データベース・システムを備え、1次ソース・データベース・システムのデータのコピーを有すること、1次ソース・データベース・システムから解析クエリを受信すること、およびデータに対して解析クエリを実行することを、1次ターゲット・データベース・システムに行わせる1次データ・センタにおいて機能がアクティブ化される、1次データ・センタを提供するためのプログラム命令を含む。1次ソース・データベース・システムにおける障害を検出したことに応答して、プロセッサは、1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードし、2次データ・センタの2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、2次ソース・データベース・システムが、データのコピーを有し、2次データ・センタにおいて機能が非アクティブ化される、オフロードすることを行うためのプログラム命令をさらに含む。1次ターゲット・データベース・システムが利用可能であることに応答して、1次ターゲット・データベース・システムによって、オフロードされたクエリの、2次ソース・データベース・システムによって処理された解析クエリを受信すること、および1次ターゲット・データベース・システムによって、データを2次ターゲット・データベース・システムにコピーすることを行うためのプログラム命令をさらに含む。2次データ・センタにおいて機能がアクティブ化されるようにするためのプログラム命令をさらに含む。このようなアプローチには、ダウンタイムを最小限にし、複製機能を復活させるための手動介入を減らすか無くすという利点がある。
【0007】
別の態様では、本発明の実施形態はコンピュータ・システムに関し、コンピュータ・システムは、1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読ストレージ媒体と、1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のための1つまたは複数のコンピュータ可読ストレージ媒体に一括して格納されたプログラム命令とを備え、プログラム命令が、1次データ・センタを提供するためのプログラム命令であって、1次データ・センタが、1次ソース・データベース・システムおよび1次ターゲット・データベース・システムを備え、1次ソース・データベース・システムのデータのコピーを有すること、1次ソース・データベース・システムから解析クエリを受信すること、およびデータに対して解析クエリを実行することを、1次ターゲット・データベース・システムに行わせる1次データ・センタにおいて機能がアクティブ化される、1次データ・センタを提供するためのプログラム命令を含む。1次ソース・データベース・システムの障害を検出したことに応答して、1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、2次ソース・データベース・システムが、データのコピーを有し、2次データ・センタにおいて機能が非アクティブ化される、オフロードすることを行うためのプログラム命令をさらに含む。1次ターゲット・データベース・システムが利用可能であることに応答して、1次ターゲット・データベース・システムによって、オフロードされたクエリの、2次ソース・データベース・システムによって処理された解析クエリを受信すること、および1次ターゲット・データベース・システムによって、データを2次ターゲット・データベース・システムにコピーすることを行うためのプログラム命令をさらに含む。2次データ・センタにおいて機能がアクティブ化されるようにすることを行うためのプログラム命令をさらに含む。このようなアプローチには、ダウンタイムを最小限にし、複製機能を復活させるための手動介入を減らすか無くすという利点がある。
【0008】
本発明の実施形態は、データが1次ソース・データベース・システムから1次ターゲット・データベース・システムに複製される時までのログ位置を1次ターゲット・データベース・システムから2次ターゲット・データベース・システムに送信することをさらに含んでもよい。ここで、障害後に2次ソース・データベース・システムで生じたさらなる変更を複製するためにログ位置が使用される。このようなアプローチは、障害後に生じたさらなる変更を複製するためにログ位置が使用されることを可能にする。
【0009】
以下では、本発明の実施形態が、図面を参照して、単なる例としてより詳細に説明される。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施形態によるデータ・センタの図である。
【
図2】本発明の実施形態によるコンピュータ・システムの図である。
【
図3】本発明の実施形態によるデータ・センタを動作させるためのアプローチのフローチャートである。
【
図4】本発明の実施形態による復旧アプローチのフローチャートである。
【発明を実施するための形態】
【0011】
本発明の様々な実施形態の説明が例証のために提示されることになるが、網羅的であることまたは開示の実施形態に限定されることを意図するものではない。記載の実施形態の範囲および思想から逸脱することなく、多くの変更形態および変形形態が当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実用的用途、もしくは、市場で見つかる技術に対する技術的改善を最もうまく説明するように、または、本明細書で開示された実施形態を当業者が理解できるように選ばれた。
【0012】
データ・センタは、データ処理システムであってもよい。本明細書で使用されるように、データ・センタは、1次データ・センタまたは2次データ・センタのことを指してもよい。データ・センタのソース・データベース・システムおよびターゲット・データベース・システムは、初めは、同じデータセットを有してもよい。その後、データセットは、ソース・データベース・システムにおいて変更されてもよい。データ・センタは、変更をソース・データベース・システムからターゲット・データベース・システムに複製できるようにされてもよく、その結果、ターゲット・データベース・システムは同じ変更を適用し、したがって、ソース・データベース・システムと同じ中身を得ることができる。データ・センタは、例えば、複製機能をアクティブ化させることによって、前記複製を可能にしてもよい。つまり、複製機能が非アクティブ化されている場合、データ・センタは、ソース・データベース・システムで生じた変更を複製することができない。データ・センタは、異なるタイプのクエリを使用してデータベース(例えば、Db2)のデータを処理するために、ハイブリッド・トランザクション・解析処理(HTAP:hybrid transaction and analytic processing)環境を有効にしてもよい。データ・センタのソース・データベース・システムは、トランザクション・クエリを有効にしてもよく、ターゲット・データベース・システム(アクセラレータとも呼ばれる)は、複雑なクエリの実行を有効にしてもよく、例えば、複雑なクエリは、グルーピングおよび集約などの、高コストなSQL動作を含んでもよい。ソース・データベース・システムは、前記複雑なクエリを識別し、ターゲット・データベース・システムに転送してもよい。複雑なクエリのこの実行は、データ・センタにおけるアクセラレーション機能をアクティブ化させることによって可能にされてもよい。つまり、アクセラレーション機能が非アクティブ化された場合、ソース・データベース・システムは、複雑なクエリをターゲット・データベース・システムに転送することができず、したがって、実行されないことがある。データ・センタは、両方の機能をアクティブ化および非アクティブ化できるようにしてもよい。例えば、複製アクセラレーション機能をアクティブ化させることが、複製機能およびアクセラレーション機能をアクティブ化させることを含み、複製アクセラレーション機能を非アクティブ化することが、複製機能およびアクセラレーション機能を非アクティブ化することを含むように、複製アクセラレーション機能が、複製機能およびアクセラレーション機能を含んでもよい。複製アクセラレーション機能がアクティブ化された場合、データ・センタはアクティブであるとされる。
【0013】
ソース・データベース・システムは、例えば、トランザクション・エンジンでもよい。ターゲット・データベース・システムは、例えば、解析エンジンでもよい。データ・センタ「IBM Db2 Analytic Accelerator for z/OS」によって実現されるような特定の組合せでは、ソース・データベース・システムは、OLTPに最適化されたリレーショナルDBMS(行優先編成型ストレージ)でもよく、ターゲット・データベース・システムは、解析に最適化されたリレーショナルDBMS(列優先編成型ストレージ)でもよい。しかし、本主題は、OLTP(online transaction processing、オンライン・トランザクション処理)とOLAP(online analytical processing、オンライン解析処理)の組合せに限定されない。他の組合せとして、OLTP/グラフ・ストアまたはOLAP/キー値ストアもあり得る。ソース・データベース・システムの処理リソースは、ターゲット・データベース・システムに比べて少ないこともある。ソース・データベース・システムでは、ソース・データベースが頻繁に読み取られ、書き込まれ、更新され得るので、高速処理に重点を置いてもよい。ターゲット・データベース・システムは、大量のデータへの複雑なクエリを有効にすることができ、したがって、ソース・データベース・システムに比べて、多くの処理リソースを有することができる。HTAPクエリなど、様々なタイプのクエリを実行するために、リレーショナル・データベース・システムの組み合わせが有利に使用されてもよい。システムは、データをコピーする必要も、データをユースケースに最も適したスキーマに変換する必要もなく、同じデータに対して、解析タイプ・クエリおよびトランザクションタイプ・クエリの両方について最適な応答時間を提供することができる。
【0014】
1次データ・センタの障害の後、本アプローチは、データの処理の復旧または継続を可能にするのに最適な災害復旧アプローチを提供することができる。本主題は、突然の災害によって、1次センタのソース・データベース・システムが被害を受けるか、活動できなくなったケースでは、反応的および積極的プロセスを可能にすることができる。これは、目標復旧時間(RTO:Recovery Time Objective)を改善することができる。RTOは、著しいビジネス・ダメージにならない程度にアプリケーションが停止可能な時間を表す。実際は、データ・センタのアクセラレータは、企業内部使用のためのレポート・アプリケーション、およびクライアントと直接対応し収益を生み出す外部顧客アプリケーションという、通常2つのタイプのアプリケーションのワークロードを実行することができる。両タイプのアプリケーションが、優先度の高いアプリケーションである場合があり、その顧客に直接対応する特性により、極めて低いRTO(ほぼゼロのRTO)を要求することがある。これは、長い復旧時間が、企業にとって深刻な財務的影響およびその顧客の不満を引き起こし得ることを意味する。これを解決するために、本アプローチは、冗長なシステムおよびソフトウェアを使用することができる。これは、高可用性を確保し、ダウンタイムおよびデータ損失を阻止して単一障害点を無くすことができる。特に、本アプローチの実施形態は、1次データ・センタに障害が起きた場合のフォールバック・ソリューションとして使用され得る2次データ・センタを提供する。本アプローチの実施形態は、実際の災害復旧状況または毎年の災害復旧テストの場面で実施されてもよい。
【0015】
1次データ・センタと2次データ・センタとの組合せは、1次データ・センタが動作中の間、2次データ・センタがパッシブおよびスタンバイ・モードでもよいので、パッシブ・スタンバイ・システム・アーキテクチャを提供することができる。実際には、2次データ・センタにおいてハードウェアおよびソフトウェアはインストールされ、使用の準備ができているが、1次データ・センタが動作中の間、稼働していないか、活動的な作業を行っていない。2次データ・センタは、災害/フェイルオーバ状況においてのみアクティブ化され、次いで、以前アクティブだった1次データ・センタに取って代わることができる。
【0016】
本主題の実施形態は、復旧時間をさらに低減させることによって災害復旧アプローチをさらに改善することができ、例えば、本アプローチは、1次センタにあるソース・データベースがシャットダウンされてから、2次センタにある2次アクセラレータがクエリ・アクセラレーション用に動作可能になるまでの期間を短縮することができる。本発明の主題の実施形態は、災害復旧状況下での、加速されるワークロード(例えば、SQLワークロード)のシームレスな引き継ぎと、アクセラレータ・シャドー・テーブルの継続的な複製とを可能にすることができる。これにより、アクセラレータのダウンタイムをほぼゼロのRTOまで最小化することができ、災害復旧状況の中で複製機能を正常に復活させるための手動介入を完全に無くすことができる。例えば、本アプローチの実施形態は、事前定義済みの記憶されたプロシージャを使用して2次データ・センタのDb2から2次アクセラレータへのデータのロードを阻止することができる。これは、機器の正常な回復を保証するためにプロシージャが特定の時間枠内で実行されるように制限される可能性があり、エラーが後続のプロシージャに直接影響し、マシンの全体的なダウンタイムを延長する可能性があるほど複雑になる可能性があるため、有利である。
【0017】
1つの実施形態によれば、アプローチは、1次ターゲット・データベース・システムにおいて解析クエリを実行する前に、1次ターゲット・データベース・システムをリード・オンリ・モードに設定することをさらに含む。1次ターゲット・データベース・システムは、少なくともクエリ実行サービスを提供するために、リード・オンリ・モードにセットされてもよい。1次ターゲット・データベース・システムは、2次ターゲット・データベース・システムをクエリ・アクセラレーションに対応させるために、1次ターゲット・データベース・システムから2次ターゲット・データベース・システムにデータをコピーしている間、リード・オンリ・モードでもよい。例えば、2次アクセラレータが完全に追い付かれ、2次センタにおいて新たにスタートしたDb2からリロードされるまで、1次アクセラレータはクエリ・アクセラレーションのための暫定手段として使用されてもよい。2次アクセラレータは1次アクセラレータからの全ての変更と再同期される必要があり得るので、リード・オンリ・モードを使用するとクエリ・アクセラレーションのための復旧時間が大幅に短縮され得る。
【0018】
1つの実施形態によれば、アプローチは、データが1次ソース・データベース・システムから1次ターゲット・データベース・システムに複製されたときまでの1つまたは複数のログ位置を2次ターゲット・データベース・システムで受信すること、および、障害が発生した後に2次ソース・データベース・システムで生じたさらなる変更を複製するためにログ位置を使用することをさらに含む。
【0019】
1つの実施形態によれば、障害は、1次ソース・データベース・システムのディスク・サブシステムの障害である。障害は、1次ソース・データベース・システムの少なくとも一部(例えば、ストレージ)の部分的または全体的なシャットダウンを引き起こすことがある。
【0020】
1つの実施形態によれば、2次ソース・データベース・システムが最新のソース・データのコピーを有するように、1次ソース・データベース・システムは、1次ソース・データベース・システムのディスク・サブシステムを2次ソース・データベース・システムのディスク・サブシステムにアクティブにミラーリングするように構成される。
【0021】
1つの実施形態によれば、コピーすることは、解析クエリを実行することと並行してまたは同時に実施される。これにより、解析クエリが実行された後にコピーが実施される場合に比べて、第2のアクセラレータをクエリ・アクセラレーションのために準備する時間をさらに短縮することができる。
【0022】
図1は、本主題の例による適したデータ・センタ100のブロック図である。データ・センタ100は、例えば、IBM Db2 Analytic Accelerator for z/OS(IDAA)を備えてもよい。データ・センタ100は、ターゲット・データベース・システム121に接続されたソース・データベース・システム101を備えている。ソース・データベース・システム101は、例えば、IBM Db2 for z/OSを備えてもよい。ターゲット・データベース・システム121は、例えば、IBM Db2 Warehouse(Db2 LUW)を備えてもよい。
【0023】
ソース・データベース・システム101は、バス106によって結合された、プロセッサ102、メモリ103、I/O回路機器104、およびネットワーク・インターフェース105を含む。
【0024】
プロセッサ102は、1つまたは複数のプロセッサ(例えば、マイクロプロセッサ)を表してもよい。メモリ103は、揮発性メモリ素子(例えば、ランダム・アクセス・メモリ(DRAM、SRAM、SDRAMなどのRAM))、および不揮発性メモリ素子(例えば、ROM、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、電子的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、プログラマブル・リード・オンリ・メモリ(PROM))のうちのいずれか1つまたは組合せを含むことが可能である。メモリ103は、様々な構成要素が互いに遠くに置かれているが、プロセッサ102によってアクセス可能な、分散型アーキテクチャを有することが可能であることに留意されたい。
【0025】
メモリ103は、永続ストレージ・デバイス107と組み合わせて、ローカル・データおよび命令格納用に使用されてもよい。ストレージ・デバイス107は、I/O回路機器104によって制御された1つまたは複数の永続ストレージ・デバイスおよび媒体を含む。ストレージ・デバイス107は、例えば、固定または取外し可能媒体を有する、デジタル・データ格納用の、磁気、光、光磁気、またはソリッド・ステート装置を含んでもよい。サンプル・デバイスは、ハードディスク・ドライブ、光ディスク・ドライブ、およびフロッピー(R)・ディスク・ドライブを含む。サンプル媒体は、ハードディスク・プラッタ、CD-ROM、DVD-ROM、BD-ROM、フロッピー(R)・ディスク、および同様のものを含む。ストレージ107は、ソース・データベース112を備えてもよい。ソース・データベース112は、例えば、ソース・テーブル190を備えてもよい。ソース・テーブル190は、att1、…attnと命名された属性(列)のセットを有してもよい。
【0026】
メモリ103は、例えば、データベース・マネージメント・システムDBMS1 109のような、1つまたは複数の別個のプログラムを含んでもよく、そのそれぞれが、特に本発明の実施形態に含まれる機能といった論理機能を実行するための実行可能命令の順序付きリストを備える。メモリ103内のソフトウェアはまた、典型的には、適切なオペレーティング・システム(OS)108を含む。OS108は本質的に、本明細書に記載のように方法の少なくとも一部を実行するための他のコンピュータ・プログラムの実行を制御する。DBMS1 109は、ログ・リーダ111およびクエリ・オプティマイザ110を備える。ログ・リーダ111は、ソース・データベース・システム101のトランザクション復旧ログのログ・レコード180(図示せず)を読み取り、変更されたレコードをターゲット・データベース・システム121に提供してもよい。ログ・リーダ111は、復旧ログからログ・レコードを読み取り、関連した修正または変更情報を抽出してもよい(複製時にターゲットのテーブルを挿入/更新/削除する)。抽出された情報は、(例えば、変更の適用のリクエストとして)ターゲット・データベース・システム121に伝送されてもよい。クエリ・オプティマイザ110は、例えばソース・データベース112上で、クエリを実行するためのクエリ計画を生成または定義するように構成されてもよい。
【0027】
ターゲット・データベース・システム121は、バス126によって結合された、プロセッサ122、メモリ123、I/O回路機器124、およびネットワーク・インターフェース125を含む。
【0028】
プロセッサ122は、1つまたは複数のプロセッサ(例えば、マイクロプロセッサ)を表してもよい。メモリ123は、揮発性メモリ素子(例えば、ランダム・アクセス・メモリ(DRAM、SRAM、SDRAMなどのRAM))、および不揮発性メモリ素子(例えば、ROM、消去可能プログラマブル・リード・オンリ・メモリ(EPROM)、電子的消去可能プログラマブル・リード・オンリ・メモリ(EEPROM)、プログラマブル・リード・オンリ・メモリ(PROM))のうちのいずれか1つまたは組合せを含むことが可能である。メモリ123は、様々な構成要素が互いに遠くに置かれているが、プロセッサ122によってアクセス可能な、分散型アーキテクチャを有することが可能であることに留意されたい。
【0029】
メモリ123は、永続ストレージ・デバイス127と組み合わせて、ローカル・データおよび命令格納用に使用されてもよい。ストレージ・デバイス127は、I/O回路機器124によって制御された1つまたは複数の永続ストレージ・デバイスおよび媒体を含む。ストレージ・デバイス127は、例えば、固定または取外し可能媒体を有する、デジタル・データ格納用の、磁気、光、光磁気、またはソリッド・ステート装置を含んでもよい。サンプル・デバイスは、ハードディスク・ドライブ、光ディスク・ドライブ、およびフロッピー(R)・ディスク・ドライブを含む。サンプル媒体は、ハードディスク・プラッタ、CD-ROM、DVD-ROM、BD-ROM、フロッピー(R)・ディスク、および同様のものを含む。
【0030】
メモリ123は、例えば、データベース・マネージメント・システムDBMS2 129および適用構成要素155のような、1つまたは複数の別個のプログラムを含んでもよく、そのそれぞれが、特に本発明の実施形態に含まれる機能といった論理機能を実行するための実行可能命令の順序付きリストを備える。メモリ123内のソフトウェアはまた、典型的には、適切なOS128を含む。OS128は本質的に、本明細書に記載のように方法の少なくとも一部を実行するための他のコンピュータ・プログラムの実行を制御する。DBMS2 129は、DBアプリケーション131およびクエリ・オプティマイザ130を備える。DBアプリケーション131は、ストレージ・デバイス127に格納されたデータを処理するように構成されてもよい。クエリ・オプティマイザ130は、例えばターゲット・データベース132上で、クエリを実行するためのクエリ計画を生成または定義するように構成されてもよい。適用構成要素155は、ログ・リーダ111から送信されたログ・レコードをバッファし、バッチへの変更を整理統合して、バルク・ロード・インターフェースを介してターゲット・データベース132に修正を適用するときの効率を改善することができる。これにより、複製を実施できるようになる。レイテンシを安定した状態に保つために、複製が修正量に対応できる場合、複製は有利なことがある。修正が複製スピードを越える場合、レイテンシが蓄積し、高くなりすぎることがある。そのために、ソース・データベース・システム101は、バルク・ロードを実施するように構成されてもよい。バルク・ロードは、特定の時点にテーブル・データ全体をロードするか、またはテーブルのパーティションのセットをロードすることができる。また、ターゲット・データベース・システム121上のデータは、ロードが実行された時のソース・データベース・システムの状態を反映することになる。
【0031】
ソース・データベース・システム101およびターゲット・データベース・システム121は、高速接続142、またはネットワーク・インターフェース105、125を介したネットワーク141を通じて通信する、独立したコンピュータ・ハードウェア・プラットフォームでもよい。ネットワーク141は、例えば、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せを含んでもよい。ソースおよびターゲット・データベース・システム101および121のそれぞれが、データの独自のコピーの管理を担ってもよい。
【0032】
別個のシステムとして
図1に示されているが、ソース・データベース・システムとターゲット・データベース・システムは、例えば、同じメモリおよびプロセッサ・ハードウェアを共有する、単一のシステムに属してもよく、その一方で、ソース・データベース・システムおよびターゲット・データベース・システムのそれぞれは、それぞれのDBMSおよびデータセットに関連付けられ、例えば、2つのDBMSは、共有メモリに格納されてもよい。別の例では、2つのデータベース・マネージメント・システムDBMS1およびDBMS2は、本明細書に記載のように、DBMS1およびDBMS2によって実施される通信および方法を可能にする単一のDBMSの一部を形成してもよい。第1および第2のデータセットは、同じストレージに格納されても別個のストレージに格納されてもよい。
【0033】
図2は、本主題の例によるコンピュータ・システム200の図である。コンピュータ・システム200は、パッシブ-スタンバイ災害復旧アーキテクチャを提供する。コンピュータ・システム200は、1次データ・センタ200Aおよび2次データ・センタ200Bを備える。1次センタ200Aおよび2次データ・センタ200Bのそれぞれは、
図1を参照しながら説明されたようなデータ・センタでもよい。1次データ・センタ200Aは、1次ソース・データベース・システム201Aおよび1次ターゲット・データベース・システム221A(1次アクセラレータと呼ばれることもある)を備える。2次データ・センタ200Bは、2次ソース・データベース・システム201Bおよび2次ターゲット・データベース・システム221B(災害復旧(DR:disaster recovery)アクセラレータと呼ばれることもある)を備える。
【0034】
2次データ・センタ200Bは、1つまたは複数の接続を通じて1次データ・センタ200Aに接続されてもよい。例えば、接続は、ディスク・サブシステム207Aと207B、およびディスク・サブシステム227Aと227Bなど、ディスク・サブシステムのペアの間をリンクさせることができるファイバ・チャネル・プロトコル(FCP:Fibre Channel Protocol)リンクを含んでもよい。FCP接続は、直接、スイッチを通じて、または他のサポートされるディスタンス・ソリューション(例えば、高密度波長分割マルチプレクサDWDM、もしくはチャネル・エクステンダ)を通じて、行うことができる。
【0035】
1次ソース・データベース・システム201Aは、例えばDb2を格納するための、ディスク・サブシステムなどのストレージ207Aを備える。2次ソース・データベース・システム201B(これは、DR Db2 z/OSシステムと呼ばれることもある)は、例えばディスク・サブシステムなどの、ストレージ207Bを備える。
図2に示されているように、1次ソース・データベース・システム201Aおよび2次ソース・データベース・システム201Bは、1次ソース・データベース・システム201Aのストレージ207Aを、2次ソース・データベース・システム201Bのストレージ207Bにアクティブにミラーリングするように構成され、ストレージ207B内のデータが、ストレージ207A内のデータと一致した状態になる。
【0036】
1次ターゲット・データベース・システム221Aは、ストレージ227Aを備え、2次ターゲット・データベース・システム221Bは、ストレージ227Bを備える。
【0037】
1次データ・センタ200Aはアクティブであり、その一方で、2次データ・センタ200Bは非アクティブである。1次データ・センタ200Aがアクティブであることは、1次ソース・データベース・システム201Aと1次ターゲット・データベース・システム221Aとの間でデータ複製が生じること、および、1次ターゲット・データベース・システム221Aが、1次ソース・データベース・システム201Aにおいて受信された複雑なクエリを実行し得ることを意味し得る。
【0038】
1次データ・センタ200Aがアクティブであり、ミラーリングもアクティブなので、3つのストレージ207A、227A、および207B内のデータは、一致した状態になり得る。
【0039】
災害のケースでは、2次データ・センタ200Bがアクティブ化され、2次データ・センタ200Bにある2次ソース・データベース・システム201Bが起動し、ディスク・サブシステム207B上の現在の状態から復旧し、接続されたDRアクセラレータ221Bに変更が伝搬されてもよい。例えば、クエリ配布ユニット(図示せず)が、企業データ・ネットワーク内の2次データ・センタをアクティブ化させ、クエリ・ワークロード全てを2次データ・センタ200BのDb2/z論理パーティション(LPAR)に送信してもよく、例えば、クエリ・ワークロードは、特定のネットワーク設定をアクティブ化させることによって再配布されてもよい。クエリ配布ユニットは、1次データ・センタ200Aのデータを処理するためのクエリを受信し、クエリを1次ソース・データベース・システム201Aに転送するように構成されてもよい。1次ソース・データベース・システム201Aの障害のケースでは(例えば、災害のケースでは)、クエリ配布ユニットは、本主題にしたがって、2次ソース・データベース・システム201Bへの、受信したクエリの転送を有利に実施するように構成されてもよい。
【0040】
図3は、本主題の例によるデータ・センタ(1次データ・センタと呼ばれる)を動作させるためのアプローチのフローチャートである。説明のために、
図3に記載のアプローチは、
図1または
図2に例示されたシステムで実施されてもよいが、このような実装形態に限定されない。1次データ・センタは、例えば、
図1および
図2を参照しながらそれぞれ説明されたデータ・センタ100または200Aであってもよい。
【0041】
ステップ301において、例えば
図2を参照しながら説明されたような2次データ・センタ200Bが提供されてもよい。2次データ・センタは、1次データ・センタ200Aのための災害復旧センタを動作可能にすることができる。2次データ・センタ200Bは、1つまたは複数の接続を介して1次データ・センタ200Aに接続されてもよい。接続は、例えば、FCPリンクまたはファイバ接続(FICON)リンクあるいはその両方を含んでもよい。
【0042】
プロセスは、ステップ303において、1次ソース・データベース・システム201Aにおいて障害が発生したかどうかを決定してもよい。障害は、例えば、1次ソース・データベース・システム201Aのディスク・サブシステム207Aの障害でもよい。
【0043】
1次ソース・データベース・システム201Aの障害を検出したことに応答して、プロセスは、ステップ305において、1次ソース・データベース・システム201Aを対象としたクエリを2次ソース・データベース・システム201Bにオフロードしてもよい。障害が発生した時間t0に、ストレージ207A、227A、および207Bは一致した状態にあってもよく、DS0と命名された同じデータを有することができ、DS0は、最新の1次ソース・データベース・システム201Aのデータでもよい。ストレージ上のデータの一致は、例えば、所有者/アドミニストレータによって、1次および2次データ・センタにおける動作をモニタおよびチェックすることによって、確保されてもよい。データDS0は、1次ソース・データベース・システム201Aにおいて障害が検出される直前の、1次ソース・データベース・システム201Aの最新のデータでもよい。
【0044】
プロセスは、ステップ307において、1次ターゲット・データベース・システム221Aが利用可能であるかどうかを決定してもよい。システムが利用可能であることは、システムがクエリを受信および実行可能であることを意味する。
【0045】
1次ターゲット・データベース・システム221Aが利用可能であり、2次ソース・データベース・システム201Bによってオフロードされたクエリを受信すると、2次ソース・データベース・システム201Bは、オフロードされたクエリを解析してクエリ(複雑なクエリ)を識別し、ステップ309において、解析クエリを1次ターゲット・データベース・システム221Aに転送してもよい。1次ターゲット・データベース・システム221Aは、ステップ311において、解析クエリを実行し、データDS0を1次ターゲット・データベース・システム221Aから2次ターゲット・データベース・システム221Bにコピーしてもよい。ステップ311におけるデータDS0のコピーおよび解析クエリの実行は、並行してまたは同時に実施されてもよい。データDS0をコピーすることは、DRアクセラレータ221Bにクエリ・アクセラレーションの準備をさせることができる。これは、DRアクセラレータ221Bがクエリ・アクセラレーションの準備ができるまで、クエリ・アクセラレーションのために1次ターゲット・データベース・システム221Aを動作可能にしてもよい。1次ターゲット・データベース・システム221Aからデータをコピーすることは、有利になり得る。例えば、DRアクセラレータを再同期させる場合、データがまだ利用可能であり、その複製復旧メタデータ(例えば、ブックマーク・テーブル)がデータベースの復旧状態と同期した状態なので(コミットされたトランザクションだけが複製される)、復旧中のデータベース・システム201Bの代わりに、1次アクセラレータからデータが直接コピーされてもよい。
【0046】
1次ターゲット・データベース・システム221Aが利用可能でない場合、ステップ313において、2次ソース・データベース・システム201Bは、データDS0を2次ターゲット・データベース・システム221Bにコピーしてもよい。
【0047】
データDS0のコピーが終わった後、ステップ315において、2次データ・センタ200Bにおいて(例えば、時間t1に)複製アクセラレーション機能がアクティブ化されてもよい。これは、時間t1の後に、2次ソース・データベース・システム201Bから2次ターゲット・データベース・システム221Bへの複製が実施され、2次ターゲット・データベース・システム221Bにおいて解析クエリが実行されてもよいことを意味する。複製は、t0とt1との間に生じたデータDS0への変更が2次ターゲット・データベース・システム221Bにおいて適用され得るように実施されてもよい。例えば、2次データ・センタ200Bをアクティブ化させた後、t0とt1との間で生じたこれらの変更は、2次アクセラレータ221Bに伝搬されてもよい。例えば、t0とt1との間に、2次データ・センタ200BのDb2/zメインフレームの利用可能性をマークする時点T0があってもよい。t0からT0までの時間は非常に短い可能性があり、全てが自動で行われる場合、ほんの数分、またはことによると数秒になることもあり、1次データ・センタにあるメインフレームDb2も、2次データ・センタにあるメインフレームDb2も利用可能ではないこともある。t0からT0までに2次Db2 z/OSシステムに書き込まれるデータがないこともある。T0からt1までにデータが2次Db2 z/OSシステムに書き込まれる可能性もある。変更は、2次Db2/zに書き込まれることになり、このデータは、t1の後に2次アクセラレータに複製されることになる。
【0048】
1次ターゲット・データベース・システム221Aから2次ターゲット・データベース・システム221Bへのデータのコピーは、1次ターゲット・データベース・システム221A上のコピー予定のテーブルを識別し、2次ターゲット・データベース・システム221Bへのコピー・プロセスを開始すること、1次ソース・データベース・システム201Aからデータが正確に複製されるまでの1つまたは複数のログ位置を識別する複製メタデータをコピーすること、復旧が完了した後、DR db2 z/OSシステムおよびDRアクセラレータをリード/ライト・モードに変更すること、ならびに、フェイルオーバおよび復旧が完了した後、任意の新しい変更の複製を続けるためにDR db2 z/OSシステムおよびDRアクセラレータ上で複製をリスタートすることというステップを有してもよい。復旧手順が終了したので、DR db2 z/OSシステムおよびDRアクセラレータは、リード/ライト・モードに切り替えてもよい。DRアクセラレータは、現在まで書き込み活動から保護されてきたが、DRアクセラレータ上のデータが現在最新なので、残りの作業(db2からの任意の新たに変更されたデータの複製、およびクエリ・ワークロード)を続けるために、モードはリード/ライトに設定されることが可能である。リード/ライト・モードに切り替えると、データ復旧手順全体が完了する。
【0049】
図4は、本主題の例による復旧アプローチのフローチャートである。説明のために、
図4に記載のアプローチは、
図2に例示されたシステムで実施されてもよいが、このような実装形態に限定されない。
【0050】
1次データ・センタ200AにあるDb2がダウンしているので、ステップ401において災害復旧が開始してもよい。プロセスは、ステップ403において、DRアクセラレータ221Bが機能しているかどうかを決定してもよい。DRアクセラレータ221Bが機能している場合は、プロセスは、ステップ405~415を実行することができ、そうでない場合、プロセスは、ステップ407~411、413~415、および416~417を実行することができる。プロセスは、ステップ405において、1次アクセラレータ221Aが機能しているかどうかを決定してもよい。1次アクセラレータが機能しているとプロセスが決定した場合、プロセスは、ステップ407、409~411、413、および415を実行することができ、そうでない場合、プロセスは、ステップ412~413、および415を実行することができる。本明細書で使用されている「機能していない」とは、DRアクセラレータがワークロードを実行するために必要なデータを、DRアクセラレータがまだ有していないことを意味する。DRアクセラレータは、例えば、1次アクセラレータから2次アクセラレータにデータを準備してコピーした後、機能することができる。
【0051】
プロセスは、ステップ407において、1次アクセラレータをリード・オンリ・モードに設定してもよい。ステップ409において、プロセスは、1次アクセラレータ上でワークロードを実行してもよい。ステップ410において、プロセスは、コピー予定のテーブルを識別してもよく、ステップ411において、1次アクセラレータ221Aは、DRアクセラレータ221Bへのコピー・プロセスを開始してもよい。ステップ411において、プロセスは、テーブルを識別してテーブルの中身をコピーしてもよい。オペレーティング・システム、ネットワーク設定、デフォルト設定が、2次アクセラレータ上で既に利用可能かもしれないので、オペレーティング・システム・イメージ、構成、および設定のコピーはされなくともよい。ステップ411において、1次アクセラレータ221Aは、ログ位置を示す複製メタデータをDRアクセラレータ221Bにさらにコピーしてもよい。コピーが完了した後、プロセスは、ステップ413において、DRアクセラレータ上で複製をスタートさせてもよく、プロセスは、ステップ415において、DRアクセラレータ221B上でワークロードを実行するためにアクセラレーションをスタートさせてもよい。
【0052】
ステップ412において、プロセスは、DR Db2 z/OSシステム201AからDRアクセラレータ221Bへのデータのコピーを開始し、その後、プロセスは、ステップ413および415を実行する。
【0053】
ステップ416において、プロセスは、1次アクセラレータ221Aが機能しているかどうかを決定してもよい。1次アクセラレータ221Aが機能しているとプロセスが決定した場合、プロセスは、ステップ407、409~411、413、および415を実行する。1次が機能していないとプロセスが決定した場合、アクセラレータがどれも機能していないので、ステップ417において、ワークロードは失敗することがある。
【0054】
このように、
図4は、z/OSシステム201Aの1次Db2の障害を復旧するためにトリガされるイベントのフローを示している。上述のように、フローは、1次データ・センタにおいてDb2が応答していないことが検出された場合にスタートする。これにより、Db2がDR z/OSシステム201Bにフェイルオーバされ、このシステム201Bが起動を完了し、1次のトランザクション・ログから一致した状態に復旧すると、使用されるべきアクセラレータのサーチを開始することになる。DRアクセラレータおよび1次アクセラレータがまだ利用可能な場合、1次アクセラレータがアクセラレーションのために直接使用されることが可能であり、並行してコピー・プロセスが1次アクセラレータから直接スタートすることが可能である。これは、コミットされた変更だけが複製され、1次アクセラレータが、DR Db2 z/OSシステム201Bの変更の状態またはその前の一致した状態にあるので、機能する。コピーが完了すると、複製は、DR Db2 z/OSシステム201Bからのコピーされた最新のコミットから選ぶことが可能である。DRアクセラレータ221Bが機能していないが、1次アクセラレータ221Aが機能している場合、1次アクセラレータ221Aは、リード・オンリ・モードにされることになり、DR Db2 z/OSシステム201Bからのクエリ・アクセラレーションが、すぐに発生してもよい。並行して、1次アクセラレータ221AからDRアクセラレータ221Bへのコピー・プロセスが開始され、完了したら複製およびクエリ・アクセラレーションを再開できるようになる。最後に、1次アクセラレータ221Aが機能していないが、DRアクセラレータ221Bが機能している場合、データがDR Db2 z/OSシステム201BからDRアクセラレータ221Bにコピーされてもよく、このコピー・プロセスが完了するまで、クエリ・アクセラレーションは行われない可能性がある。
【0055】
本主題は、以下の節を含む。
【0056】
節1.コンピュータ実行方法であって、1次データ・センタを提供することであって、1次データ・センタが、1次ソース・データベース・システムおよび1次ターゲット・データベース・システムを備え、1次ソース・データベース・システムのデータのコピーを有すること、1次ソース・データベース・システムから解析クエリを受信すること、およびデータに対して解析クエリを実行することを、1次ターゲット・データベース・システムに行わせる1次データ・センタにおいて機能がアクティブ化される、提供すること、ならびに1次ソース・データベース・システムの障害を検出したことに応答して、1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、2次ソース・データベース・システムが、データのコピーを有し、2次データ・センタにおいて機能が非アクティブ化される、オフロードすること、1次ターゲット・データベース・システムが利用可能であることに応答して、1次ターゲット・データベース・システムによって、オフロードされたクエリの、2次ソース・データベース・システムによって処理された解析クエリを受信すること、および1次ターゲット・データベース・システムによって、データを2次ターゲット・データベース・システムにコピーすること、ならびに2次データ・センタにおいて機能をアクティブ化させるようにすることを含む、コンピュータ実行方法。
【0057】
節2.1次ターゲット・データベース・システムにおいて解析クエリを実行する前に、1次ターゲット・データベース・システムをリード・オンリ・モードにセットすることをさらに含む、節1のコンピュータ実行方法。
【0058】
節3.データが1次ソース・データベース・システムから1次ターゲット・データベース・システムに複製される時までのログ位置を1次ターゲット・データベース・システムから2次ターゲット・データベース・システムに送信することであって、障害後に2次ソース・データベース・システムで生じたさらなる変更を複製するためにログ位置が使用される、送信することをさらに含む、節1または節2のコンピュータ実行方法。
【0059】
節4.ログ位置が、1次ターゲット・データベース・システムの複製メタデータの中で送信される、節3のコンピュータ実行方法。
【0060】
節5.障害が、1次ソース・データベース・システムのディスク・サブシステムの障害である、節1ないし節4のいずれかのコンピュータ実行方法。
【0061】
節6.2次ソース・データベース・システムがデータのコピーを有するように、1次ソース・データベース・システムが、1次ソース・データベース・システムのストレージを2次ソース・データベース・システムのストレージに能動的にミラーリングする、節1ないし節5のいずれかのコンピュータ実行方法。
【0062】
節7.データを2次ターゲット・データベース・システムにコピーすることが、解析クエリを実行することと並行して実施される、節1ないし節6のいずれかのコンピュータ実行方法。
【0063】
節8.2次データ・センタにおいて機能をアクティブ化させるようにすることが、1次ソース・データベース・システムをリード/ライト・モードに変更することを含む、節1ないし節7のいずれかのコンピュータ実行方法。
【0064】
節9.1次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、1次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、節1ないし節8のいずれかのコンピュータ実行方法。
【0065】
節10.2次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、2次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、節1ないし節8のいずれかのコンピュータ実行方法。
【0066】
節11.1次データ・センタが、1つまたは複数のリンクを通じて2次データ・センタに接続され、リンクが、ファイバ・チャネル・プロトコル(FCP)リンク、およびファイバ接続(FICON)リンクから成るグループからの選択を含む、節1ないし節10のいずれかのコンピュータ実行方法。
【0067】
本発明は、統合の任意の可能な技術的詳細レベルにおけるシステム、方法、またはコンピュータ・プログラム製品、あるいはその組合せでもよい。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読ストレージ媒体(または複数の媒体)を含んでもよい。
【0068】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のための命令を保持および格納可能な有形デバイスであることが可能である。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せでもよいがこれらに限定されない。コンピュータ可読ストレージ媒体のより具体的な例の完全に網羅されていないリストは、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、消去可能プログラマブル・リード・オンリ・メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・オンリ・メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、命令を記録したパンチ・カードまたは溝内隆起構造などの機械的にエンコードされたデバイス、および前述のいずれかの適切な組合せを含む。本明細書で使用されるようなコンピュータ可読ストレージ媒体は、本質的に、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通じて伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、またはワイヤを通じて伝送される電気信号などの一時的な信号であると解釈されるべきではない。
【0069】
本明細書に記載のコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、あるいは、例えば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワーク、またはその組合せなどのネットワークを介して外部コンピュータまたは外部ストレージ・デバイスにダウンロード可能である。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてもよい。各コンピューティング/処理デバイスのネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、コンピュータ可読プログラム命令をネットワークから受け取り、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に格納するためにコンピュータ可読プログラム命令を転送する。
【0070】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、インストラクション・セット・アーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路機器用の構成データ、または、Smalltalk(R)、C++、もしくは同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは類似のプログラミング言語などの手続き型プログラミング言語を含む、1つもしくは複数のプログラミング言語の任意の組合せで書かれたソース・コードもしくはオブジェクト・コードでもよい。コンピュータ可読プログラム命令は、全面的にユーザのコンピュータ上で、または、部分的にユーザのコンピュータ上で、スタンド・アロンのソフトウェア・パッケージとして、あるいは、部分的にユーザのコンピュータ上かつ部分的にリモート・コンピュータ上で、または全面的にリモート・コンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを通じてユーザのコンピュータに接続されてもよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを通じて)外部コンピュータに対して行われてもよい。一部の実施形態では、例えば、プログラム可能論理回路機器、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル・ロジック・アレイ(PLA)を含む電子回路機器が、本発明の態様を実施するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路機器を個別化にすることによって、コンピュータ可読プログラム命令を実行してもよい。
【0071】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図またはブロック図あるいはその両方を参照しながら本明細書で説明される。流れ図またはブロック図あるいはその両方の各ブロック、ならびに流れ図またはブロック図あるいはその両方におけるブロックの組合せは、コンピュータ可読プログラム命令によって実行可能であることが理解されよう。
【0072】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するための手段を作り出すべく、コンピュータ、または機械を生み出すための他のプログラム可能データ処理装置のプロセッサに提供されてもよい。これらのコンピュータ可読プログラム命令は、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為の態様を実行する命令を含む製品を、命令を格納したコンピュータ可読ストレージ媒体が備えるべく、コンピュータ可読ストレージ媒体にさらに格納されてもよく、コンピュータ、プログラム可能データ処理装置、または他のデバイス、あるいはその組合せに特定の様式で機能するように指示可能である。
【0073】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラム可能装置、または他のデバイス上で実行する命令が、流れ図またはブロック図あるいはその両方の1つまたは複数のブロックで指定された機能/行為を実行するべく、コンピュータ実行処理を生み出すために、コンピュータ、他のプログラム可能装置、または他のデバイスで一連の動作ステップが実施されるようにするために、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてもよい。
【0074】
図中の流れ図およびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関して、流れ図またはブロック図の中の各ブロックは、指定の論理機能を実施するための1つまたは複数の実行可能命令を含む、命令のモジュール、セグメント、または一部を表してもよい。一部の代替実装形態では、ブロックに記された機能は、図に記された順序とは無関係に行われてもよい。例えば、連続して示された2つのブロックは、実際には、同時に、実質的に同時に、部分的もしくは全面的に時間重複した様式で実行される1つのステップとして行われてもよく、またはブロックは、時には含まれる機能に応じて逆の順序で実行されてもよい。ブロック図または流れ図あるいはその両方の各ブロック、および、ブロック図または流れ図あるいはその両方におけるブロックの組合せは、指定の機能もしくは行為を行うか、または、特殊用途のハードウェアとコンピュータ命令との組合せを実行する、特殊用途のハードウェア・ベースのシステムによって実行されることが可能であることも指摘される。
【0075】
本発明の様々な実施形態の説明が例証のために提示されてきたが、網羅的であることまたは開示の実施形態に限定されることを意図するものではない。本発明の範囲および思想から逸脱することなく、多くの変更形態および変形形態が当業者には明らかであろう。本明細書で使用される専門用語は、実施形態の原理、実用的用途、もしくは、市場で見つかる技術に対する技術的改善を最もうまく説明するように、または、本明細書で開示された実施形態を当業者が理解できるように選ばれた。
【手続補正書】
【提出日】2024-11-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のプロセッサが実行する方法であって、
1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供することであって、前記1次ターゲット・データベース・システムに、
前記1次ソース・データベース・システムのデータのコピーを有すること、
前記1次ソース・データベース・システムから解析クエリを受信すること、および
前記データに対して前記解析クエリを実行すること
を行わせる機能が、前記1次データ・センタにおいてアクティブ化される、提供すること、ならびに
前記1次ソース・データベース・システムの障害を検出したことに応答して、
前記1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの前記2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、前記2次ソース・データベース・システムが、前記データのコピーを有し、前記2次データ・センタにおいて前記機能が非アクティブ化される、オフロードすること、
前記1次ターゲット・データベース・システムが利用可能であることに応答して、
前記オフロードされたクエリの、前記2次ソース・データベース・システムによって処理された解析クエリを前記1次ターゲット・データベース・システムによって受信すること、および
前記1次ターゲット・データベース・システムによって、前記データを前記2次ターゲット・データベース・システムにコピーすること、ならびに
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすること
を含む、コンピュータ実行方法。
【請求項2】
前記1次ターゲット・データベース・システムにおいて前記解析クエリを実行する前に、前記1次ターゲット・データベース・システムをリード・オンリ・モードに設定することをさらに含む、請求項1に記載のコンピュータ実行方法。
【請求項3】
前記データが前記1次ソース・データベース・システムから前記1次ターゲット・データベース・システムに複製される時までのログ位置を前記1次ターゲット・データベース・システムから前記2次ターゲット・データベース・システムに送信することであって、前記障害後に前記2次ソース・データベース・システムで生じたさらなる変更を複製するために前記ログ位置が使用される、送信することをさらに含む、請求項
1に記載のコンピュータ実行方法。
【請求項4】
前記ログ位置が、前記1次ターゲット・データベース・システムの複製メタデータの中で送信される、請求項3に記載のコンピュータ実行方法。
【請求項5】
前記障害が、前記1次ソース・データベース・システムのディスク・サブシステムの障害である、請求項
1に記載のコンピュータ実行方法。
【請求項6】
前記2次ソース・データベース・システムが前記データの前記コピーを有するように、前記1次ソース・データベース・システムが、前記1次ソース・データベース・システムのストレージを前記2次ソース・データベース・システムのストレージにアクティブにミラーリングする、請求項
1に記載のコンピュータ実行方法。
【請求項7】
前記データを前記2次ターゲット・データベース・システムにコピーすることが、前記解析クエリを実行することと並行して実施される、請求項
1に記載のコンピュータ実行方法。
【請求項8】
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすることが、前記1次ソース・データベース・システムをリード/ライト・モードに変更することを含む、請求項
1に記載のコンピュータ実行方法。
【請求項9】
前記1次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、前記1次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、請求項
1に記載のコンピュータ実行方法。
【請求項10】
前記2次ソース・データベース・システムが、オンライン・トランザクション処理(OLTP)システムであり、前記2次ターゲット・データベース・システムが、オンライン解析処理(OLAP)システムである、請求項
1に記載のコンピュータ実行方法。
【請求項11】
前記1次データ・センタが、1つまたは複数のリンクを通じて前記2次データ・センタに接続され、
前記リンクが、ファイバ・チャネル・プロトコル(FCP)リンク、およびファイバ接続(FICON)リンクから成るグループからの選択を含む、
請求項
1に記載のコンピュータ実行方法。
【請求項12】
1つまたは複数のプロセッサに、請求項1から請求項11のいずれかに記載の方法を実行させる、コンピュータ・プログラム。
【請求項13】
請求項1から請求項11のいずれかに記載の方法を1つまたは複数のプロセッサに実行させるためのコンピュータ・プログラムを記録した、コンピュータ可読ストレージ媒体。
【請求項14】
コンピュータ・システムであって、
1つまたは複数のコンピュータ・プロセッサと、1つまたは複数のコンピュータ可読ストレージ媒体と、前記1つまたは複数のコンピュータ・プロセッサのうちの少なくとも1つによる実行のための前記1つまたは複数のコンピュータ可読ストレージ媒体に一括して格納されたプログラム命令とを備え、前記プログラム命令が、
1次ソース・データベース・システムと1次ターゲット・データベース・システムとを備える1次データ・センタを提供するためのプログラム命令であって、前記1次ターゲット・データベース・システムに、
前記1次ソース・データベース・システムのデータのコピーを有すること、
前記1次ソース・データベース・システムから解析クエリを受信すること、および
前記データに対して前記解析クエリを実行すること
を、行わせる機能が、前記1次データ・センタにおいてアクティブ化される、1次データ・センタを提供するためのプログラム命令、ならびに
前記1次ソース・データベース・システムの障害を検出したことに応答して、
前記1次ソース・データベース・システムを対象としたクエリを2次ソース・データベース・システムにオフロードすることであって、2次データ・センタの前記2次ソース・データベース・システムが、2次ターゲット・データベース・システムをさらに備え、前記2次ソース・データベース・システムが、前記データのコピーを有し、前記2次データ・センタにおいて前記機能が非アクティブ化される、オフロードすること、
前記1次ターゲット・データベース・システムが利用可能であることに応答して、
前記オフロードされたクエリの、前記2次ソース・データベース・システムによって処理された解析クエリを前記1次ターゲット・データベース・システムによって受信すること、および
前記1次ターゲット・データベース・システムによって、前記データを前記2次ターゲット・データベース・システムにコピーすること、ならびに
前記2次データ・センタにおいて前記機能がアクティブ化されるようにすること
を行うためのプログラム命令
を含む、コンピュータ・システム。
【国際調査報告】