IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベリタス テクノロジーズ エルエルシーの特許一覧

特許7457141データベースのエージェントレスな加速化バックアップのためのシステム及び方法
<>
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図1
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図2
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図3
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図4
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図5
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図6
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図7
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図8
  • 特許-データベースのエージェントレスな加速化バックアップのためのシステム及び方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-18
(45)【発行日】2024-03-27
(54)【発明の名称】データベースのエージェントレスな加速化バックアップのためのシステム及び方法
(51)【国際特許分類】
   G06F 16/11 20190101AFI20240319BHJP
   G06F 16/23 20190101ALI20240319BHJP
   G06F 11/14 20060101ALI20240319BHJP
【FI】
G06F16/11
G06F16/23
G06F11/14 651
【請求項の数】 15
(21)【出願番号】P 2022548515
(86)(22)【出願日】2021-02-24
(65)【公表番号】
(43)【公表日】2023-04-13
(86)【国際出願番号】 US2021019346
(87)【国際公開番号】W WO2021173620
(87)【国際公開日】2021-09-02
【審査請求日】2022-08-09
(31)【優先権主張番号】16/800,322
(32)【優先日】2020-02-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】516222277
【氏名又は名称】ベリタス テクノロジーズ エルエルシー
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(72)【発明者】
【氏名】バラドワジ、ヴァイジャヤンティ
(72)【発明者】
【氏名】ダラル、チラグ
【審査官】酒井 恭信
(56)【参考文献】
【文献】米国特許第10210052(US,B1)
【文献】特表2019-513269(JP,A)
【文献】特開2014-048690(JP,A)
【文献】米国特許出願公開第2016/0314046(US,A1)
【文献】米国特許出願公開第2006/0064444(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
G06F 11/14
(57)【特許請求の範囲】
【請求項1】
データバックアップデバイスによって、データベースのエージェントレスな加速化バックアップを実施する方法であって、前記方法は、
前記データバックアップデバイスによってデータサーバから、前記データサーバのデータの完全バックアップを提供するデータのブロックを受信することと、
前記データバックアップデバイスによって前記データサーバから、前記データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信することと、
前記データバックアップデバイスによって、前記ネイティブログに基づき、前記データのブロックのうちの1つ以上の変更されたブロックを決定することと、
前記データバックアップデバイスによって、前記データのブロックのうちの1つ以上を前記1つ以上の変更されたブロックでオーバーレイし、前記データのブロックのうちの残りのブロックを前記完全バックアップと共有する合成完全バックアップを作製することによって、前記データサーバのポイントインタイム復元を提供することと、
前記データバックアップデバイスによって、前記1つ以上のネイティブログのうちの少なくとも1つを1つ以上のトランザクションレベルの復元ポイントとしてメモリ内に保持することと、を含む、方法。
【請求項2】
前記データのブロックを受信することは、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介して前記データのブロックを受信することを含む、請求項1に記載の方法。
【請求項3】
前記ファイル共有機構は、ネットワークファイル共有(NFS)データエクスポート機構を含む、請求項2に記載の方法。
【請求項4】
前記ファイル共有機構は、書き込み可能オーバーレイを含む、請求項2に記載の方法。
【請求項5】
前記ファイル共有機構は、データ重複排除エンジンを含む、請求項2に記載の方法。
【請求項6】
前記1つ以上のネイティブログを受信することは、ログ複製モードで構成された前記データサーバから前記ネイティブログを受信することを含む、請求項1~5のいずれか一項に記載の方法。
【請求項7】
前記1つ以上の変更されたブロックを決定することは、前記データバックアップデバイスによってデータベースコンテナイメージをスピンアップすることと、前記データベースコンテナイメージを使用して、前記ネイティブログを前記完全バックアップに適用することによって合成完全コピーを生成することと、を含む、請求項1~6のいずれか一項に記載の方法。
【請求項8】
前記合成完全バックアップを作製することは、前記合成完全コピーのバックアップを実施することを含む、請求項7に記載の方法。
【請求項9】
データバックアップデバイスによって、データベースのエージェントレスな加速化バックアップを実施するように構成されたシステムであって、前記システムは、
なくとも1つのプロセッサとメモリを含む、データバックアップデバイス、を備え、前記データバックアップデバイス前記少なくとも1つのプロセッサは、
ータサーバから、前記データサーバのデータの完全バックアップを提供するデータのブロックを受信し、
記データサーバから、前記データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信し、
記ネイティブログに基づき、前記データのブロックのうちの1つ以上の変更されたブロックを決定し、
記データのブロックのうちの1つ以上を前記1つ以上の変更されたブロックでオーバーレイし、前記データのブロックのうちの残りのブロックを前記完全バックアップと共有する合成完全バックアップを作製することによって、前記データサーバのポイントインタイム復元を提供し、
記1つ以上のネイティブログのうちの少なくとも1つを1つ以上のトランザクションレベルの復元ポイントとして前記メモリ内に保持するように構成されている、システム。
【請求項10】
前記少なくとも1つのプロセッサは、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有手段を介して前記データのブロックを受信することによって、少なくとも部分的に前記データのブロックを受信するように構成されている、請求項9に記載のシステム。
【請求項11】
前記ファイル共有手段は、ネットワークファイル共有(NFS)データエクスポート手段を含む、請求項10に記載のシステム。
【請求項12】
前記ファイル共有手段は、書き込み可能オーバーレイを含む、請求項10に記載のシステム。
【請求項13】
前記ファイル共有手段は、データ重複排除手段を含む、請求項10に記載のシステム。
【請求項14】
前記少なくとも1つのプロセッサは、ログ複製モードで構成された前記データサーバから前記ネイティブログを受信することによって、少なくとも部分的に前記1つ以上のネイティブログを受信するように構成されている、請求項9~13のいずれか一項に記載のシステム。
【請求項15】
前記少なくとも1つのプロセッサ、データベースコンテナイメージをスピンアップすることと、前記データベースコンテナイメージを使用して、前記ネイティブログを前記完全バックアップに適用することによって合成完全コピーを生成することと、によって、少なくとも部分的に前記1つ以上の変更されたブロックを決定するように構成されている、請求項9~14のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
今日のほとんどのデータベースバックアップは、ログバックアップとして実施される。データベースファイルの完全バックアップが安定した状態で取得され、次いで、ポイントインタイム復元が可能になるようにログがコピーされる。ログは、データの削除など、データベース内で発生するそれぞれのトランザクションを記録し、トランザクションごとに遡るか又はトランザクション識別子を提供することによってある時点を選択することを可能にする。ログバックアップでは、増分更新がトランザクションログ更新であり、データベースはこれらの更新を一貫して実施する方法を知っているため、バックアップは一貫している。また、エンタープライズデータベースは、ログバックアップをネイティブにサポートする。
【0002】
しかしながら、ログバックアップ方法は、いくつかの問題をもたらす。例えば、データベースを実行する本番ホスト(すなわち、データサーバ)でエージェントを実行する必要がある。追加的に、データベースを復元するには、アプリケーション固有のロジックが必要である。また、ログバックアップからのデータベースの復元は、本番ホストでログを再生することを必要とするため、定期的な完全バックアップが必要であり、リカバリ時間目的(recovery time objective、RTO)の増加につながる。本番ホストでログを再生する必要があるということは、また、即時アクセスが提供され得ないことを意味し、増分バックアップのコストで完全バックアップを提供し得る加速機能を使用することができない。
【発明の概要】
【0003】
以下により詳細に記載されるように、本開示は、作製することと、データサーバから受信したネイティブログに基づいて変更されたデータのブロックを決定することと、データバックアップデバイスによって、完全バックアップのデータブロックのうちの1つ以上を1つ以上の変更されたブロックでオーバーレイし、データのブロックのうちの残りのブロックを完全バックアップと共有する合成完全バックアップを作製することと、による、データベースのエージェントレスな加速化バックアップのための様々なシステム及び方法を記載する。
【0004】
一実施形態では、データベースのエージェントレスな加速化バックアップのためのコンピュータ実装方法は、データバックアップデバイスによってデータサーバから、データサーバのデータの完全バックアップを提供するデータのブロックを受信することを含み得る。この方法は、追加的に、データバックアップデバイスによってデータサーバから、データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信することを含む。この方法はまた、データバックアップデバイスによって、ネイティブログに基づき、データのブロックのうちの1つ以上の変更されたブロックを決定することを含む。この方法は、データバックアップデバイスによって、データのブロックのうちの1つ以上を1つ以上の変更されたブロックでオーバーレイし、データのブロックのうちの残りのブロックを完全バックアップと共有する合成完全バックアップを作製することによって、データサーバのポイントインタイム復元を提供することを更に含む。
【0005】
コンピュータ実装方法のいくつかの実施形態では、データのブロックを受信することは、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介してデータのブロックを受信することを含む。例えば、ファイル共有機構は、ネットワークファイル共有(network file sharing、NFS)データエクスポート機構を含み得る。追加的に、ファイル共有機構は、書き込み可能オーバーレイを含み得る。また、共有機構は、データ重複排除エンジンを含み得る。追加的に又は代替的に、1つ以上のネイティブログを受信することは、ログ複製モードで構成されたデータサーバからネイティブログを受信することを含み得る。
【0006】
コンピュータ実装方法のいくつかの実施形態では、1つ以上の変更されたブロックを決定することは、データバックアップデバイスによってデータベースコンテナイメージをスピンアップすることと、データベースコンテナイメージを使用して、ネイティブログを完全バックアップに適用することによって合成完全コピーを生成することと、を含み得る。そのような実施形態では、合成完全バックアップを作製することは、合成完全コピーのバックアップを実施することを含み得る。
【0007】
別の実施形態では、データベースのエージェントレスな加速化バックアップのためのシステムは、少なくとも1つの物理プロセッサを含むコンピューティングデバイスと、少なくとも1つの物理プロセッサに結合された物理メモリと、を含み得る。少なくとも1つの物理プロセッサは、データバックアップデバイスによってデータサーバから、データサーバのデータの完全バックアップを提供するデータのブロックを受信するように構成されている。少なくとも1つの物理プロセッサは、追加的に、データバックアップデバイスによってデータサーバから、データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信するように構成されている。少なくとも1つの物理プロセッサはまた、データバックアップデバイスによって、ネイティブログに基づき、データのブロックのうちの1つ以上の変更されたブロックを決定するように構成されている。少なくとも1つの物理プロセッサは更に、データバックアップデバイスによって、データのブロックのうちの1つ以上を1つ以上の変更されたブロックでオーバーレイし、データのブロックのうちの残りのブロックを完全バックアップと共有する合成完全バックアップを作製することによって、データサーバのポイントインタイム復元を提供するように構成されている。
【0008】
システムのいくつかの実施形態では、少なくとも1つの物理プロセッサは、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介してデータのブロックを受信することによって、少なくとも部分的にデータのブロックを受信するように構成されている。例えば、ファイル共有機構は、ネットワークファイル共有(NFS)データエクスポート機構を含み得る。追加的に、ファイル共有機構は、書き込み可能オーバーレイを含み得る。また、共有機構は、データ重複排除エンジンを含み得る。代替的又は追加的に、少なくとも1つの物理プロセッサは、ログ複製モードで構成されたデータサーバからネイティブログを受信することによって、少なくとも部分的に1つ以上のネイティブログを受信するように構成されている。
【0009】
システムのいくつかの実施形態では、少なくとも1つの物理プロセッサは、データバックアップデバイスによってデータベースコンテナイメージをスピンアップすることと、データベースコンテナイメージを使用して、ネイティブログを完全バックアップに適用することによって合成完全コピーを生成することと、によって、少なくとも部分的に1つ以上の変更されたブロックを決定するように構成され得る。そのような実施形態では、少なくとも1つの物理プロセッサは、合成完全コピーのバックアップを実施することによって、少なくとも部分的に合成完全バックアップを作製するように構成され得る。
【0010】
いくつかの例では、上記の方法は、非一過性コンピュータ可読媒体上にコンピュータ可読命令としてコード化されてもよい。例えば、コンピュータ可読媒体は、1つ以上のコンピュータ実行可能命令を含み得、当該命令は、コンピューティングデバイスの少なくとも1つのプロセッサによって実行されるとき、コンピューティングデバイスに、データバックアップデバイスによってデータサーバから、データサーバのデータの完全バックアップを提供するデータのブロックを受信させ得る。追加的に、1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、データバックアップデバイスによってデータサーバから、データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信させ得る。また、1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、データバックアップデバイスによって、ネイティブログに基づき、データのブロックのうちの1つ以上の変更されたブロックを決定させ得る。更に、1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、データバックアップデバイスによって、データのブロックのうちの1つ以上を1つ以上の変更されたブロックでオーバーレイし、データのブロックの残りのブロックを完全バックアップと共有する合成完全バックアップを作製することによって、データサーバのポイントインタイム復元を提供させ得る。
【0011】
いくつかの実施形態では、非一過性コンピュータ可読媒体の1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介してデータのブロックを受信することによって、少なくとも部分的にデータのブロックを受信させ得る。代替的に又は追加的に、1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、データバックアップデバイスによってデータベースコンテナイメージをスピンアップすることと、データベースコンテナイメージを使用して、ネイティブログを完全バックアップに適用することによって合成完全コピーを生成することと、によって、少なくとも部分的に1つ以上の変更されたブロックを決定させ得る。そのような実施形態では、1つ以上のコンピュータ実行可能命令は、コンピューティングデバイスに、合成完全コピーのバックアップを実施することによって、少なくとも部分的に合成完全バックアップを作製させ得る。
【0012】
本明細書で述べた実施形態のうちのいずれかからの特性は、本明細書で説明する一般原理に従って互いと組み合わせて使用されてもよい。これらの及び他の実施形態、特性、及び利点は、添付の図面及び請求項と併せて、以下の詳細な説明を一読することで、より完全に理解されよう。
【図面の簡単な説明】
【0013】
添付の図面は、いくつかの例示的な実施形態を例解し、かつ本明細書の一部である。以下の説明と共に、これらの図面は、本開示の種々の原理を実証及び説明する。
図1】データベースのエージェントレスな加速化バックアップのための例示的なシステムのブロック図である。
図2】データベースのエージェントレスな加速化バックアップのための例示的な方法のフロー図である。
図3】共有機構を実装するデータベースのエージェントレスな加速化バックアップのための例示的なシステムのブロック図である。
図4】データベースのエージェントレスな加速化バックアップのための例示的なシステムの実装を示すブロック図である。
図5】データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例の第1の部分を示すブロック図である。
図6】データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例の第2の部分を示すブロック図である。
図7】データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例の第3の部分を示すブロック図である。
図8】データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例の第4の部分を示すブロック図である。
図9】データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例の第5の部分を示すブロック図である。
【0014】
図面全体を通して、参照文字及び説明は、類似であるが、必ずしも同一ではない要素を示す。本明細書において説明される例示的な実施形態は、種々の修正及び代替的な形態が可能であるが、具体的な実施形態が、図面において、例として示されており、かつ本明細書において詳細に説明される。しかしながら、本明細書において説明される例示的な実施形態は、開示される特定の形態に限定されることを意図しない。むしろ、本開示は、添付の請求項の範囲内にある全ての修正物、同等物、及び代替物を網羅する。
【発明を実施するための形態】
【0015】
本開示は、概して、データベースのエージェントレスな加速化バックアップのためのシステム及び方法を対象とする。メディアサーバ(すなわち、データサーバ)は、要求に応じてビデオを提供するエンタープライズクラスのマシンから、様々なデジタルメディア(例えば、デジタルビデオ/映画、オーディオ/音楽、及び写真フィルム)を記憶することを専用とした家庭用の小型パーソナルコンピュータ又はネットワークアタッチドストレージ(network attached storage、NAS)に至る、専用のコンピュータアプライアンス及び/又は特殊用途のソフトウェアである。情報技術では、バックアップ、又はデータバックアップは、取得されて他の場所に記憶されるコンピュータデータのコピーであり、当該コピーは、データ損失イベント後に元の状態に復元するために使用され得る。データバックアップデバイスを使用したデータサーバのバックアップは、様々なタイプのリポジトリモデルを使用して実施され得るが、増分バックアップ、即時アクセス、及び加速などの機能を提供することは、典型的に、特定のタイプのデータベース及び/又はアプリケーションに固有の本番ホスト(例えば、エージェント、アプリケーション固有の復元ロジックなど)にインストールされた高度な要素を必要とする。これらの必要条件は、データバックアップデバイスが多くの又は全てのデータベースに対して汎用的になることを防止し、前述の機能全てを組み合わせて提供することを困難又は不可能にし得る。
【0016】
本明細書に開示されるデータバックアップデバイスは、加速による即時アクセスを提供しながら、データサーバ上のエージェントの必要性を排除する。即時アクセス機能は、バックアップを実際のデータコピーのように見せるが、この機能は、復元手続き中にデータサーバでログを再生する必要がある現在のスキームでは利用できない。加速機能は、ファイルのどのデータブロックがデータサーバ上で変更されたかを決定し、新しいブロック(複数可)のみを生成してデータバックアップデバイスに記憶する。次いで、データバックアップデバイスは、以前のバックアップから変更された既存のブロック上に新しいブロックをオーバーレイする。仮想化において、アプリケーションコンテナは、コンテナベースの仮想化と呼ばれるタイプの仮想化スキーム内で実行される、アプリケーションインスタンスのための制御要素である。データバックアップデバイス上でデータベースコンテナイメージを定期的にスピンアップし、データサーバから受信したネイティブログファイルを再生することにより、データバックアップデバイスは、データサーバ上のエージェントの必要性を排除し、加速機能による即時アクセスを提供することができる。データベースコンテナイメージは、複数の異なるタイプのデータベースのログを再生及び適用することが可能であり得、かつ/又は検出されたデータベースタイプ、構成などに従って、適切なタイプのデータベースを実装する接続データサーバに使用され得る複数のタイプのデータベースコンテナイメージが、データバックアップデバイス上に存在し得る。結果として、データバックアップデバイスは、データサーバへのエージェントのインストールを必要とせずに、様々なタイプのデータベースを提供することができ、データベース復元中にデータサーバでログを再生する必要性が低減するか又は排除される。
【0017】
以下に、図1を参照して、データベースのエージェントレスな加速化バックアップのための例示的なシステムの詳細な説明を提供する。また、対応するコンピュータ実施方法についての詳細な説明は、図2に関連して提供される。いくつかの実装態様で用いられ得る共有機構の説明は、図3を参照して提供される。開示されたデータバックアップデバイスの利点を示す実装態様は、図4を参照して提供される。動作の例は、図5図9を参照して提供される。
【0018】
図1は、データベースのエージェントレスな加速化バックアップのための例示的なシステム100のブロック図である。この図に示されているように、例示的なシステム100は、1つ以上のタスクを実施するための1つ以上のモジュール102を含んでもよい。以下でより詳細に説明されるように、モジュール102は、データブロック受信モジュール104、ネイティブログ受信モジュール106、変更されたブロック(複数可)決定モジュール108、及び即時アクセス復元モジュール110を含み得る。別個の要素として示されるが、図1のモジュール102のうちの1つ以上は、単一のモジュール又はアプリケーションの一部分を表し得る。
【0019】
特定の実施形態では、図1のモジュール102のうちの1つ以上は、コンピューティングデバイスによって実行されるとき、コンピューティングデバイスに、1つ以上のタスクを実施させてもよい1つ以上のソフトウェアアプリケーション又はプログラムを表してもよい。例えば、以下でより詳細に記載されるように、モジュール102のうちの1つ以上は、1つ以上のコンピューティングデバイス上で記憶され、動作するように構成されたモジュールを表してもよい。図1のモジュール102のうちの1つ以上はまた、1つ以上のタスクを実施するように構成された1つ以上の特殊目的のコンピュータの全て又は一部分を表してもよい。
【0020】
図1に示されているように、例示的なシステム100はまた、メモリ140など、1つ以上のメモリデバイスも含み得る。メモリ140は、概して、データ及び/又はコンピュータ可読命令を記憶できる、任意の種類又は形式の揮発性又は不揮発性の記憶デバイス又は媒体を表す。一例では、メモリ140は、モジュール102のうちの1つ以上を記憶、ロード、及び/又は維持し得る。メモリ140の例としては、限定することなく、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、光ディスクドライブ、キャッシュ、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なストレージメモリが挙げられる。
【0021】
図1に示されているように、例示的なシステム100はまた、物理的プロセッサ130など、1つ以上の物理的プロセッサも含み得る。物理プロセッサ130は、概して、コンピュータ可読命令を解釈でき、かつ/又は実行できる任意のタイプ又は形式のハードウェア実装処理ユニットを表す。一例では、物理プロセッサ130は、メモリ140に記憶されたモジュール102のうちの1つ以上にアクセスし得、かつ/又はこれらを修正し得る。追加的に又は代替的に、物理プロセッサ130は、データベースのエージェントレスな加速化バックアップを容易にするためにモジュール102のうちの1つ以上を実行し得る。物理的プロセッサ130の例としては、マイクロプロセッサ、マイクロコントローラ、中央処理ユニット(Central Processing Unit、CPU)、ソフトコアプロセッサを実装しているフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array、FPGA)、特定用途向け集積回路(Application-Specific Integrated Circuit、ASIC)、これらのうちの1つ以上の部分、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適な物理的プロセッサが挙げられるが、これらに限定されない。
【0022】
図1に示すように、例示的なシステム100はまた、完全バックアップ121、ネイティブログ122、データベース(DB)コンテナイメージ123、変更されたブロック124、及び合成完全バックアップ125などの、データ120の1つ以上の要素を含み得る。データ120の要素は、一般に、データサーバから受信されるか、又は1つ以上のモジュール102によって生成されるかにかかわらず、任意のタイプ又は形式のデータ又はデータ構造を表す。一例では、データ120の要素は、データサーバから受信されたデータブロックと、データブロックのうちのどれが、ポイントインタイム復元動作に対する特定の完全又は合成バックアップのメンバーであるかを記述するデータ構造と、を含み得る。
【0023】
データベースのエージェントレスな加速化バックアップのためのシステム100は、少なくとも1つの物理プロセッサ130を含むコンピューティングデバイスと、少なくとも1つの物理プロセッサ130に結合された物理メモリ140と、を含み得ることは容易に理解され得る。データブロック受信モジュール104を利用して、少なくとも1つの物理プロセッサ130は、データバックアップデバイスによってデータサーバから、データサーバのデータの完全バックアップ121を提供するデータのブロックを受信するように構成されている。ネイティブログ受信モジュール106を利用して、少なくとも1つの物理プロセッサ130は、追加的に、データバックアップデバイスによってデータサーバから、データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログ122を受信するように構成されている。変更されたブロック(複数可)決定モジュール108を利用して、少なくとも1つの物理プロセッサはまた、データバックアップデバイスによって、ネイティブログに基づき、データのブロックのうちの1つ以上の変更されたブロック124を決定するように構成されている。即時アクセス復元モジュール110を利用して、少なくとも1つの物理プロセッサ130は更に、データバックアップデバイスによって、データのブロックのうちの1つ以上を1つ以上の変更されたブロック124でオーバーレイし、データのブロックのうちの残りのブロックを完全バックアップ121と共有する合成完全バックアップ125を作製することによって、データサーバのポイントインタイム復元を提供するように構成されている。
【0024】
システムのいくつかの実施形態では、少なくとも1つの物理プロセッサは、データバックアップデバイスによってデータベースコンテナイメージ133をスピンアップすることと、データベースコンテナイメージ123を使用して、ネイティブログ122を以前の完全バックアップ(例えば、元の完全バックアップ又は以前の合成完全バックアップ125)に適用することによって合成完全コピーを生成することと、によって、少なくとも部分的に1つ以上の変更されたブロック124を決定するように構成され得る。そのような実施形態では、少なくとも1つの物理プロセッサ130は、加速機能が、以前の完全バックアップのデータのブロックを変更されたデータのブロックでオーバーレイし、変更されていないデータのブロックを以前の完全バックアップと共有する合成完全コピーのバックアップを実施することによって、合成完全バックアップ125を作製するように構成され得る。
【0025】
多くの他のデバイス又はサブシステムが、図1のシステム100に接続されてもよい。逆に、図1に例示される構成要素及びデバイスの全てが、本明細書に記載及び/又は例示される実施形態を実践するために存在する必要があるわけではない。上記で述べたデバイス及びサブシステムはまた、図1に示すものとは異なる様式で相互接続されてもよい。システム100はまた、任意の数のソフトウェア、ファームウェア、及び/又はハードウェア構成を採用してもよい。例えば、本明細書において開示される例示的な実施形態のうちの1つ以上は、コンピュータ可読媒体上に、コンピュータプログラム(コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、及び/又はコンピュータ制御論理とも称される)としてコード化され得る。
【0026】
「コンピュータ可読媒体」という用語は、本明細書において使用される際、概して、コンピュータ可読命令を記憶又は担持することが可能な任意の形態のデバイス、キャリア、又は媒体を指す。コンピュータ可読媒体の例としては、限定することなく、搬送波などの伝送タイプ媒体、並びに磁気記憶媒体(例えば、ハードディスクドライブ、テープドライブ、及びフロッピーディスク)、光記憶媒体(例えば、コンパクトディスク(Compact Disk、CD)、デジタルビデオディスク(Digital Video Disk、DVD)、及びBLU-RAYディスク)、電子記憶媒体(例えば、ソリッドステートドライブ及びフラッシュ媒体)などの非一時的タイプ媒体、並びに他の分散システムが挙げられる。
【0027】
図2は、データベースのエージェントレスな加速化バックアップのための例示的なコンピュータ実装方法200のフロー図である。図2に示されている工程は、図1のシステム100、及び/又はこれらのうちの1つ以上の変形若しくは組み合わせを含む、任意の好適なコンピュータ実行可能コード及び/又はコンピューティングシステムによって実施され得る。一例では、図3に示されている工程のそれぞれは、複数の副工程を含む及び/又はそれらによって表される構造を有するアルゴリズムを表すものであり得、これらの例を以下に詳細に示す。
【0028】
図2に示すように、工程202で、本明細書に記載のシステムのうちの1つ以上は、データバックアップデバイスによってデータサーバから、データサーバのデータの完全バックアップを提供するデータのブロックを受信し得る。例えば、データブロック受信モジュール104は、データサーバの初期バックアップ中にデータサーバのデータの完全バックアップを提供するデータのブロックを受信し、そのデータのブロックをメモリに記憶し得る。追加的に、即時アクセス復元モジュール110は、データブロックを完全バックアップとしてカタログ化し得る。いくつかの実施形態では、工程202でデータのブロックを受信することは、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介してデータのブロックを受信することを含む。そのようなファイル共有機構は、図3を参照して以下により詳細に記載される。処理は、工程202から工程204に進み得る。
【0029】
工程204で、本明細書に記載のシステムのうちの1つ以上は、データバックアップデバイスによってデータサーバから、データサーバによって実施される1つ以上のトランザクションを示す1つ以上のネイティブログを受信し得る。例えば、ネイティブログ受信モジュール106は、データサーバからネイティブログを受信し、ログをメモリに記憶し得る。いくつかの実施形態では、工程204でデータのブロックを受信することは、ネイティブログがログ複製モードで構成されたデータサーバから受信されることを可能にするファイル共有機構を介してデータのブロックを受信することを含む。そのようなファイル共有機構は、図3を参照して以下により詳細に記載される。処理は、工程204から工程206に進み得る。
【0030】
工程206で、本明細書に記載のシステムのうちの1つ以上は、データバックアップデバイスによって、ネイティブログに基づき、データのブロックのうちの1つ以上の変更されたブロックを決定し得る。例えば、変更されたブロック(複数可)決定モジュール108は、データバックアップデバイスによって、データベースコンテナイメージをスピンアップし、データベースコンテナイメージを使用して、ネイティブログを以前のバックアップ(例えば、完全バックアップ又は以前の合成バックアップ)に適用することによって合成完全コピーを生成し得る。処理は、工程206から工程208に進み得る。
【0031】
工程208で、本明細書に記載のシステムのうちの1つ以上は、データバックアップデバイスによって、データのブロックのうちの1つ以上を1つ以上の変更されたブロックでオーバーレイし、データのブロックのうちの残りのブロックを以前のバックアップ(例えば、完全バックアップ又は以前の合成バックアップ)と共有する合成完全バックアップを作製することによって、データサーバのポイントインタイム復元を提供し得る。工程208で合成完全バックアップを作製することは、変更されたデータブロックが、以前の完全バックアップの対応するブロックをオーバーレイするように、データブロックをカタログ化することによって、合成完全コピーのバックアップを実施することを含み得る。
【0032】
ここで図3を参照すると、データベースのエージェントレスな加速化バックアップのための例示的なシステムは、ファイル共有機構を実装している。この例では、データベース312を有するデータサーバ300に、ネットワークファイル共有(NFS)マウントなどのデータマウント304が提供される。NFSは、クライアントコンピュータ上のユーザが、ローカルストレージにアクセスするように、コンピュータネットワークを介してファイルにアクセスすることを可能にする分散ファイルシステムプロトコルである。多くの他のプロトコルと同様に、NFSは、オープンネットワークコンピューティング遠隔手続き呼び出し(Open Network Computing Remote Procedure Call、ONC RPC)システムに構築される。NFSは、Request for Comments(RFC)で定義されたオープン標準であり、誰でもこのプロトコルを実装することができる。NFSの代替物は、弾性ファイルシステム(elastic file system、EFS)を含む。
【0033】
図3の例では、データバックアップデバイス302は、NFSエクスポートなどのデータエクスポート機構306を有する。データバックアップデバイスはまた、書き込み可能オーバーレイ308と、データ重複排除エンジン310と、を有し、変更されたデータのブロックのみを生成してデータバックアップデバイス302に記憶するため、サーバ300からデバイス302にデータのブロックをコピーすることを回避し得る。例示的な書き込み可能オーバーレイは、Velocity Provisioning File System(VpFS)であり、例示的なデータ重複排除エンジンは、Media Server Deduplication Storage Pool(MSDP)である。
【0034】
NFSデータマウント、NFSデータエクスポート、VpFS書き込み可能オーバーレイ、及びMSDP重複排除エンジンは、UniversalShares(商標)として知られる技術として一緒に組み合わされる。この技術は、メディアサーバのデータをNFSネットワークファイル共有としてエクスポートする方法を提供する。NFSマウントは、データサーバ300がデータバックアップデバイス302に記憶されたバックアップ及びデータの全てを見る能力を提供する。データサーバ300上のUniversalShares(商標)フォルダが、データをバックアップするためにコピーされ得、重複排除は、MSDPによってバックグラウンドで実施される。データは、データバックアップデバイス302に既にコピーされているため、バックアップは、サーバ300からバックアップデバイス302にデータを転送する必要なしに、データを指し示し、カタログ化することによって実施され得る。
【0035】
図3に示すように、データバックアップデバイス302は、ファイル共有プロトコルを介してコピーされたファイルがバックアップとしてカタログ化されることを可能にするファイル共有機構を介してデータのブロック314(例えば、初期完全バックアップ及び/又は後続の変更されたブロック)を受信し得る。データブロック318の初期完全バックアップは、完全バックアップ320として受信され、記憶され得る。その後、データバックアップデバイス302は、ログ複製モードで構成されたデータサーバ300からファイル共有機構を介して1つ以上のネイティブログ316を受信し得る。そのようなログは、要求に応じて(例えば、スケジュールに従って)、ストリーミングされ、定期的に送信され、及び/又はイベントに応答して送信され得る。デバイス302は、本明細書に記載されるように、定期的に(例えば、スケジュールどおりに、受信されるログ数の閾値ごとに、新しいログが受信されるたびに、など)ネイティブログ322の受信された複製を再生し、それらを以前の完全バックアップに適用するデータベースコンテナイメージ324をスピンアップし得る。結果として生じる完全バックアップコピーを、書き込み動作を使用して合成完全バックアップ326としてカタログ化することにより、変更されたブロック328が、サーバ300からデバイス302にコピーされ得る。
【0036】
UniversalShares(商標)及びデータサーバ300上のPostgreSQLデータベースを使用する特定の例では、完全データセットのバックアップは、「USHARE」バックアップを実行することによってpg_basebackupを通じて実施され得る。追加的に、増分データセットバックアップは、archive_commandを通じて達成され得る。次いで、アクセラレータは、Flexデータバックアップデバイス302上でPostgreSQLコンテナをスピンアップし、pg_standbyを通じて増分データセットを適用し、「USHARE」バックアップを実施することによって実装され得る。このように、「USHARE」バックアップを実施することにより、合成完全コピーがバックアップされ、増分データセットがバックアップされて、ポイントインタイム復元機能が提供される。
【0037】
UniversalShares(商標)及びデータサーバ300及びFlexデータバックアップデバイス302上のPostgreSQLデータベースを使用する特定の例では、定期的な復元は、即時アクセスを通じて任意のバックアップから実施され得る。したがって、時間Tと時間Tとの間のポイントインタイムリカバリは、Tのバックアップを復元し、Tの増分ログを復元することによって部分的に実施され得る。次いで、ポイントインタイム復元は、recovery_target_time、recovery_target_xid、recovery_target_inclusive、及びrecovery_target_timelineを通じて完了され得る。
【0038】
図4を参照すると、データベースのエージェントレスな加速化バックアップのための例示的なシステムの実装は、エージェントを使用したログバックアップを凌ぐ利点を示している。例えば、エージェントで構成されたデータサーバ400Aは、404で、初期完全バックアップ406を実施し、その後、エージェントを利用して、ログ408をデータバックアップデバイス402に転送し得る。ログ408が多くなりすぎると、404で、別の完全バックアップ410を実施し、その後に、更なる追加のログ412が、エージェントによってデバイス402に転送されることが必要である。その後、最新の復元ポイントまでの復元414を実施するために、データサーバ400Bは、最新の完全バックアップ410及び追加のログ412の全てをデータサーバ400Bにコピーし、次いで416で、ログのコピー418を再生し、それらをコピーされた完全バックアップ420に適用することが必要である。
【0039】
対照的に、エージェントを使用しないが、代わりにデータ及びログを、DBコンテナイメージ459を有するデータバックアップデバイス452にネイティブに提供するデータサーバ450Aは、454で、初期完全バックアップ456を実施し、その後、ネイティブログ458をデータバックアップデバイス452に送信し得る。続いて、デバイス452は、データベースコンテナイメージ459をスピンアップして、ネイティブログ458を再生し、それらを最新の完全バックアップ、この例では初期完全バックアップ456に適用し、その結果、合成完全コピーが生成され得る。次いで、この合成完全コピーは、合成完全バックアップ460のうちの1つの合成完全バックアップとしてカタログされ得る。その後、追加のネイティブログ462がデバイス452上で受信され、記憶され得る。同様に、デバイス452は、データベースコンテナイメージ459をスピンアップして、追加のネイティブログ462を再生し、それらを最新の完全バックアップ、この例では最新の合成完全バックアップ460に適用し、その結果、追加の合成完全コピーが生成され得る。次いで、この追加の合成完全コピーは、合成完全バックアップ460のうちの追加の1つとしてカタログ化され得る。その後、最新の復元ポイントまでの復元464を実施するために、データサーバ400Bは、合成完全バックアップ460の中で最新の完全バックアップをコピーすることのみが必要であり、その結果、いずれのログもコピー又は再生する必要なしにコピーされた完全バックアップ466が生成される。
【0040】
追加的に、例えば、ネイティブログのうちの特定の1つに対応するトランザクション識別子を提供することによって、ネイティブログのうちの特定の1つを選択することで、トランザクションレベルの復元を実施することも可能である。次いで、ネイティブログのうちの選択された特定の1つに先行する最新の完全バックアップ(例えば、初期完全バックアップ又は最新の合成バックアップ)は、識別されたネイティブログ、及びネイティブログのうちの選択された特定の1つに先行する最新の完全バックアップと識別されたネイティブログとの間に発生した任意の他のネイティブログと共に、デバイス452からデータサーバ400Bにコピーされ得る。次いで、結果として得られたネイティブログのサブセットは、データサーバ400Bで再生され、ネイティブログのうちの選択された特定の1つに先行する最新の完全バックアップに適用され得る。
【0041】
前述から、データサーバ400A上のエージェントを使用するシステムは、定期的な完全バックアップを実施することが必要という難点があり、アクセラレータ機能を活用することができず、復元中にログの全てをコピー、再生、及び適用するために相当な回復時間を必要とし、即時アクセス可能ではなく、かつイメージチェーンの破断の影響を受けやすいことは明らかである。対照的に、データサーバ450A上のエージェントを使用せず、データバックアップデバイス452上のデータベースコンテナイメージ459を使用するシステムは、多数の利点を享受する。例えば、ネイティブログの配布を伴うエージェントレスな実装は、データバックアップデバイスが、データサーバにエージェントをインストールすることなく、様々なタイプのデータベースと共に用いられることを可能にする。また、この実装は永久増分であるため、データサーバが完全バックアップを定期的に実施する必要はない。また、エージェントレスな実装は、加速機能による即時アクセスを提供するため、データサーバ450Bによる任意の回復処理の必要性を回避することができる。更に、エージェントレスな実装は、トランザクションレベルの粒度の復元を実施し得、ログのサブセットのみを再生するのに必要な時間が大幅に短縮される。最後に、エージェントレスな実装は、イメージチェーンの中断に対してより回復力がある。
【0042】
ここで図5図9を取り上げ、全体的に参照すると、データベースのエージェントレスな加速化バックアップのための例示的なシステムの動作の例が提供されている。第1の時間インスタンスT1から始まり、データサーバ500は、データブロックA~C及びオブジェクトデータ構造506を記憶するメモリ504を有する。オブジェクトデータ構造は、ファイルA~CのデータブロックA~Dのメンバーシップを示す。データサーバ500は、512で、データバックアップデバイス502にメモリ504の内容を送信することによって、初期完全バックアップを実施する。データバックアップデバイス502は、データブロックA~D及びオブジェクトデータ構造506をメモリ508に記憶し、受信されたデータを完全バックアップの一部としてカタログ化する完全バックアップデータ構造510をメモリ508内で作製する。
【0043】
続いて、第2の時間インスタンスT2で、データサーバ500は、ブロックB及びブロックCに変化をもたらすトランザクションを実施し、その結果、ブロックB’及びブロックC’が生成される。データサーバ500は、514で、ネイティブログをデータバックアップデバイス502に送信し、データバックアップデバイス502は、ネイティブログNL1及びNL2をメモリ508に記憶する。第2の時間インスタンスT2では、ブロックB’及びブロックC’は、まだデータバックアップデバイス502にコピーされていない。
【0044】
第2の時間インスタンスT2に続く第3の時間インスタンスT3では、データバックアップデバイス502は、本明細書に記載されるように、コンテナデータベースイメージをスピンアップし、ログNl1及びNL2を再生して、ブロックB’及びブロックC’に対応する第1の変化セットC1を決定する。第3の時間インスタンスT3でこの第1の変化セットC1を決定することで、ブロックB’及びブロックC’を生成し、それらをメモリ508に記憶して、データサーバ500から任意の変更されたブロックをコピーする必要性を回避する。ネイティブログNL1は、トランザクションレベルの復元ポイントとしてメモリ内に保持され得る。対照的に、ネイティブログNL1に続く、コンテナデータベースイメージをスピンアップする前に最後に受信されたログであるネイティブログNL2は、ガベージコレクションのために削除又はデリファレンスされ得る。この例では、NL1及びNL2から開発された合成完全バックアップは、そのようなトランザクションレベルの復元と同じ結果を提供するが、データベースサーバで任意のログを再生する必要はないため、NL2は、トランザクションレベルの復元に必要とされない。
【0045】
第3の時間インスタンスT3に続く第4の時間インスタンスT4では、データバックアップデバイス502は、完全バックアップデータ構造510に記録されたように、以前の完全バックアップのブロックをカタログ化し、ブロックB上にブロックB’、及びブロックC上にブロックC’をオーバーレイすることによって、第1の合成完全バックアップS1を作製する。その後、第1の変化セットC1は、ガベージコレクションのために削除又はデリファレンスされ得、それによってメモリ508の消費が低減される。
【0046】
第4の時間インスタンスT4に続く第5の時間インスタンスT5では、データサーバ500は、ブロックB’及びオブジェクトデータ構造518の変化をもたらす(すなわち、ファイルC及びそのメンバーブロックDを削除することによる)トランザクションを実施し、その結果、ブロックB’’及びオブジェクト’データ構造518が生成される。データサーバ500は、520で、ネイティブログをデータバックアップデバイス502に送信し、データバックアップデバイス502は、ネイティブログNL3及びNL4をメモリ508に記憶する。第5の時間インスタンスT5では、ブロックB’’及びオブジェクト’データ構造518は、まだデータバックアップデバイス502にコピーされていない。
【0047】
第2の時間インスタンスT5に続く第6の時間インスタンスT6では、データバックアップデバイス502は、本明細書に記載されるように、コンテナデータベースイメージをスピンアップし、ログNL3及びNL4を再生して、ブロックB’’及びオブジェクト’に対応する第2の変化セットC2を決定する。
【0048】
第6の時間インスタンスT6でこの第2の変化セットC2を決定することで、ブロックB’’及びオブジェクト’を取得し、それらをメモリ508に記憶して、データサーバ500から任意の変更されたブロックをコピーする必要性を回避する。ネイティブログNL3は、トランザクションレベルの復元ポイントとしてメモリ内に保持され得る。対照的に、ネイティブログNL3に続く、コンテナデータベースイメージをスピンアップする前に最後に受信されたログであるネイティブログNL4は、ガベージコレクションのために削除又はデリファレンスされ得る。この例では、NL3及びNL4から開発された合成完全バックアップは、そのようなトランザクションレベルの復元と同じ結果を提供するが、データベースサーバで任意のログを再生する必要はないため、NL4は、トランザクションレベルの復元に必要とされない。
【0049】
第6の時間インスタンスT6に続く第7の時間インスタンスT7では、データバックアップデバイス502は、第1の合成完全バックアップデータ構造S1に記録されたように、以前の完全バックアップのブロックをカタログ化し、ブロックB’上にブロックB’’、及びオブジェクト上にオブジェクト’をオーバーレイすることによって、第2の合成完全バックアップS2を作製する。その後、第2の変化セットC2は、ガベージコレクションのために削除又はデリファレンスされ得、それによってメモリ508の消費が低減する。
【0050】
第7の時間インスタンスS7に示されるように、データサーバ500は、完全バックアップデータ構造510、第1の合成完全バックアップS1、及び第2の合成完全バックアップS2に対応する3つのポイントインタイム復元ポイントを見ることができる。完全なバックアップのうちのいずれかのデータブロックが、データサーバ500で任意のログを再生する必要なしに復元動作を実施するために、データサーバ500にコピーされ得る。データサーバ500はまた、ネイティブログNL1及びNL3に対応する2つのトランザクションレベルの復元ポイントを見ることができる。トランザクションレベルの復元はまた、ネイティブログNL1及びNL3のうちの選択された1つを、その直前の完全バックアップのデータブロック(すなわち、NL1の前の完全バックアップ510又はNL3の前の合成バックアップS1)と共にデータサーバ500にコピーすることによって実施され得る。次いで、コピーされたネイティブログは、データサーバ500で再生され、トランザクションレベルの復元を完了するために、その先行する完全バックアップのコピーに適用され得る。追加的に、合成完全バックアップを作製するためにまだ使用されていない、最新の合成完全バックアップの後に受信された任意のネイティブログは、トランザクションレベルの復元ポイントとして使用され得る。データサーバ500は、最新の合成完全バックアップ、選択されたネイティブログ、及び選択されたネイティブログに先行し、かつ最新の合成完全バックアップに続く任意の他のネイティブログによって参照されるデータブロックを単にコピーし、結果として得られたネイティブログのサブセットを再生し、それらを最新の合成完全バックアップに適用し得る。したがって、データサーバ500が復元動作中にログを再生する必要性は排除又は低減され得る。
【0051】
上述のように、本明細書に記載のデータバックアップデバイスは、データバックアップデバイス(例えば、NetBackup Media Server(商標))にログを転送するためにほとんどのデータベースによって提供されるネイティブログ配布機構を使用し、また、完全バックアップを保持するためにMSDPのファイル共有インターフェース(UniversalShares(商標)、VpFS)などのファイル共有機構を使用し得る。次いで、データベースを実行するコンテナを定期的に立ち上げ、データバックアップサーバは、MSDPに記憶された以前のデータベースコピーにログを適用して、合成完全加速化コピーを得る。本ソリューションは、共有機構としてUniversalShares(商標)、及びデータバックアップデバイスとしてNetBackup Media Server(商標)を特に参照して本明細書に記載されているが、VpFSなどの書き込み可能オーバーレイと、MSDPなどのデータ重複排除エンジンとを有する任意のデータバックアップデバイスにも適用することができる。
【0052】
データベースの完全バックアップは、UniversalShares(商標)又はデータサーバのファイルシステムインターフェースにダンプされ得、UniversalShares(商標)によって、又はTARファイルをコピーすることによって、データベースのデータファイルをダンプし得る。UniversalShares(商標)に存在するデータベースのデータファイルは、データが既に存在しているため、ファイルをカタログ化するのみであり得る特別なポリシーによってバックアップされ、したがって、バックアップは非常に迅速に完了する。データベースは、ログをアーカイブ又は複製するように構成され得、後続のログは、VpFS/MSDPへのMSDPインターフェースとして機能する、UniversalShares(商標)フォルダであり得る構成された場所にコピーされ得る。アーカイブされた場所にコピーされると、データベースは、そのログを自動的に再利用し得る。定期的に、増分スケジュールに従って、コンテナが、本番ホストデータサーバ上のデータベースソフトウェアと互換性のあるデータベースソフトウェアバージョンを有するデータバックアップデバイスで立ち上げられ得る。コンテナイメージは、データベースネイティブ機構を使用して、アーカイブ場所からログを得て、それらをそのベースコピーに適用し、ベースコピーを更新する。次いで、更新されたコピーのバックアップが取られ、重複排除データストアであるMSDPは、変更されたブロックを決定し、それらをバックアップし得るため、UShareポリシーに従って、データファイルの更新されたデータブロックのみがバックアップされる。この手続きにより、データベースファイルの一貫した合成完全コピーが、データバックアップデバイスで常に利用可能であり、復元動作においてログの再生が必要とされないため、即時にアクセス可能であることが保証される。本ソリューションは、Flexネイティブソリューションであるため、迅速な拡散又は多数のデータベースワークロードに使用され得る点で有利である。
【0053】
上述の開示は、具体的なブロック図、フローチャート、及び実施例を使用して、種々の実施形態を記載するが、本明細書において説明及び/又は例解される各ブロック図の構成要素、フローチャートの工程、動作、及び/又は構成要素は、広範なハードウェア、ソフトウェア、又はファームウェア(又はこれらの任意の組み合わせ)構成を使用して、個々に、かつ/又は集合的に実装され得る。加えて、他の構成要素内に含まれる構成要素のいずれの開示も、多くの他のアーキテクチャを実装して、同じ機能性を達成することができるため、事実上、例としてみなされるべきである。
【0054】
いくつかの例では、図1の例示的なシステム100の全て又は一部分は、クラウドコンピューティング又はネットワークベース環境の部分を表してもよい。クラウドコンピューティング環境は、インターネットを介して、種々のサービス及びアプリケーションを提供し得る。これらのクラウドベースのサービス(例えば、サービスとしてのソフトウェア、サービスとしてプラットフォーム、サービスとしてのインフラストラクチャなど)は、ウェブブラウザ又は他のリモートインターフェースを通じて、アクセス可能であり得る。本明細書において説明される種々の機能は、リモートデスクトップ環境又は任意の他のクラウドベースのコンピューティング環境を通じて提供され得る。
【0055】
種々の実施形態において、図1の例示的なシステム100の全て又は一部分は、クラウドベースのコンピューティング環境内のマルチテナンシーを容易にし得る。換言すると、本明細書において説明されるモジュールは、本明細書において説明される機能のうちの1つ以上に対するマルチテナンシーを容易にするように、コンピューティングシステム(例えば、サーバ)を構成し得る。例えば、本明細書において説明されるモジュールのうちの1つ以上は、2つ以上のクライアント(例えば、顧客)が、サーバ上で実行されているアプリケーションを共有することを可能にするように、サーバをプログラムし得る。このようにプログラムされたサーバは、複数の顧客(すなわち、テナント)間でアプリケーション、オペレーティングシステム、処理システム、及び/又は記憶システムを共有し得る。本明細書において説明されるモジュールのうちの1つ以上はまた、ある顧客が別の顧客のデータ及び/又は構成情報にアクセスすることができないように、各顧客に対して、マルチテナントアプリケーションのデータ及び/又は構成情報を分割し得る。
【0056】
種々の実施形態によれば、図1の例示的なシステム100の全て又は一部分は、仮想環境内で実装され得る。例えば、本明細書において説明されるモジュール及び/又はデータは、仮想マシン内に存在し得る、かつ/又はそこで実行し得る。本明細書において使用される際、「仮想マシン」という用語は、概して、仮想マシンマネージャ(例えば、ハイパーバイザ)によって、コンピューティングハードウェアから抽象化される任意のオペレーティングシステム環境を指す。
【0057】
いくつかの例では、図1の例示的なシステム100の全て又は一部分は、モバイルコンピューティング環境の部分を表し得る。モバイルコンピューティング環境は、モバイル電話、タブレットコンピュータ、電子書籍リーダ、パーソナルデジタルアシスタント、ウェアラブルコンピューティングデバイス(例えば、頭部装着型ディスプレイ、スマートウォッチなどを有するコンピューティングデバイス)、これらのうちの1つ以上の変形若しくは組み合わせ、又は任意の他の好適なモバイルコンピューティングデバイスを含む、広範なモバイルコンピューティングデバイスによって実装され得る。いくつかの例において、モバイルコンピューティング環境は、例えば、バッテリ電力への依存、任意の所与の時間に1つのフォアグラウンドアプリケーションのみを提示すること、遠隔管理特性、タッチスクリーン特性、場所及び移動データ(例えば、グローバルポジショニングシステム、ジャイロスコープ、加速度計などによって提供される)、システムレベルの構成への修正を制限する、かつ/又は第3者のソフトウェアが他のアプリケーションの挙動を検査する能力を制限する、制限されたプラットフォーム、アプリケーションのインストールを制限する(例えば、承認されたアプリケーションストアのみから得る)管理などを含む、1つ以上の異なる特性を含み得る。本明細書において説明される種々の機能は、モバイルコンピューティング環境に対して提供され得る、かつ/又はモバイルコンピューティング環境と相互作用し得る。
【0058】
本明細書において説明及び/又は例解される工程のプロセスパラメータ及び順序は、例として示されるに過ぎず、所望に応じて変化させることができる。例えば、本明細書において例解及び/又は説明される工程は、特定の順序で図示又は考察されるが、これらの工程は、必ずしも例解又は考察される順序で実施される必要はない。本明細書において説明及び/又は例解される種々の例示的な方法もまた、本明細書において説明若しくは例解される工程のうちの1つ以上を省略し得るか、又は開示されるものに加えて追加の工程を含み得る。
【0059】
種々の実施形態が、完全に機能的なコンピューティングシステムの文脈で、本明細書において説明及び/又は例解されているが、これらの例示的な実施形態のうちの1つ以上は、分散を実際に行うために使用される特定のタイプのコンピュータ可読媒体にかかわらず、様々な形態のプログラム製品として分散され得る。本明細書において開示される実施形態はまた、あるタスクを実施するモジュールを使用して、実装され得る。これらのモジュールは、コンピュータ可読記憶憶媒体上に、又はコンピューティングシステム内に記憶され得る、スクリプト、バッチ、又は他の実行可能なファイルを含み得る。いくつかの実施形態では、これらのモジュールは、本明細書において開示される例示的な実施形態のうちの1つ以上を実施するように、コンピューティングシステムを構成し得る。
【0060】
先述の説明は、当業者が、本明細書において開示される例示的な実施形態の種々の態様を最良に利用することを可能にするために提供されている。この例示的な説明は、網羅的であることを意図するものでも、開示されたいずれかの正確な形態に限定されることを意図するものでもない。多くの修正及び改変が、本開示の趣旨及び範囲から逸脱することなく、可能である。本明細書において開示される実施形態は、全ての点において、例解的であり、制限的ではないとみなされるべきである。本開示の範囲を判定する上では、添付の請求項及びそれらの同等物を参照するべきである。
【0061】
別途記載されない限り、「~に接続される(connected to)」及び「~に連結される(coupled to)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、直接的及び間接的(すなわち、他の要素又は構成要素を介した)接続の両方を許容するとして解釈されるものとする。加えて、「a」又は「an」という用語は、本明細書及び請求項において使用される際、「~のうちの少なくとも1つ(at least one of)」を意味するとして解釈されるものとする。最後に、使用を容易にするために、「含む(including)」及び「有する(having)」という用語(及びそれらの派生語)は、本明細書及び請求項において使用される際、「備える(comprising)」という語と同義的であり、かつ同じ意味を有する。
図1
図2
図3
図4
図5
図6
図7
図8
図9