JP2013508857A - 仮想データベースシステム - Google Patents

仮想データベースシステム Download PDF

Info

Publication number
JP2013508857A
JP2013508857A JP2012535259A JP2012535259A JP2013508857A JP 2013508857 A JP2013508857 A JP 2013508857A JP 2012535259 A JP2012535259 A JP 2012535259A JP 2012535259 A JP2012535259 A JP 2012535259A JP 2013508857 A JP2013508857 A JP 2013508857A
Authority
JP
Japan
Prior art keywords
database
virtual
point
source
block
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
JP2012535259A
Other languages
English (en)
Other versions
JP2013508857A5 (ja
JP5591938B2 (ja
Inventor
ジャ,チャーリー,リ
ユエ,ジェディディア
Original Assignee
デルフィクス コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43880069&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2013508857(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by デルフィクス コーポレーション filed Critical デルフィクス コーポレーション
Publication of JP2013508857A publication Critical patent/JP2013508857A/ja
Publication of JP2013508857A5 publication Critical patent/JP2013508857A5/ja
Application granted granted Critical
Publication of JP5591938B2 publication Critical patent/JP5591938B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Abstract

複数のデータベース内の情報を、データベースストレージシステム上で取得し記憶する。各データベースに関する複数の時点コピーを取得する。時点コピーは、以前の時点コピーの取得後にデータベース内の変化したデータを取得する。データストレージシステム内にファイルセットを作成することにより、仮想データベース(VDB)を作成する。VDBのために作成されたファイルセット内の各ファイルはソースデータベースの時点コピーに関連するデータベースストレージシステムのデータベースブロックにリンクされる。VDBに関連するファイルセットは、該ファイルセットに対する読み出し及び書き込みが可能なようにデータベースサーバにマウントされる。VDBに基づくワークフローは、検証および開発、バックアップおよび復旧、並びにデータウェアハウス構築などの、データベースに基づく種々の使用シナリオを効率的に実施可能にする。
【選択図】図1

Description

本発明は、一般的にデータベースに関するものであり、特に、データベースおよびデータベースに基づくライフサイクルワークフローを管理するためのストレージ効率システムに関するものである。
データベースは、組織に不可欠なデータを記憶するため、組織のITンフラストラクチャの重要な部分となっている。組織が利用する情報の増大に伴い、情報を記憶するデータベースの管理に要求されるインフラストラクチャの複雑性も増す。インフラストラクチャの複雑性が増すと、データベースおよびデータベースに応じて決まるアプリケーションの管理に要求される資源も増大する。これにより費用が増大する。この費用には、データベースを管理するハードウェアに関する費用に加えて、ハードウェアの維持に必要な補助人員の人件費も含まれ得る。インフラストラクチャの複雑性が増すと、データベースに関連するメンテナンス操作にも影響を及ぼし、例えば、バックアップおよび復旧操作が顕著に長くなる。
組織の標準的なインフラストラクチャ環境では、生産データベースサーバが、組織の日常取引を管理するアプリケーションを稼働する。データベースのコピーにより、生産データベースまたは生産データベースに応じて決まるアプリケーションにおける変化を検証して、生産環境を保護する。生産データベースのコピーは、生産データベースおよび生産データベースに応じて決まるアプリケーションに関連するライフサイクルワークフローのいくつかの段階において要求され得る。例えば、生産データベースに組み込まれる、変更可能なライフサイクルにおける段階は、開発段階、同調段階、検証段階、品質保証段階、認証段階、訓練段階、および段階分け段階を含み得る。段階ごとの生産データベースのコピーには、余分かつ高価なハードウェアインフラストラクチャに加えて、データコピーに必要な何日または何週間という時間に伴う費用が必要となる。ハードウェアの追加にはさらに、床面積の要求並びに電力および冷却に伴う費用などの、ハードウェアの物理的記憶に伴う追加費用が必要となる。余分なハードウェアはまた、通常、利用可能な資源の使用を非効率的にする。
ライフサイクルワークフローは複雑な場合があり、多くの場合に複数のチーム間の連携が必要となる。それ故、ライフサイクルにおける特定段階のサポートなどの特定の目的に使用可能なデータベースの構成には、データベースに関連するさらなる処理が必要となることがある。例えば、データベースは多くの場合に重大な秘密情報を含み、環境管理データベースにとって安全性および完全性が重視すべき事柄となる。この結果、大抵は、異なる段階を操作する異なるチームに要求されるアクセス許可はそれぞれ異なる。例えば、生産データベースサーバを管理する人員がアクセス可能なデータは、多くの場合に、ライフサイクルの検証段階の操作者がアクセス可能なデータとは異なる。これにより、データベースに関連する任意のライフサイクルワークフローの種々の段階における許可の管理がさらに複雑になる。
既存のデータベース技術では解決できない要求に対処するために、本発明の実施形態は、ストレージおよび他のコンピュータ資源を効率的に用いる仮想データベースを実現する。仮想データベース(VDB)の作成方法は、ソースデータベースから種々の時点コピーを読み出すことを含む。これらの実施形態では、「ソースデータベース」は、企業内のデータベース、例えば、生産データベース、予備データベース、およびライフサイクルにおける任意の他のデータベースの物理的コピーを含む。以下の本発明の詳細な説明では、「生産データベース」と「ソースデータベース」は同一のものを意味し、互いに置換可能である。複数のデータベースブロックがソースデータベースから読み出され、ストレージシステムに記憶される。データベースブロックはデータベースに用いられるデータユニットであり、ストレージに記憶される一定のバイト数を有する。データベースブロックはページとも呼ばれ得る。データベースブロックの一部は、データベースブロックに関するメタデータを記憶する。データベースブロックのメタデータに記憶され得る情報の例は、データベースブロックに記憶されるデータに関連する情報、データベースの一部であるデータベースブロックのオブジェクトに関する情報、またはデータベースブロック内のデータが更新された時を示す情報を含む。データベースブロックが更新された時を示す情報は、それらの更新時刻に基づいてデータベースブロックの相対順序を決定するために利用され得る。ソースデータベースから取得され、ストレージシステムが記憶したデータベースブロックは、ソースデータベースの種々の時点コピーに対応し、データベースブロックの少なくとも一部は、ソースデータベースの複数の時点コピーに関連する。仮想データベース用のファイルセットを作成する。VDBにおいて作成されたファイルセット内の各ファイルは、ソースデータベースの時点コピーに関連するストレージシステムのデータベースブロックにリンクされている。VDBに関連するファイルセットがデータベースサーバに組み込まれると、データベースサーバはファイルセットからの読み出し、およびそれへの書き込みが可能になる。一実施形態では、仮想データベースは、別の仮想データベースの時点コピーに基づいて作成され得る。
一実施形態では、ソースデータベースの同一の時点コピーに関連するデータベースブロックに基づいて複数のVDBを作成し得る。代替的に、ソースデータベースの種々の時点コピーに関連する2つのVDBを作成してもよい。ストレージシステムが記憶したデータベースブロックを、互いに異なるVDBに関連するファイルセット間で共有し得る。ストレージシステムが記憶したデータベースブロックは、ソースデータベースの同一の時点コピーに関連するVDB間、またはソースデータベースの種々の時点コピーに関連するVDB間で共有され得る。一実施形態では、リンク操作、ローディング、またはプロビジョニング操作の前にスクリプト前操作が実行されてもよい。スクリプト前操作により、ソースデータベースに記憶されない処理情報などのユーザ指定操作が実行可能になる。同様に、リンク操作、ローディング、またはプロビジョニング操作後に、スクリプト後操作が実行され得る。スクリプト後操作はスクリプト前操作に関連し得、スクリプト前操作における処理情報をさらに処理する。
一実施形態では、VDBに記憶したデータを読み出すための、データベースサーバからのリクエストを受信できる。リクエストされたデータはデータベースブロックからアクセスされ、読み出しリクエストに応答してデータベースサーバに送信される。別の実施形態では、データベースサーバからのリクエストを受信し得、そのデータをVDBに書き込む。VDBに関連するファイルセット内のファイルに関連するデータベースブロックは、書き込みリクエストと共に送られたデータを書き込むために特定される。特定されたデータベースブロックが第2のVDBにも関連する場合には、データベースブロックをコピーする。コピーしたデータベースブロックをファイルにリンクし、書き込みリクエストに関するデータを、コピーしたデータベースブロックに書き込む。コピーされる元のデータベースブロックが第2のVDBとの関連性を維持するため、第2のVDBは書き込み操作でも変化しなかったデータを確認できる。
本要約および以下の詳細な説明に記述する特徴および利点を全て含む訳ではない。多くのさらなる特徴および利点が、図面、明細書および請求項を確認した当業者に明らかとなる。
本発明の実施形態に従う、生産データベースからデータベースストレージシステムに情報をコピーする方法、およびファイル共有システムを利用してプロビジョニングした仮想データベースを示す図である。
本発明の実施形態に従う、仮想データベースのソースである生産データベースシステムのデータベースサーバのバージョンとは異なるバージョンの仮想データベースシステムが稼働する方法を示す図である。
本発明の実施形態に従う、仮想データベースのソースである生産データベースシステムのデータベースサーバを実行するオペレーティングシステムとは異なるオペレーティングシステムにより実行されるデータベースサーバを用いて仮想データベースシステムが稼働し得る方法を示す図である。
本発明の実施形態に従う、生産データベースが提供する情報のストレージ効率のよいコピー、および仮想データベースのプロビジョニングを実行するシステム構築を示す概略図である。
本発明の実施形態に従う、データベースストレージシステムにおける生産データベースのストレージ効率のよいコピーを実現するための、データベースストレージシステムの構成要素と、生産データベースシステムの構成要素とのやりとりを示す図である。
本発明の実施形態に従う、生産データベースシステムから受け取ったデータストリームをデータベースストレージシステムにおいて処理して、ストレージ効率のより方法でデータを保存する方法を説明するプロセスフローチャートである。
本発明の実施形態に従う、生産データベースシステムからデータベースストレージシステムに取引ログファイルをコピーして、所定の時点における仮想データベースのプロビジョニングを可能にする方法を説明するプロセスフローチャートである。
本発明の実施形態に従う、生産データベースシステムと比較したデータベースストレージシステム内の取引ログの記憶に用いられるファイルを示す図である。
本発明の実施形態に従う、データベースストレージシステムの様々な時点においてデータベースに関するデータを保持する方法を示す図である。
本発明の実施形態に従う、所定の時点において仮想データベースを作成する方法を説明するプロセスフローチャートである。
本発明の実施形態に従う、所定の時点におけるデータベースの読み出し−書き込みコピーを作成した、仮想データベースのプロビジョニングを示す図である。
本発明の実施形態に従う、図10とは異なる時点におけるデータベースの読み出し−書き込みコピーを作成した、仮想データベースのプロビジョニングを示す図である。
本発明の実施形態に従う、ストレージシステムデータストアが記憶したデータベースブロックが、異なるVDBにおいて作成されたファイル構造を共有する方法を示す図である。
本発明の実施形態に従う、データベースの読み出し−書き込みコピーを作成した、生産データベースシステムからコピーした取引ログに基づく仮想データベースのプロビジョニングを示す図である。
ある例示の環境において、データベースまたはデータベースに応じて決まるアプリケーションを変化させる、データベースのライフサイクルワークフローを示す図である。
従来方法を用いる、データベースおよびデータベースアプリケーションに関連するプログラムコードの検証および開発のためのワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、VDBを用いたデータベースおよびデータベースアプリケーションに関連するプログラムコードの検証および開発のためのワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、VDBを用いたデータベースおよびデータベースアプリケーションに関連するプログラムコードの複数の場所における検証および開発のためのワークフローを実施するシステム環境を示す図である。
従来方法における、データベースのバックアップおよび復旧のためのワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、VDBを用いたデータベースのバックアップおよび復旧のためのワークフローを実施するシステム環境を示す図である。
従来方法における、ある機械から別の機械へのデータベース内の情報のコピーに要求される一般的シナリオ用のワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、ある機械から別の機械へのデータベース内の情報のコピーに要求される一般的シナリオ用のVDBに基づいてワークフローを実施するシステム環境を示す図である。
本発明の別の実施形態に従う、ある機械から別の機械へのデータベース内の情報のコピーに要求されるシナリオ用のVDBに基づいてワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、ある機械から、生産データベースシステムとは異なる別の機械へのデータベース内の情報のコピーに要求される一般的シナリオ用のVDBに基づいてワークフローを実施するシステム環境を示す図である。
従来方法を用いる、データベースからデータウェアハウスおよびデータマートを作成するシナリオ用のワークフローを実施するシステム環境を示す図である。
本発明の実施形態に従う、データベースからデータウェアハウスおよびデータマートを作成するシナリオ用のワークフローを実施する、VDBに基づくシステム環境を示す図である。
機械可読媒体から命令を読み出し得、プロセッサまたはコントローラによりその命令を実行し得るコンピューティングマシンの実施形態を示す図である。
図面は、説明のみを目的として本発明の種々の実施形態を示す。下の記述から、本明細書に記載された本発明の原理から逸脱することなく、本明細書に記述する構造および方法の代替的な実施形態が用いられ得ることを当業者は理解する。
仮想データベースシステム
本発明の特定の実施形態では、特定の時点において、生産データベースまたは仮想データベースの状態に基づいて1つ以上の仮想データベースを作成し、その後、所望に応じて、仮想データベースに個別にアクセスおよびそれを修正することができる。データベースは、コンピュータが実施するアプリケーションに利用される、コンピュータにおいて記憶されるデータを含む。データベースサーバは、データベースと相互に通信できるコンピュータプログラムであり、データベースに記憶されたデータへのアクセスなどのデータベースサービスを提供する。データベースサーバは、ORACLE、SYBASE、MICROSOFT SQL SERVER、IBMのDB2、MYSQLなどが提供するデータベース管理システムなどの市販のプログラムを含む。データベースは、関係モード、オブジェクトモデル、階層モード、またはネットワークモデルなどのデータベースモデルを用いて実施され得る。「生産データベース」という用語は特定例では、この技術の有用な用途を説明するために用いられるが、生産データベースとしてデータベースを用いるかどうかに関わらず、開示する技術は任意のデータベースに用いられ得ることが理解される。実施形態はさらに、生の生産データベースではなく、生産データベースのストレージレベルスナップショット、または生産データベースのクローンを用いて仮想データベースを作成してもよい。仮想データベースは、データベースファイルの物理的実施が、データベースサーバによるデータベースファイルの論理的使用と分離しているという意味で「仮想」である。
一実施形態では、生産データベースが提供する情報を、定期的に等、様々な時間においてストレージシステムにそれぞれコピーする。これらのコピーにより、これら種々の時点(複数の異なる時点)における生産データベースに関連するデータベースファイルをそれぞれ復元できる。この情報は必要な場合にのみコピーされるように、効率的な方法でストレージシステムが管理し得る。例えば、データベースの一部が以前にコピーしたバージョンから変化していない場合には、変化していない部分はコピーする必要がない。時点間において作成した仮想データベースは、その時点で利用可能なデータベース情報を含むファイルセットとして記憶される。各ファイルはデータベースブロックセットおよびデータベースブロックを参照するためのデータ構造を含む。一部の実施形態では、データベースブロックは効率的な記憶のために圧縮され得る。一部の実施形態では、データベースブロックは記憶するデータの安全性を高めるために暗号化された形式でストレージシステムデータストア390に記憶されてもよい。データベースサーバに関する要求に応じて、以前の時点における生産データベースの状態に対応する生産データベースに関するデータベースファイルを作成することにより、データベースサーバに仮想データベースを作成できる。仮想データベースに対応するファイルは、ファイル共有機構を用いてデータベースサーバが使用できるようにされ、ファイル共用機構は仮想データベースとストレージシステムが記憶した適切なデータベースブロックとをリンクする。仮想データベースをデータベースサーバに対して利用可能にする処理は、仮想データベースの「プロビジョニング」とも呼ばれる。一部の実施形態では、仮想データベースのプロビジョニングは、仮想データベースに基づいて稼働データベースサーバを構築する処理の管理を含む。複数のVDBが、同一の時点における生産データベースの状態に基づいてプロビジョニングされてもよい。これに対して、種々のVDBが、同一の生産データベースまたは互いに異なる生産データベースの異なる時点における状態に基づいてプロビジョニングされてもよい。一部の実施形態では、プロビジョニングされたデータベースの健全性およびユーザ動作をモニタする。データベースストレージシステム100には、これらのイベントが通知される。データベースストレージシステム100は、既定の規則またはユーザ指定規則のいずれかに基づいてこれらのイベントに対処する。例えば、ユーザ動作が仮想データベースの使用可能性に影響を及ぼす場合には、モニタリングコンソールに警告メッセージを表示するか、ユーザに電子メールを送信する。仮想データベースがプロビジョニングされたデータベースサーバは、その後、ストレージシステムが記憶したファイルを読み出すか、そこに書き込むことができる。データベースブロックは、種々の異なるVDBにその各々が関連する異なるファイル間で共有され得る。特に、対応する仮想データベースシステム130がデータベースブロック内の情報を読み出すのみで、データベースブロックに書き込まない場合に、データベースブロックは共有される。一実施形態では、仮想データベースマネージャ375が、必要な場合にのみデータベースブロックをコピーする。例えば、特定のデータベースブロックが、同一のデータベースブロックを読み出す複数のVDB間で共有され得る。ただし、仮想データベースシステム130の1つがデータベースブロックの書き込みを試みる場合には、書き込む操作が、その仮想データベースシステム130に対応するVDBに対するデータベースブロックと、他のVDBに対するデータベースブロックとが異なるようにさせるので、データベースブロックは個々にコピーされる。
図1は情報がどのように生産データベースからデータベースストレージシステムにコピーされるか、および情報がファイル共有システムを用いてどのように仮想データベースとしてプロビジョニングされるかの実施形態を示す図である。生産データベースシステム110は、組織のデータを管理する。一部の実施形態では、生の生産データベースではなく、生産データベースのストレージレベルスナップショット、または生産データベースのクローンから情報がコピーされ得る。データベースストレージシステム100は、以下に詳細に記載するように、1つ以上の生産データベースシステム110からデータベースに関連するデータを取得し、効率的な方法でデータを記憶する。データベース管理ユーザインターフェース140は、データベース管理者がデータベースストレージシステム100がサポートする種々の機能を実行できるようにする。
管理システム140からのリクエストに応答するか、所定のスケジュールに基づいて、データベースストレージシステム100はデータに関連するリクエスト150を生産データベースシステム110に送信し得る。生産データベースシステム110はこのリクエストに応答して、生産データベースが記憶している情報をデータストリーム160として送信する。リクエスト150は定期的に送られ、生産データベースシステム110はこのリクエストに応答して、前回の応答160の送信後に、生産データベースに記憶したデータの変化を示す情報を送信する。データベースストレージシステム100は、生産データベースシステム110が送信したデータ160を受け取って、そのデータを記憶する。データベースストレージシステム100は、受け取ったデータ160を解析して、その情報を記憶するか、その情報が以前の時点におけるデータベースの復旧に有用でない場合にはそれをスキップするか否かを決定できる。データベースストレージシステム100は、例えば、変化したデータベースブロックのバージョンを保持し、変化していないデータベースブロックを再利用することにより、情報を効率的に記憶する。一実施形態では、データベースストレージシステム100は階層キャッシュシステムを利用し、そこではキャッシュ読み出し操作、および磁気ディスクへの書き込み操作のログの保持のために、高速の半導体ドライブ(SSD)または同等のストレージデバイスが構成される。
仮想データベースを作成するために、データベースストレージシステム100は、所定の時点における生産データベースシステム110に対応する情報を示すファイルを作成する。データベースストレージシステム100は、ファイル共有システム120を利用して仮想データベースシステム130に対して対応するファイルを公開170する。仮想データベースシステム130は、データベースストレージシステム100が公開170したファイルで動作し得るデータベースサーバを稼働する。それ故、ストレージ効率のよい方法で、生産データベースの仮想コピーを所定の時点に対する仮想データベースシステム130のために作成する。
図2a、図2bは仮想データベースのソースである生産データベースシステム110とは異なるデータベースサーバのバージョンおよび/またはオペレーティングシステムを、仮想データベースシステム130が稼働し得ることを示す図である。データベースストレージシステム100に記憶される仮想データベースファイルは、データベースサーバ230がデータベースサーバ205とは異なるバージョンであり、かつ/またはオペレーティングシステム240がオペレーティングシステム210とは異なる場合でも、仮想データベースシステム130がファイルを動作するように、適切に修正される。図2aに示すように、仮想データベースシステム130において稼働するデータベースサーバ230のバージョンVyは、生産データベースシステム110において稼働するデータベースサーバ205のバージョンVxとは異なる。同様に、図2bに示すように、仮想データベースシステム130において稼働するオペレーティングシステム240はOSyであり、生産データベースシステム110において稼働するオペレーティングシステムOSxとは異なる。一実施形態では、サーバ230および205は、異種のデータベースソフトウェアプログラムを稼働できる。これにより、データベースを稼働するために異なるオペレーティングシステムまたはデータベースサーバのバージョンを試みる能力が与えられる。この能力により、データベースおよび/またはアプリケーションのアップグレード、パッチング、またはデータ移動において、生産システムにいかなる影響をも与えることなく、操作を容易に検証できる。操作は、その後、生産システムに配置される前に、隔離環境で認証され得る。一部の実施形態では、データベースストレージシステム100は、ホストコンピュータにおいて複数のオペレーティングシステムを同時に稼働可能であるプラットフォーム仮想ソフトウェアまたはサーバ仮想ソフトウェアにより提供されるバーチャルマシンにおいて実行され得る。
システム構築
図3は生産データベースから情報のストレージ効率のよいコピーを作成すること、およびその情報を利用して1つ以上の仮想データベースのプロビジョニングの実行に適したシステム環境を示すハイレベルブロック図である。システム環境は、1つ以上の生産データベースシステム110、データベースストレージシステム100、管理システム140、および1つ以上の仮想データベースシステム130を備えている。図3に示すシステムは、必要に応じて、ネットワーク上で互いに通信できる。
生産データベースシステム110は、通常、組織により利用され、その日常取引を保持する。例えば、オンライン書籍販売サイトは、生産システム110内の書籍注文、書籍返却、または在庫管理に関する全ての進行中の取引を保存できる。生産システム110は、データベースサーバ345、生産DBデータストア350、ベンダーインターフェースモジュール335、および生産システムライブラリ385を含む。代替的な構成では、生産データベースシステム110は、異なるおよび/または追加のモジュールを含んでもよい。
生産DBデータストア350は、企業の日常取引を示す情報などに相当し得る、データベースに関連するデータを記憶する。データベースサーバ345は、データベースサービスおよびアプリケーションプログラミングインターフェース(API)を提供するコンピュータプログラムであり、生産DBデータストア350が記憶したデータを管理する。生産システムライブラリ385は、生産データベースシステム110から情報を抽出するのに有用なAPIを備える。ベンダーインターフェースモジュール335は、ベンダーが規定するAPI、例えば、以前の時点から変化したデータベースブロックを取得するAPIに相当し、データベースサーバ345が提供する機能をカスタマイズする。ベンダーインターフェースモジュールの例には、RMAN APIを実施するベンダーであるORACLEが提供するデータベースサーバのプログラムコードがある。MICROSOFTのSQL SERVERまたはIBMのDB2などの他のベンダーが提供するデータベースサーバも、類似のAPIを有する。一実施形態では、ベンダーインターフェースモジュール335は、ファイル共有システム120に類似するファイル共有システムを用いてデータベースストレージシステム100において生産データベースシステム110の生産DBデータストア350をマウントする(利用可能に取り付ける)。データベースストレージシステム100に生産DBデータストア350をマウントすることにより、生産データベースシステム110が記憶した情報を、データベースストレージシステム100に転送できる。
生産システムライブラリ385は、ベンダーインターフェースモジュール335の要求に応じて、種々の方法により実装され得る。一実施形態では、ベンダーインターフェースモジュール335は、生産システムライブラリ385に実装された機能を呼び出すために生産システムライブラリ385をロードする。例えば、生産システムライブラリ385は、C/C++実行可能プログラム、またはC/C++プログラムが生成した2進コードとやりとりするJAVA(登録商標) NATIVE INTERFACEを利用するJAVA(登録商標)プログラムにより呼び出され得る実行可能プログラムコードを含む「.so」または「.DLL」ファイル拡張子を有する共有のオブジェクトファイルである。代替的に、生産システムライブラリ385は、JAVA(登録商標)プログラミング言語を用いて実装され得、「.jar」拡張子を有するファイルとして生産データベースシステム110にインストールされ得る。JAVA(登録商標)プログラムは、実行用に生産データベースシステム110において稼働するJAVA(登録商標) VIRTUAL MACHINEを要求する。別の実施形態では、生産システムライブラリ385の一部は、実行可能な「.so」の共有オブジェクトファイルとして実装され得、生産システムライブラリ385の別の部分は、「.jar」ファイルとしてインストールされたJAVA(登録商標)プログラムとして実装され得る。
ベンダーインターフェースモジュール335は、データベースストレージシステム100からのリクエストに応答して、リクエストされた情報を生産DBデータストア350から収集し、収集した情報をデータベースストレージシステム100に返す。ベンダーインターフェースモジュール335は、生産DBデータストア350から情報を取得するためのリクエストをデータベースサーバ345に送信できる。ベンダーインターフェースモジュール335は、生産システムライブラリ385のプログラムコードをロードして、それを起動してそのデータストリームを、さらなる処理のためにデータベースストレージシステム100に送信する。一部の実施形態では、ベンダーインターフェースモジュール335は、必要なデータベースブロックを取得するためのリクエストをデータベースサーバ345に送信する代わりに、生産DBデータストア350と直接通信してもよい。他の実施形態では、ベンダーインターフェースモジュール335は、生の生産データベースではなく、生産データベースのストレージレベルスナップショットまたは生産データベースのクローンから必要なデータベースブロックを取得できる。
データベースストレージシステム100は、生産データベースシステム110に利用可能な情報を取得してそれを記憶する。取得された情報は、データベースが記憶しているデータを含むデータベースブロック、取引ログ情報、データベースに関連するメタデータ情報、データベースのユーザに関連する情報などを含む。取得情報はさらに、データベースに関連する環境設定ファイルを含み得る。例えば、データベースはベンダー固有の環境設定ファイルを利用して、データベースに関連する初期化パラメータを含む種々の設定パラメータを指定できる。環境設定ファイルのコピーにより、ソース生産データベースに類似する設定パラメータをVDBに設定可能になる。一部の実施形態では、データベース管理者はユーザインターフェース395を用いて設定パラメータファイルを変更し、特定の使用シナリオ用の設定にVDBをカスタマイズできる。例えば、生産データベースは、特定のキャッシュサイズを用いるデータベースサーバ345によりアクセスされ得、一方、対応するVDBは、異なるキャッシュサイズを用いるデータベースサーバ360によりアクセスされ得る。
取得情報はさらに、データベースを用いるアプリケーションに関連する情報を含み得、例えば、統合業務ソフト(ERP)アプリケーションはデータベースを用いて、ERPアプリケーションに特有のデータを有し得る。ERPアプリケーションデータを取得することにより、生産データベースシステムに基づいて作成されたVDBにおいて、類似のERPアプリケーションが実行可能になる。これは検証および開発などを目的として、生産環境に類似する環境用のVDBを作成する場合の使用シナリオにおいて有益となる。データベース管理者はユーザインターフェース395を用いて、生産環境に特有の情報をコピーするための論理に加えて、仮想データベースシステム130として用いるVDBに、情報を適切にインストールするための論理を指定できる。
一部の実施形態では、管理者権限を有するユーザなどの生産データベースのユーザに関する情報は、固有のAPIを用いるか、生産データベースにおける固有のスクリプトを実行することにより取得できる。ユーザに関する情報は、システム内のVDBのライフサイクル管理を容易にするために用いられ得る。一実施形態では、データベース管理者はユーザインターフェース395を用いて、ユーザアカウントの作成、およびそれのアクセス許可に関する情報を指定できる。例えば、VDBがテスト目的で作成される場合には、テスト組織用のVDBにおいてテストユーザが作成され得、一方、VDBが生産データベースの予備として作成される場合には、生産サポート規則を有するユーザのみがアクセスできるようにするべきである。一部の実施形態では、ユーザが権限を有するVDBをプロビジョニングできるか否かはアクセス許可により決定され得る。権限を有するVDBの一例は、社会保障番号またはクレジットカード情報などの非公開情報(権限を有さないユーザがアクセスできない情報)へのフルアクセスを有するVDBである。これに対応する権限が不要なVDBは、秘密または暗号化した非公開情報を有するVDBである。権限を有するVDBの別の例は、ユーザが意識せずにアクセス可能な極秘データを有するVDBである。対応する権限が不要なVDBは、暗号化された秘密情報を有するVDBである。
一部の実施形態では、アクセス権は、管理者、所有者および監査員の3レベルに簡易化される。管理者は、データベースおよびホストを含む全ての管理オブジェクトを完全に制御できる。管理者に利用可能な制御にはポリシー管理が含まれる。所有者は資源を利用するためのアクセスを有し、例えば、VDBをプロビジョニングできる。監査員は、ログは確認できるが、システム資源を消費する権限はない場合がある。
ストレージシステムデータストア390が記憶したデータは、仮想データベースシステム130に公開され得、仮想データベースシステム130が、生産データベースシステム110が記憶した生産データベースのコピーとしてデータを処理することを可能にする。データベースストレージシステム100は、時点コピーマネージャ310、取引ログマネージャ320、インターフェースマネージャ330、システム構成マネージャ315、ストレージ割当マネージャ365、ファイル共有マネージャ370、仮想データベースマネージャ375、およびストレージシステムデータストア390を含む。代替的な構成では、データベースストレージシステム100は、異なるおよび/または追加のモジュールを含んでもよい。
時点コピーマネージャ310は、ベンダーインターフェースモジュール335にリクエストを送信することにより、生産データベースシステム110と相互に通信し、生産DBデータストア350が記憶したデータベースの時点コピー(「PITコピーとも呼ばれる」)を示す情報を取得できる。時点コピーマネージャ310は、生産データベースシステム110から取得したデータをストレージシステムデータストア390に記憶する。時点コピーマネージャ310が取得したデータは、生産DBデータストア350からコピーしたデータベースのデータベースブロック(またはページ)に対応する。生産DBデータストア350から情報を取得する第1のPITコピーのリクエスト後のPITコピーリクエストは、データベース内の以前のリクエストから変化したデータのみを取得してもよい。第1のリクエストにより収集されたデータは、第2のリクエストにおいて収集されたデータと組み合わさって、第2のリクエスト用の生産DBデータストア350からデータを取得した時点に対応するデータベースのコピーを再構成する。
取引ログマネージャ320は、生産データベースシステム110が記憶した取引ログの一部を取得するためのリクエストを生産データベースシステム110に送信する。一部の実施形態では、取引ログマネージャ320からのリクエストは、ベンダーインターフェースモジュール335に送信される。ベンダーインターフェースモジュール335からの、取引ログマネージャ320が取得したデータは、ストレージシステムデータストア390に記憶される。一実施形態では、取引ログに関するリクエストは、取引ログに関する以前のリクエストの処理後に変化した、生産データベースシステム110内の取引ログのみを取得する。時点コピーマネージャ310が取得したデータベースブロックは、取引ログマネージャ320が取得した取引ログと組み合わされて、種々の時点のコピー(以下、「時点コピー」という)が作成された種々の時のうちのいずれかである或る過去の時に対応する、生産システム110内のデータベースのコピーを再構成するために用いられ得る。
ストレージ割当マネージャ365は、生産データベースシステム110から取得したデータを保存する機能を有する。例えば、時点コピーマネージャ310は、ストレージ割当マネージャのAPIを呼び出して、生産データベースシステム110から取得したデータブロックを保存できる。ストレージ割当マネージャ365は、生産データベースシステム110から取得し得るデータブロック各々の種々のバージョンを追跡する。所定の時点においてストレージ割当マネージャ365がリクエストされ、所定の時点前に取得したデータブロックの最新バージョンが提供され得る。ストレージ割当マネージャ365は、データブロックのコピーを構成するためにも用いられ得る。データブロックが読み出しのみを目的としてコピーされる場合には、ストレージ割当マネージャ365は、完了したデータブロックを参照するポインタを維持するのに十分なストレージのみを割り当てる。しかしながら、コピーされたデータブロックも書き込む場合には、ストレージ割当マネージャ365は、データブロックを実際にコピーするのに十分なストレージを割り当て、元のデータブロックの更新を回避する。
ファイル共有マネージャ370は、ストレージシステムデータストア390が記憶したファイルを、データベースストレージシステム100と接続可能なネットワーク上のコンピュータ全体で共有できるようにする。ファイル共有マネージャ370は共有ファイル用のファイル共有システム120を利用する。共有ファイル用のシステムの例には、ネットワークファイルシステム(NFS)がある。共有ファイル用のシステムは、ファイバーチャンネルストレージエリアネットワーク(FC−SAN)、ネットワーク接続ストレージ(NAS)、またはそれらの組み合わせおよび変形例を利用できる。共有ファイル用のシステムは、小型コンピュータ用周辺機器インターフェース(SCSI)プロトコル、インターネット小型コンピュータ用周辺機器インターフェース(iSCSI)プロトコル、ファイバーチャンネルプロトコル、または他の類似のおよび関連するプロトコルに基づくものでもよい。一部の実施形態では、データベースストレージシステム100は論理ボリュームマネージャを利用できる。ファイル共有マネージャ370を用いてストレージシステムデータストア390に記憶されたファイルの共有により、仮想データベースシステム130などのリモートコンピュータが、共有ファイル内のデータにアクセスできる。リモートシステムはストレージシステムデータストア390が共有するファイルの読み出し、かつそれへの書き込みができる。一実施形態では、ファイルは、NTFSと呼ばれるWINDOWS(登録商標)オペレーティングシステムのファイルシステムまたはUNIX(登録商標)ファイルシステム(UFS)などの所定のファイルシステムディスクレイアウトを模倣するフォーマットにおいて組織される。
仮想データベースマネージャ375は、仮想データベースシステム130用の仮想データベースを作成するためのリクエストを受信する。仮想データベースを作成するリクエストは、管理システム140を利用するデータベース管理者により送信され得、生産データベースシステム11と仮想データベースシステム130とを特定し、作成されるべき仮想データベースに対応する過去の時点を含む。仮想データベースマネージャ375は、作成される仮想データベースに対応する必要なファイルを作成し、そのファイルを仮想データベースシステム130と共有する。仮想データベースシステム130のデータベース管理者は、生産データベースシステム110のデータベース管理者とは別人でもよい。
インターフェースマネージャ330は、管理システム140を用いて必要な情報を表示する。データベース管理ユーザは、ストレージシステムデータストア390に利用可能な情報を確認し、さらにはデータベースストレージシステムが実行可能な機能を実行できる。例えば、データベース管理者は、種々の生産データベースシステム110から取得した、ストレージシステムデータストア390が記憶した種々の生産データベースを確認できる。別の例として、データベース管理者は、特定の時点において生産データベースシステム110が記憶したデータベースのPITコピーを生成するリクエストをデータベースストレージシステム100に送信できる。一実施形態では、インターフェースマネージャ330は、外部アプリケーションがデータベースストレージシステム100内の情報にアクセスできるようにする。例えば、データベースストレージシステムは、第三者ベンダーがデータベースストレージシステム100に基づいてアプリケーションを書き込み可能なアプリケーションプログラミングインターフェース(API)を提供できる。一実施形態では、インターフェースマネージャ330は、データベースストレージシステム100に利用可能な情報にウェブアプリケーションがアクセス可能なウェブサービスを提供する。例えば、データベースストレージシステムは、クラウドコンピュータ環境の一部でもよい。第三者ベンダーはウェブサービスを利用して、本明細書に記載する様々なワークフローシナリオなどの、VDBに基づく様々なワークフローシナリオを実施できる。これにより、VDBに基づくワークフローシナリオの自動化が可能になる。
システム構成マネージャ315は、管理システム140を用いるデータベース管理者が、データベースストレージシステム100の構成を設定または変更できるようにする。例えば、データベースストレージシステムが初期またはその後に設定される場合に、システム構成マネージャ315は、データベース管理ユーザまたは代理人が、生産データベースシステム110およびそれと接続する仮想データベースシステム130を指定できるようにする。システム構成マネージャ315はさらに、生産データベースシステム110内のデータベースのPITコピーを時点コピーマネージャ310が取得するスケジュールに加えて、生産データベースシステム110からのオンライン取引ログの更新を取引ログマネージャ320が取得する頻度および時間を指定するポリシーを適切な役割および権限を有するユーザが設定できるようにする。一実施形態では、スケジュールは、PITおよびログ取得機能を実行する1日のうちの頻度および時間を指定するか、同じ機能を実行する暦日を指定する定期スケジュールでもよい。
一実施形態では、データベース管理者がポリシーを規定し得る。このポリシーは、生産データベースシステム110からの時点コピーのローディング、生産データベースシステム110からの取引ログのローディング、データベースの時点コピーおよび取引ログ情報を含む、データベースストレージシステム100からの情報の消去および仮想データベースシステムのプロビジョニングに関連する種々の操作のためにシステム構成マネージャ315に記憶される。ポリシーは特定の操作を実行するための規則を特定する。例えば、ポリシーは、既定のスケジュールに基づいて実行される操作を指定できる。ポリシーは、生産データベースに蓄積したPITコピーの数に基づいて、データベースストレージシステム100が記憶したPITコピーを消去するタイミングを決定できる。ポリシーは利用可能なストレージを測定して、情報を消去するタイミングを決定できる。例えば、利用可能なストレージ量が閾値未満である場合には、選択されたデータベースの古いPITコピーを消去できる。ポリシーはさらに、情報を消去する前に、用いる生産データベースの優先度を指定でき、例えば、優先度の高いデータベースの情報を消去する前に、優先度の低いデータベースの情報を消去する。特定のワークフローシナリオでは、ポリシーは、生産データベースから新規の情報を取得するタイミング、VDB情報を自動的に更新するタイミング、および新規の情報に基づいて更新されたVDBをプロビジョニングするタイミングを決定できる。
仮想データベースシステム130は、データベースサーバ360およびVDBシステムライブラリ380を含む。データベースサーバ360の機能はデータベースサーバ345と類似し、データベースサービスおよびアプリケーションプログラミングインターフェース(API)を提供するコンピュータプログラムであり、データストア350が記憶したデータを管理する。データベースサーバ360が管理するデータは、ファイル共有システム120を利用してデータベースストレージシステム100と共有される、ストレージシステムデータストア390に記憶され得る。VDBシステムライブラリ380は、データベースストレージシステム100が送信するリクエストを処理するためのプログラムコードを含む。代替的な構成では、仮想データベースシステム130は異なるおよび/または追加のモジュールを含んでもよい。
図4は生産データベースシステム110内のデータベースが記憶したデータの時点コピーを実現するための、データベースストレージシステム100と生産データベースシステム110とのやりとりを示す図である。時点コピーマネージャ310は、生産データベースシステム110のデータベースに関連するデータを取得するためのリクエスト405を、生産データベースシステム110のベンダーインターフェースモジュール335に送信する。一実施形態では、リクエスト405は、2つのネットワーク装置間でデータを交換可能なセキュアシェルまたはSSHネットワークプロトコルを利用して送信される。リクエスト405は管理システム140からのリクエストに応答して送信されてもよいし、定期スケジュール機能により送信されるように構成されてもよい。例えば、データベースストレージシステム100は、毎日所定の時間に生産データベースシステム110にリクエスト405を送信するように構成されてもよい。図4に示すシステム環境は、生産データベースシステム480において常に実行される、データベースストレージシステム100専用の処理を要求しない。このデータベースストレージシステム100に情報を送信するための専用の処理は、生産システムの重要な資源の所望しない消費を招く場合があるため、生産データベースシステム480にとって有益である。それ故、データベースストレージシステムは生産データベースシステム480から情報が必要なときは常に、リクエスト405および450を送信する。
生産データベースシステム480は、リクエストされたデータを時点コピーマネージャ310に送信する。リクエスト405が、生産データベースシステム110が記憶したデータベースに関連するデータに関する最初のリクエストである場合には、生産データベースシステム480は、返答としてデータベース全体のデータを送信する。生産データベースシステム480はその後のリクエスト405に応答して、以前のリクエスト405に応答した最後の応答430の送信後に変化したデータベースブロックのデータのみを送信する。
一実施形態では、ベンダーインターフェースモジュール335は、応答430に要求される情報を収集するためのリクエスト410をデータベースサーバ345に送信する。ベンダーインターフェースモジュール335はさらに、生産システムライブラリ385における利用可能なプログラムコードをロードし得る。データベースサーバは、必要なデータを要求するリクエスト415をデータストア350に送信し、それの応答420であるリクエストしたデータを受け取る。データベースサーバ345は、リクエスト410に応答して、リクエストされたデータ425をベンダーインターフェースモジュール335に送信する。ベンダーインターフェースモジュール335は、データベースサーバから受け取ったデータ425を、時点コピーマネージャ310に処理され得るフォーマットにパッケージするため、生産システムライブラリ385に呼び出し470を送信する。生産システムライブラリ385は、時点コピーマネージャ310用に適切にフォーマットした、リクエストされたデータストリーム430を送信する。生産システムライブラリ385は、データベースサーバが送信した情報425を、時点コピーマネージャ310に送信430する。生産システムライブラリ385のプログラムコードにより動作するベンダーインターフェースモジュール335は、データベースストレージシステム100に処理されるデータストリームを構築する。
他の実施形態では、生産システムライブラリ385と連係するベンダーインターフェースモジュール335が、要求されるデータをデータストア350から直接取得し、時点コピーマネージャ310にデータ430を送信してもよい。通常、必要な情報を抽出するための適切なAPIをデータベースサーバ345がサポートする場合に、これらの実施形態は有益である。これらの実施形態では、生産システムライブラリ385は、データストア350が記憶したデータベースのファイル構造を解析するコード、さらにはデータストア350が記憶したデータベースブロックに関連するメタデータを処理するコードを含み、以前の時点から変化したデータベースブロックを検出する。
応答430は、データストア350内の複数のファイルに記憶され得るデータベースブロックを含むデータストリームである。応答430に相当するデータストリームは、異なるデータベースブロックに関連する情報をインタリーブし得、例えば、異なるファイル間で取得されたデータベースブロックをインタリーブし得る。それ故、時点コピーマネージャ310のプログラムコードは、データストリーム内で受け取ったデータベースブロックの任意の特定の順序を仮定することなく、データストリームを処理する。これらのデータベースブロックは、異なるデータベースにも属し得る。
図5は時点コピーマネージャ310における、生産データベースシステム110から受け取ったデータストリームの処理を説明するプロセスフローチャートを示す。時点コピーマネージャ310は、最後のPITコピー後に変化したブロックを含むデータストリームを受け取る510。時点コピーマネージャ310はデータストリームを処理し、データストリーム内のデータベースブロックを特定する515。各データベースブロックは、そのブロックが属するデータベースオブジェクト、データベースブロックのサイズ、データベースブロックが取得されたファイル、データベースブロックが記憶されたファイルにおけるオフセット、およびデータベースブロックが生産データベースシステム110のデータベース内で更新される順序を特定するログシーケンス番号などの、データベースブロックに関連する情報を含むメタデータを含む。
時点コピーマネージャ310は、各データベースブロックに関するメタデータを解析して、ストレージシステムデータストア390にデータベースブロックを記憶する必要があるか、またはそれを排除すべきかを決定する520。例えば、データベースブロックのメタデータにおけるログシーケンス番号は、生産システムライブラリ385がデータストリームと共にデータベースブロック430を送信する場合でさえも、生産システムライブラリ385から受け取った最後の応答430からデータベースブロックが全く更新されていないことを示す。それ故、ブロックをストレージシステムデータストア390に記憶する必要はなく、それをスキップしてもよい。記憶する必要のないデータベースブロックの他の例は、一時データベースブロック、セッション特定データベースブロック、およびそこにデータが書き込まれていない空データベースブロックを含む。記憶する必要のないデータベースブロックの別の例は、意味を有さないか、データベースソフトウェアにアクセスできないデータベースブロックを含む。別の例は、データベースソフトウェアにより、削除、空または無効であるとマークされたデータベースブロックを含む。
前述の実施形態では、生産データベースシステム480が送信した情報430は、データストリームがデータベースストレージシステム100により受け取られた後、排除された不要なブロックに含まれた。他の実施形態では、生産システムライブラリ385がデータストリームを構築する間、不要なブロックの一部または全てが排除されてもよい。この実施形態では、生産データベースシステム480がデータベースストレージシステム100に送信するデータストリーム430は、2つのシステム間の通信を効率的にするためにサイズが縮小される。
記憶する必要のないデータベースブロックのスキップに加えて、記憶したデータベースブロックを圧縮することにより、データベースストレージシステムは、同一のデータベースに対応するデータに関する生産データベースシステムと比較して、データベースファイルに要求されるストレージにおいて有意な節約を実現できる。例えば、ストレージシステムデータストア390内の生産データベースに対応するデータが占有するストレージスペースは、生産DBデータストア350内の生産データベースが占有するスペースの4分の1であり得る。生産データベースシステムに対応する全情報が、最初のPITコピーにより取得されることに留意されたい。その後のPITコピーは、生産DB内の変化した情報のみを取得し、最初のPITコピーに含まれる情報よりもはるかに少なくなり得る。
時点コピーマネージャ310が、データストリーム内のデータベースブロックをスキップできることを決定した場合525には、時点コピーマネージャ310は、処理する次のデータベースブロックの特定515に進む。実施形態では、時点コピーマネージャ310は、ストリームメタデータに利用可能なサイズのデータベースブロックを用いて、データストリーム内のデータベースブロックの境界を特定する。各ブロックはその後、この境界に従い処理される。
時点コピーマネージャ310が、データストリーム内のデータベースブロックをデータストレージシステムデータストア390に記憶する必要があると決定した場合には、時点コピーマネージャ310はデータベースブロックメタデータを解析して、データベースブロックをデータベースファイル、およびファイル内の適切な位置にマッピングする530。時点コピーマネージャ310は、ストレージ割当マネージャ365にリクエスト435を送信して、データベースブロックを保存する535。ストレージ割当マネージャ365は、データベースブロックに関連する適切なファイルをストレージシステムデータストア390に記憶440する。時点コピーマネージャ310は、データストリームが完全に処理されたか否かを確認する540。データストリームに未処理データが残っている場合には、時点コピーマネージャ310は、処理のための次のデータブロックの特定に進む。
ストレージ割当マネージャ365は、それが異なる時点において更新された場合には、データベースブロックのデータに対応する、ストレージシステムデータストア390内のデータベースブロックのいくつかの異なるバージョンを維持できる。データベースブロックを保存したファイルは、ファイルに関連するメタデータおよびデータベースブロックのシーケンスを含むファイルヘッダを有する。各ベンダー固有データベースサーバ345は、それ自体が処理可能なファイルセットとしてデータベース情報を組織化する。ファイルセットを用いた情報のデータベースのための組織化はベンダー固有でもよく、データベースストレージシステムは、ファイルのベンダー固有組織内のデータベース情報を組織化するためのプログラム論理を組み込む。時点コピーマネージャ310は、データストア350内のデータベースのファイルセットに類似し得るファイル構造セットを作成する。ただし、ストレージシステムデータストア390内の情報は、異なる時点における更新情報にその各々が対応する、データベースブロックの複数のバージョンを含み得る。一実施形態では、ストレージ割当マネージャ365は、データベースブロックが時点間において更新された場合にのみ、データベースブロックをコピーするような効率的な方法により、ファイルに関連するデータベースブロックを記憶する。例えば、ブロックB1が時間T1で更新されるが、時間T2では更新されず、一方、ブロックB2が時間T1およびT2の両方で更新される場合には、ストレージシステムデータストア390のデータ構造は、時間T2に対するデータベースブロックB1のコピーを保持しないが、時間T2に対するデータベースブロックB2のバージョンを保持する。
図4はさらに、取引ログマネージャ320と生産システムライブラリ385とのやりとりを示す。取引ログマネージャ320は、生産データベースシステム110のデータベース内の取引ログにおける、以前の時点からの増分変化を取得する。一実施形態では、リクエスト445はセキュアシェルまたはSSHネットワークプロトコルを利用して送信される。リクエスト445は情報が要求されるデータベースを特定し、取引ログ情報を以前に受け取った時点に対応する時間値を与え得る。生産システムライブラリ385は、リクエスト445に応答して、リクエストされた情報450を取引ログマネージャ320に送信する。ベンダーインターフェースモジュール335は、前述のようにデータベースサーバ345APIを呼び出すか、データストア350と直接通信することにより、リクエストされた情報を取得できる。生産データベースシステム110から取得したデータベースログの増分変化はマネージャ320が保存し、これは、ストレージシステムデータストア390に情報を記憶440するストレージ割当マネージャ365にリクエスト460を送信することによって行われる。
図6は生産データベースシステム110からデータベースストレージシステム100に取引ログファイルをコピーする処理を示す。取引ログマネージャ320は、前回の更新の受け取り後に更新された取引ログを取得するためのリクエストを生産データベースシステム110に送信する600。取引ログマネージャ320は、生産データベースシステム110からの応答をデータストリームとして受け取る610。取引ログマネージャ320は受け取ったデータストリームを解析して、取引ログデータを書き込むログファイルを決定する620。データストリーム内の受け取ったデータを複数のログファイルに書き込む必要がある可能性がある。取引ログマネージャ320は、データストリームからのオンライン取引ログデータを適切なログファイルに書き込む630。
一実施形態では、取引ログマネージャ320は一回のログファイルを更新と次の更新間、所定時間待機し640、取引ログの更新に関する新規の更新があるか否かを確認する次のリクエストを、生産データベースシステム110に送信する650。この時間間隔中に生産データベースが更新されなかった場合には、生産データベースシステム110は、その旨を取引ログマネージャ320に通知する。この時間間隔中に利用可能な取引ログが新規に更新されなかった場合には、取引ログマネージャ320はもう一度その時間間隔待機する640。取引ログの更新を示す生産データベースシステム110からの応答が得られた場合には、取引ログマネージャ320は、取引ログの次の更新を取得するための次のリクエストを生産データベースシステム110に送信する600。
取引ログの増分変化は、時点コピーマネージャ310が実行する時点コピーよりもはるかに頻繁に取引ログマネージャ320が取得できる。例えば、時点コピーマネージャは、生産データベースシステム110が記憶した時点データベースを1日に一度コピーし得、一方、取引ログマネージャ320は、取引ログの増分変化を5分ごとに取得し得る。取引ログの増分変化を高い頻度で取得することにより、時点コピーマネージャ310が時点コピーを実行する時間である時点間で、生産データベースシステム110からデータベースのコピーを再作成する能力が得られる。
生産データベースシステム110は、取引ログファイルを循環方式で再利用し得、これにより、以前のログファイルを上書きできる。ただし、データベースストレージシステム100は異なるログファイルへの書き込みを開始するために、データが現在書き込まれているログファイルを閉じることを決定する度に新規のログファイルを作成する。図7は生産データベースシステム110のログファイルと、データベースストレージシステム100のログファイルとを比較する図である。生産データベースシステムのログファイル710は、オンライン取引ログファイルに相当する。通常、オンライン取引ログの記憶用に限られた数のファイルが割り当てられる。例えば、図7には、オンライン取引ログの記憶用に、生産データベースシステム110には、3つのファイル710(a)、710(b)および710(c)が割り当てられる。
図7に示す矢印730は、所定の時間Ti(時間T1、T2およびT3は単調に増加すると仮定する)において、生産データベースシステム110に取引ログが書き込まれた取引ログファイルの変化を示す。例えば、時間T1において、生産データベースシステム110はファイル710(a)への取引ログの書き込みを停止し、ファイル710(b)への取引ログの書き込みを開始した。同様に、時間T2において、生産データベースシステム110はファイル710(b)への取引ログの書き込みを停止し、ファイル710(c)への取引ログの書き込みを開始した。時間T3において、生産データベースシステム110はファイル710(c)への取引ログの書き込みを停止し、取引ログファイル710(a)を再利用することを決定した。取引ログファイルを再利用する前に、生産データベースシステム110は、その取引ログファイルにある取引ログが確実に適切なデータベースに適用されるようにする。時間T4、T5およびT6におけるログファイルの変化は、前述の変化に類似する。それ故、生産データベースシステムは、通常、循環方式において取引ログファイルを再利用し、ストレージを再利用することができる。
データベースストレージシステムは、取引ログに基づいてログ保持ポリシーが決定した非常に長い時間履歴情報を保持するため、ログファイルデータに関しては循環再利用方式を利用しない。取引ログに基づく履歴情報を保持することにより、過去の時点におけるVDBを作成する能力が得られる。過去の時点に対応するデータベーススナップショットの復旧に必要な取引ログが利用可能である限り、過去の時点におけるVDBを作成できる。取引ログファイルの循環再利用に基づく方式は、時間的に前の取引ログを上書きする。それ故、ログファイルに循環再利用方式を利用するデータベースシステムは、取引ログが上書きされていない最近の時点に関する取引ログに基づいてデータベーススナップショットのみを復旧できる。
データベースストレージシステム100が記憶したログファイル720は、保持されたログファイルである。矢印740は、生産データベースシステム110の取引ログファイル710から、データベースストレージシステム100の保持されたログファイル720への情報の転送を示す。各矢印740は、取引ログマネージャ320から生産データベースシステム110に送信されたリクエスト445のいくつか、および取引ログマネージャ320が処理し、記憶した、生産データベースシステム110から送信された応答450のいくつかに対応し得る。
例えば、矢印740(a)は、時間間隔T1からT2間のログファイル710(a)から720(a)への情報のコピーを示す。時間T2において、生産データベースシステムは、ファイル710(b)への取引ログの書き込みを開始した。データベースストレージシステムは新規のログファイル720(b)を作成し、矢印740(b)は、ファイル710(b)からログファイル720(b)への取引ログ情報の転送を示す。前述の処理が継続するが、時間T3において、生産データベースシステムがログファイル710(a)の再利用を開始するが、データベースストレージシステムは新規のログファイル720(d)を作成する。矢印740(d)はログファイル720(d)への取引ログ情報のコピーを示す。それ故、生産データベースシステム110の同一の取引ログファイルからの取引ログ情報は、異なる時間においてデータベースストレージシステム100内の複数のログファイルにコピーされ得る。例えば、取引ログファイル710(a)内の情報は、T0とT1との間においてログファイル720(a)にコピーされ、T3とT4との間においてログファイル720(d)にコピーされ、時間T6とT7との間においてログファイル720(g)にコピーされる。データベースストレージシステム100は、ログ保持ポリシーが決定するような可能な限り長い時間取引ログ情報を保持するために、ログファイルの再利用を回避する。これによりユーザは、取引ログ情報が利用可能な以前の時点においてデータベースのスナップショットを再作成できる。
図8はストレージシステムデータストア390が記憶した、異なる時点における種々の生産データベースシステム110から取得した情報を示す。図8は生産データベースシステム110から取得した、2つのデータベース、すなわちDB1およびDB2に関連する情報を示す。情報850はデータベースDB1が取得したデータに相当し、情報860はデータベースDB2が取得したデータに相当する。情報850または860はデータベースブロックセットおよび取引ログセットを含む。情報850(a)は、生産データベースシステム110から取得した、データベースDB1の最初のPITコピーに相当する。情報850(b)は、最初のPITコピー後にデータベースDB1の最初の取引ログ更新に相当し、情報850(c)は、最初のPITコピー後のデータベースDB1の第2の取引ログ更新に相当する。情報850(d)はデータベースDB1の第2のPITコピーに相当する。情報850(d)は、最初のPITのコピーが生成された後、データベースDB1内で変化したデータベースブロックのみを記憶する。情報850(e)は、第2のPITコピー後のデータベースDB1の第1の取引ログ更新に相当する。同様に、情報860はデータベースDB2に相当する。情報850に付随して示す時間Tiは、情報がその構成内でコピーされた時間を示す。PITコピーマネージャ310が実行するPITコピー(ログが更新されていない850(a)または850(d)など)においては、時間Tiは、PITのコピー前にデータベースブロックを最後に更新した時間を示す。850(b)、850(c)または850(e)などのログ更新に対応する情報においては、時間Tiは、記憶された対応する取引ログセットにおける最後の取引ログの時間を示す。
図8に示す矢印810は、仮想データベースマネージャ375が実行する、情報850に基づくデータベースの読み出し/書き込みコピーに相当するファイルを作成するステップを示す。矢印830は、ファイル共有システム120を通じて、仮想データベースシステム130に対してファイル870を利用可能にするステップを示す。図9は仮想データベースを作成する処理のフローチャートである。仮想データベースマネージャ375は、仮想データベースシステム130に用いる仮想データベースを作成するリクエストを受信する905。VDBを作成するリクエストは、管理システム140が受信し得る。VDBを作成するリクエストは、生産データベースシステム110およびVDBとして利用可能とされる必要のある対応するデータベース、VDBを作成する必要のある仮想データベースシステム130、並びにデータベーススナップショットがVDBとして作成される過去の時点Tnの詳細を含み得る。
仮想データベースマネージャ375は、Tnよりも以前のTjに関する最近のPITコピーを特定する910。仮想データベースマネージャ375は、TjからTnの期間に更新されたログファイルの一部をさらに特定する915。特定したPITコピー内のデータベースブロックおよびログファイルの適切な一部をストレージ効率よくコピーすることにより、読み出し/書き込みファイル構造870を作成する920。PITコピーに基づいて作成されたVDBに適切な取引ログを適用することにより、PITコピー後の時点間のソースデータベースのスナップショットを作成できる。したがって、PITコピーは定期的に、例えば毎日作成され得るが、取引ログを以前のPITコピーに適切に適用することにより、PITコピー間の任意の時点におけるVDBを作成できる。例えば、特定の日付の真夜中に生産データベースにおいてPITコピーが生成された場合がある。しかしながら、VDBは、午前10時25分などの1日のうちの特定のそれ以降の時間に、その特定の時間にPITがコピーされていないが、生産データベースの状態に基づいて作成され得る。真夜中からその特定の時間までの生産データベースの変化は、取引ログから取得される。
ファイル構造のストレージ効率のよいコピーを実現する機構を本明細書にさらに記載する。仮想データベースマネージャ375は、読み出し/書き込みファイル構造の操作情報を、関連する仮想データベースシステム130に送信する935(図8の矢印830に示す)。一部の実施形態では、仮想データベースマネージャ375は、リクエストをファイル共有マネージャ370に送信することにより、ファイル構造を仮想データベースシステム130に対して利用可にする。ファイル共有マネージャ370はこれに応答して、ファイル共有システム120を利用して仮想データベースシステム130と適切なファイルを共有する。仮想データベースマネージャ375はまた、適切な保持したログをデータベースブロックに適用することにより、新規の仮想データベースの復旧を実行するリクエストを仮想データベースシステム130に送信する930。一部の実施形態では、データベースサーバが仮想データベースシステム130を起動する際に、データベースはその復旧を自動的に実行する。
図10はVDBに対応する読み出し/書き込みファイル構造を作成するための、ストレージ効率のよいコピーの作成方法を示す。図10に示す構造1010は、生産データベースシステム110のデータベースに対応するファイルを示す。構造FiおよびGiは、それぞれ、ファイル1010に記憶されるデータベースブロックを示す(FiはF1、F2、F3などを意味し、同様に、GiはG1、G2、G3などを意味する)。矢印1015は種々の時点TiにおけるPITコピー作成の処理を示す。時間T0において作成される最初のPITコピー1030には、データベースの全てのデータベースブロックのコピーが必要となる。例えば、F1iはブロックFiのコピーを示し、G1iはブロックGiのコピーを示す。時間T1において作成されるPITコピー1035は、前回のPITコピー後に変化したブロックのみをコピーし、最初のPITコピーよりもはるかに少ないデータのコピーで済む。同様に、時間T2において別のPITコピー1040が、以前のPITコピー1035後に変化したデータベースブロックのみをコピーすることにより作成される。
PITコピー1040が図10に示す構成における最後のPITコピーであると仮定すると、時点T2においてVDBファイル構造1050が作成される。構造1050が作成されると、データを記憶する実際のデータベースブロックを示すポインタとしてブロックV11〜V25が実装され得る。例えば、V11はブロックF1の情報を示し、ブロックF1が時間T1およびT2におけるコピー中に更新されなかったため、F11を指す。V12はブロックF2の情報を示し、時間T1においてF2が更新されたため、ブロックF22を示す。同様に、V13は時間T2において更新されたブロックF3に対応し、ブロックF33を指す。
図11は時点T1において作成されたファイル構造1150を示す。ブロックF3に対応するU13は、時点T1においてブロックF3が更新されなかったため、F13を指すことに留意されたい。また、U14は時間T1においてコピーされたブロックF4に対応するブロックF24を指す。PITコピー1040が時点T1後に作成されたので、構造1150のいずれもPITコピー1040を指さない。
図12は、ストレージシステムデータストア390が記憶したデータベースブロックが、異なるVDBにおいて作成されたファイル構造と共有される方法を示す。図12は図10および図11に示すような、VDB用に作成された生産データベースシステム110のファイル1005に対応するファイル構造を示す。図12に示すように、ファイル構造C50のブロックV13およびV14は、時間T1においてVDBファイル1150と共有されないブロックF33およびF34である最新コピーを指す。しかしながら、T2におけるVDBファイル1050のブロックV11は、T1におけるVDBファイル1150のブロックU11とブロックF11を共有する。同様に、1050のブロックV12は、1150のブロックU12とデータベースブロックF22を共有する。複数のVDBに渡るブロックの共有利用により、ストレージシステムデータストア390が記憶したデータを効率的に利用できる。VDBの1つが共有のデータベースブロックへの書き込みを試みる場合には、書き込みを試みるVDBに共有のデータベースブロックのコピーが作成される。データベースブロックを共有していた残りのVDBは、元のデータベースブロックを共有し続ける。それ故、コピーされたデータベースブロックにおけるいかなる変化も、データベースブロックに書き込んでいるVDBに固有であるため、残りのVDBには認識されない。
VDBはソースとして別のVDBの時点コピーを用いても作成され得る。例えば、仮のVDB1が作成され、仮想データベースシステム130にプロビジョニングされると仮定する。仮想データベースシステム130が最初にデータベースブロックを書き込むときには、そのVDBに関連するデータベースブロックがコピーされる。VDB1の時点コピーも所定のスケジュールに基づいて作成される。これによりユーザは、VDB1の時点コピーに基づいて第2の仮想データベースVDB2を作成できる。VDB1の取引ログも記憶することにより、ユーザは、VDB1の時点コピー間であり得るVDB1の任意の以前の状態に基づいて第2の仮想データベースVDB2を作成できる。
図13は更に、T2以前の時点T1+t2に対するデータベーススナップショットに対応する、VDBファイル構造1350内へのログファイルの組み込みを示す。図13に示すように、ログファイルデータL1は時間T1+t1において取引ログマネージャ320によりコピーされ、ログファイルデータL2は時間T1+t2においてコピーされる。生産データベースシステム110に書き込まれる追加のログデータL3はコピーされたように示されておらず、T1+t2後の時間に、データベースストレージシステムにコピーされ得る。VDB用に作成したファイル構造1350は、L1およびL2として示される、時間T1とT1+t2との間にコピーされたログ情報に相当する適切なログファイルデータを指す構造VL11を含む。仮想データベースシステム130においてデータベースサーバが起動すると、構造V11が指すログが、データベース復旧処理を利用してデータベースブロック1035に適用され得る。
図10に示す構造1050、図11に示す構造1150、または図13に示す構造1350が読み出し/書き込み構造であるため、仮想データベースシステム130はこれらの構造からの読み出し、そしてそれへの書き込みが可能になる。仮想データベースシステム130がブロックVijに書き込むと、データベースブロック用のスペースが割り当てられ、割り当てられたスペースに対応するデータベースブロックのデータがコピーされる。例えば、仮想データベースシステム130がブロックV11に書き込む場合には、スペースが割り当てられ、割り当てられたブロックにブロックF11がコピーされる。それ故、ブロックF11の元のコピーが読み出し専用コピーとして維持され、仮想データベースシステム130は、それ自体のために特定的に作成された適切なデータベースブロックのコピーを書き込みことができる。これは、対応する仮想データベースシステム130がデータベースブロックに書き込む場合のみ、データベースブロックのコピーを作成する怠惰なメカニズムとみなされ得る。仮想データベースシステム130が書き込むブロックの数が、VDBのブロック総数の小さな一部分であり得るので、前述の構造はストレージ効率の高い方法でVDBに関連するデータを記憶する。仮想データベースシステム130によって書き込まれないデータベースブロックは、特定の仮想データベースシステム130のためにコピーをせず、いくつかの仮想データベースシステム間で共有され得る。
VDB操作
図14はデータベースまたはデータベースに依存するアプリケーションを変化させる、ワークフロー内のデータベースのライフサイクルの一例を示す図である。図14に示すように、生産データベース1405のコピーは、開発、調整、検証、品質保証、認証、訓練、および段階分けを含むいくつかの目的のために作成される。従来の方法による多量のデータベースのコピーを作成することは、遅い過程であり得る。さらに、種々の機械におけるデータベースの種々のコピーの稼働は、ハードウェアの非効率的な使用に繋がる。データベースの物理コピーを作成する代わりに仮想データベースを作成することにより、データベースに関連する様々なワークフローシナリオは簡易化され、高効率となり得る。複数の仮想データベースがデータベースストレージシステム100に記憶され得、システムの資源の利用が効率的になる。
VDBに基づくワークフローシナリオにおいて実行されるステップは、従来のシステムを用いた同一のワークフローシナリオにおいて実行される操作とは顕著に異なり得る。これらのステップは、データベースストレージシステム100のデータベース管理者が実行してもよいし、スクリプトを利用して自動的に実行されてもよい。仮想データベースに関連する種々の操作を下に説明する。
リンク操作は、生産データベースシステム110内のデータベースへのアクセスに必要な情報を、データベースストレージシステム100のシステム構成マネージャ315に提供する操作である。データベースへのアクセスに必要な情報を用いることにより、データベースストレージシステム100は、生産データベースシステム110からデータを取得できる。この情報は、データベース名、データベースをホストする生産データベースシステム110のネットワークアドレス、およびアクセス制御情報を含み得る。リンク操作の一部として、データベースストレージシステムは生産データベースシステム110と通信して、データベース情報を認証できる。データベースストレージシステム100は、生産データベースシステム110内のリンクしたデータベースからデータベースブロックを取得し、それをストレージシステムデータストア390に記憶できる。ストレージシステムデータストア390に記憶されたデータベースブロックは、仮想データベースの作成に用いることができる。一部の実施形態では、リンク操作は、ソースデータベース全体ではなく、ソースデータベースの一部のみがコピーされる必要があることを指定できる。例えば、リレーショナルデータベースでは、ソースデータベースの一部はテーブルスペース、1つ以上のテーブルセット、テーブルのサブセット、またはテーブルサブセットのセットをであり得る。一実施形態では、ユーザはデータベースの一部をコンピュータ処理するためのスクリプトを指定できる。
ロード操作は、データベースストレージシステム100内のストレージに用いられるデータを、生産データベースシステム110のデータベースから取得する操作である。データベースは、ロードできるようにするには、データベースストレージシステム100にリンクされる必要がある。ロード操作がデータベースのデータを最初に取得するときは、データベースに利用可能なデータ全体を取得する。この結果、最初のロード操作は遅くなり得、データベースのサイズおよび当業界のハードウェア状態に基づくネットワーク回線容量次第では、数時間または数日間かかる可能性もある。その後のロード操作は、データベース内における以前のロード操作からの変化のみを取得するため、はるかに短時間で済む場合もある。ロード操作は定期的に実行され、継続してデータベースの変化を取得する。ロード操作は、データベースのデータベースブロックおよび/または以前の時点後に更新されたデータベースを示す取引ログを取得できる。ロード操作に要求される入力は、前もってリンクされているデータベースを特定する情報を含む。ソースデータベースの一部のみがリンク操作により特定されると、その部分のみがロードされる。
ロード操作はまた、VDBに利用可能な情報を増加的に更新できる。データベースストレージシステム100が生産データベースシステム110から取得した情報は、定期的に更新され得る。データベースストレージシステムに利用可能な、生産データベースシステム110から取得した情報が更新されると、仮想データベースシステム130にプロビジョニングされた情報も更新され得る。仮想データベースシステム130がVDB内のデータを更新してもよい。この場合には、増大したロードは仮想データベースシステム130による更新を特定し、それと生産データベースシステム110から取得した変化とを比較する。2つの更新セットに不一致が無い場合には、生産データベースシステム110の変化をVDBに適用することにより、ロード操作は成功する。不一致がある場合には、不一致のレポートがデータベース管理者に示され、不一致を解決するために、データベース管理者に入力が要求される。一実施形態では、2つのソース間の更新の不一致は、2つの更新による影響を受けたデータベースブロックを特定することにより検出される。データベースブロックの2つの更新セット間にオーバーラップが無い場合には、データベースストレージシステム100は不一致が無いと判断する。ソースデータベースの一部のみがリンク操作において特定された場合には、その一部の変化のみがロードされる。
プロビジョニング操作は、データベースストレージシステム100内の仮想データベースを作成し、それを仮想データベースシステム130に対して利用可能にする。仮想データベースは、ソースデータベースの時点コピー、または別の仮想データベースの時点コピーに基づいて作成され得る。VDB用の1つ以上の読み出し/書き込みファイルが作成され、ファイル共有システム120を利用して仮想データベースシステム130と共有され得る。読み出し/書き込みファイルは、ストレージシステムデータストア390が記憶したデータベースブロックを示す構造を含む。プロビジョニング操作に要求される入力は、以前にリンクされかつロードされたデータベースまたは既存のVDBを特定する情報、データベースの所望の状態に対応する以前の時点、仮想データベースがプロビジョニングされる仮想データベースシステム130を特定する情報を含む。一部の実施形態では、VDBの一部がプロビジョニングされてもよい。同様に、種々のVDBの一部が共にプロビジョニングされ、新規のVDBを形成してもよい。他の実施形態では、アプリケーション特有の連携方式を用いて、いくつかのVDBが一群として共にプロビジョニングされてもよい。これらの一群に適したプロビジョニングは、アプリケーション論理もしくはプロビジョニングの設定、またはその連携を含み得る。
ブックマーク操作は、1つ以上の仮想データベースにおける、アプリケーションとして重要な時点をマークする。結果生じた「ブックマーク」は、プロビジョニング操作を導くために用いられ得る。この操作は、通常、ユーザまたは管理システム140を介して外部プログラムによりトリガされる。データベースストレージシステム100は、結果生じた「ブックマーク」をデータベースストレージシステム100が記憶すると、トークンを返す。その後、ユーザまたは外部プログラムはVDBまたはVDBの群を、返されたトークンを利用して同一のアプリケーションにとって重要な時点にプロビジョニングできる。例えば、外部プログラムは、大量のバッチ処理動作の直後などの特定状態における生産データベースの捕捉を所望する場合がある。ユーザは管理システム140を通じてブックマーク操作を呼び出して、返送されたトークンを保存できる。その後、ユーザは保存したトークンを供給することにより、VDBを同一の状態にプロビジョニングできる。一部の実施形態では、トークンは文字列の形態でもよい。
リフレッシュ操作は、ソースデータベースシステム110からの最新情報に基づいてVDBを定期的に更新するデータベースストレージシステム100に対応する操作である。例えば、VDBはユーザが確認するレポートを生成するレポートティングシステムにおいて用いられ得る。リフレッシュ操作は、1日1回などの定期的に、生産データベースシステム110から最新情報を自動的にロードする。リフレッシュ中のVDBは停止される。VDBは生産データベースシステム110の最新の時点コピーと共に更新され、再起動される。それ故、対応する仮想データベースシステム130のユーザは、生産データベースシステム110内のデータの最新の時点コピーに基づいた最新レポートを確認できる。一実施形態では、生産データベースシステム110から取得した時点コピー間において取得した取引ログに基づいてVDBをリフレッシュしてもよい。リフレッシュ操作に要求される入力は、リフレッシュされるべきVDB、およびデータをリフレッシュするスケジュールを特定する情報を含む。
スクリプト前操作は、別のデータベースストレージシステム100の操作の実行前に、特定タスクを実行する専用命令の実行に相当する操作である。例えば、スクリプト前操作は、VDBをプロビジョニングするか、生産データベースサーバ110からデータベースをロードする前に実行され得る。データベースは、データベース外部に記憶された特定用途向けデータを要求するアプリケーションと共に用いられ得る。データベースがリフレッシュまたはロードされると、スクリプト前操作が実行され、特定用途向けデータがデータベースストレージシステム100にロードされ得る。スクリプト前操作に関する入力は、実行される操作、およびスクリプト前操作がその前に実行される、データベースストレージシステム100の操作の詳細を指定する実行可能スクリプトを含み得る。
スクリプト後操作は、データベースストレージシステム100の操作の実行後に、特定タスクを実行する専用命令の実行に対応する操作である。例えば、スクリプト後操作は、VDBを仮想データベースシステム130にプロビジョニングした後に実行され得る。生産データベースシステム110内のデータベースを用いたアプリケーションの検証および開発は、検証または開発仮想データベースシステム130を利用した類似のアプリケーションを実行することにより行われ得る。このシナリオでは、スクリプト前操作により生産データベースサーバ110からコピーされた特定用途向けデータはさらに、対応するアプリケーションを実行する仮想データベースシステム130にもコピーされる。データベースストレージシステム100から仮想データベースシステム130に特定用途向けデータをコピーする命令は、プロビジョニング操作後のスクリプト後操作として実行される。スクリプト後操作における入力は、実行される操作、およびスクリプト後操作がその後に実行されるデータベースストレージシステム100の操作の詳細を指定する実行可能スクリプトを含む。
プレスクリプトおよびスクリプト後操作は、種々のVDB操作に関連し得る。例えば、スクリプト前操作はリフレッシュ操作の前に実行されてもよいし、対応するスクリプト後操作はリフレッシュ操作後に実行されてもよく、リフレッシュ操作前/後における特有情報のコピー/インストールが可能になる。同様に、スクリプト前/スクリプト後操作は、とりわけリンク、ロード、プロビジョン、およびエクスポートを含む他のVDB操作に関連し得る。例えば、ソースデータベースからのデータのリンク操作またはローディング中に、スクリプト前/スクリプト後操作により、データベーステーブルの列または行を含むデータを圧縮、マスキングまたは削除することによりデータをそぎ落とすことができる。前スクリプトおよび後スクリプトは、ソースデータベースおよび/またはVDBを利用したアプリケーションに関連するアプリケーションデータを処理できる。前スクリプトおよび後スクリプトは、VDBのプロビジョニングに関連するシステム環境の課題を管理でき、VDBのプロビジョニング前/後の始動/停止機能を実行できる。
共有操作は、別のユーザがVDBにアクセスするための許可に対応する操作である。一実施形態では、共有操作は、新規のVDBを作成し、それを新規のユーザまたはユーザセットと共有するためにプロビジョニングするステップを含み得る。例えば、検証および開発環境では、VDBを利用した開発が特定の段階に達した後に、VDBはテストユーザ内で共有され得る。共有操作に要求される入力は、共有するVDBの情報、VDBを共有するユーザを特定する情報、およびユーザに与えられた許可レベルを特定するアクセス制御情報を含み得る。
エクスポート操作は、データベースに利用可能な情報を、あるコンピュータから別のコンピュータにコピーする操作である。通常、情報はデータベースとして組み立てるためにターゲットコンピュータにコピーされる。段階分け操作は、データベース情報を段階分けサーバにコピーするエクスポート操作に対応する操作である。段階分けサーバは、通常、生産環境におけるデータベースまたはデータベースアプリケーションへの変更を利用する前に、データベースのシステムレベルを検証するために用いられる。エクスポート操作における入力は、エクスポートされるVDBを特定する情報、およびVDBからデータがエクスポートされるターゲットマシンを特定する情報を含む。
マスク操作は、データベース内の情報をコピーするときに、データベースの特定の情報を変更またはスキップする操作である。例えば、データベースをコピーするときに、ソース内の秘密情報はターゲットにはコピーされ得ない。別の例では、データベースをプロビジョニングするときに、データは暗号化される。秘密情報の例はクレジットカード情報または社会保障番号を含む。データベース情報が隠されたシナリオの例は、テスト目的の生産データベースのコピーを含む。VDBを用いて検証するデータベースのユーザは、生産データベースシステム110に記憶されている秘密情報を必要としない場合がある。ソースデータベースからコピーするデータを変換可能な他の操作は、圧縮および暗号化を含む。圧縮操作は、元の情報を保存するが、記憶時により小さいスペースを占有するようにデータのフォーマットを変換する操作である。暗号化操作は、暗号化情報をデコードする論理を有さないアプリケーションが読み出せないフォーマットにデータを変換する操作である。マスク、圧縮、または暗号化操作に対する入力は、ソースVDBおよびターゲットデータベースを特定する情報を含む。ターゲットデータベースはそれ自体をVDBとしてもよいし、データを従来のシステムにエクスポートしてもよい。
消去操作は、VDBから不要な情報を削除する。通常、膨大なスペースを占有し、もはや必要としない情報を消去する。例えば、データベースは、長期間システム内で発生しているイベントに関連するイベントデータを記憶し得る。もはや必要としない古いデータ、またはアーカイブしたデータはデータベースから消去し得る。データベース情報がコピー操作から削除されるべき情報をスキップすることによりコピーされるときに、消去操作が実行される。消去操作における入力は、ソースVDBおよびターゲットデータベースを特定する情報を含み得る。ターゲットデータベースはそれ自体をVDBとしてもよいし、従来のデータベースでもよい。
抽出、変換、およびロード(ETL)操作は、データ保管プロジェクトにおいて実行される標準的な操作を指す。抽出ステップはソースからデータを取得し、変換ステップは操作上の特定の要求に基づいてデータを修正し、ロード操作はデータをターゲットシステムにロードする。ETL操作に要求される入力は、ソースデータベースを特定する情報、ターゲットデータベースを特定する情報、およびデータ変換に実行される操作情報を含む。ETL操作における入力は、ソースVDBおよびターゲットデータベースを特定する情報を含んでもよい。ターゲットデータベースはそれ自体をVDBとしてもよいし、従来のデータベースでもよい。
複製操作は、ソースストレージシステムが記憶したデータの変化をターゲットストレージシステムに伝える。複製されるデータはVDB、または1つ以上の生産データベースシステム110から取得したデータベースブロックに対応する、ストレージシステムデータストア390が記憶したデータでもよい。ソースおよびターゲットストレージシステムは、複製操作用に適切に設定されなければならない。ソースストレージシステムにおける複製用のプログラムコードは、ソースストレージシステムが記憶するデータの変化を定期的に特定し、その変化をターゲットストレージシステムに送る。同様に、ターゲットストレージシステムにおけるプログラムコードは、ソースストレージシステムからの変化を受け取り、その変化を適切に処理し組み込むことができる。複製は、例えば、ソースストレージシステムからのデータをターゲットストレージシステムにミラーリングすることにより、可用性を高くするために用いることができる。何らかの理由でソースストレージシステムを使用できない場合でも、ターゲットストレージシステムは利用可能である。複製操作における入力は、ソースシステムおよびターゲットシステムを特定する情報を含み得る。
バックアップ操作は、ストレージシステムに利用可能なデータをコピーして、元のデータが消失した場合に、元のストレージシステムの情報を復旧するためにストレージシステムのバックアップコピーが用いられるようにする操作である。復旧操作はバックアップコピーに利用可能な情報を再生して、情報を復旧する。バックアップの作成以降の元のストレージシステムにおけるいかなる変更も、更新情報が何らかの形式で保存されない限り、消失する可能性があることに留意されたい。一部の実施形態では、バックアップ情報は、可能性として遅い取得速度で、例えばテープバックアップシステムなどの大量のストレージシステムに記憶される。
本明細書に定義した概念に基づく他のVDB操作がデータセンターのワークフローの自動化のために定義され用いられ得る。VDB操作は、既存のVDB操作を組み合わせることでも作成され得る。VDBまたはデータベースストレージシステム100に基づく前述の操作を利用する種々のワークフローシナリオを下に説明する。ワークフローシナリオごとに、従来のシステムに基づくシナリオの簡単な記述が、仮想データベースに基づくシナリオと比較される。
検証および開発ワークフロー
図15は従来のデータベースを用いた生産環境に基づく検証および開発用のシナリオを示す。図15に示すように、生産データベースシステム1505は生産環境に用いられるデータベース1500を含む。従来のシステムにおける生産環境に用いられるソフトウェアの検証および開発は、データベースに記憶されるデータ1500の複数のコピーを要求する場合がある。図15に示すように、データベース1500は開発システム1510のデータストア1515にコピー1550される。一定期間中に開発システム1510において開発動作が実行され得る。データストア1515内のデータベースは定期的に、ソフトウェアおよび/またはデータベースを検証すために検証システム1520内のデータストア1525にさらにコピーされる。検証システム1520において生じた問題は、さらなる開発動作を要求し得るものとしてフィードバック1575され得る。開発および検証処理は複数回繰り返され得る。特定段階において、データベースは検証システム1520から、性能検証、システムインテグレーション、認証、およびユーザ承認を含み得る品質保証を実行する品質保証(QA)システム1530のデータストア1535にコピーされ得る。QAシステム1530に基づくフィードバック1570は、開発システム1510を用いたさらなる開発を要求し得る。開発、検証、およびQAの全体処理は複数回繰り返され得る。十分なQA検証が実行されると、データベースは段階分けシステム1540のデータストア1545にさらにコピーされ得る。ソフトウェアまたはデータベース内の最後の変化は、アップグレード手段などにより、生産データベースシステム1505に伝達1560される。
図16は仮想データベースに基づく検証および開発ワークフローのためのシナリオを示す。図15に記述したワークフローにおけるデータベースのコピーを要求するいくつかのステップは、仮想データベースを用いることにより省略され得る。生産データベースシステム1505のデータベース1500は、データベースストレージシステム100にリンクおよびロード1665される。データベース1500に対応する仮想データベースは、開発システム1610にプロビジョニング1640される。開発システム1610用に作成された仮想データベースは、スケジュールに基づいて複数回リフレッシュ1670され得る。VDBにおける開発動作が特定段階に至ると、VDBが検証システム1615と共有されて、それによりユーザは検証システム1615に適切にアクセスできる。開発VDBと検証VDBとの共有は、開発VDBの時点コピーに基づく検証VDBの作成を含み得る。検証システム1615からのフィードバック1575は、プロビジョン1640、リフレッシュ1670、および共有1645操作の反復を要求し得る。開発および検証が特定段階に至ると、VDBはさらにQAシステム1630とも共有1650され、データストア1635に記憶される。検証または開発VDBとQAシステムとの共有は、対応する検証/開発VDBの時点コピーに基づくQA VDBの作成を要求し得る。代替的に、開発VDBはQAシステムにエクスポートされる。VDBはまた、段階分けシステム1640のデータストア1645に直接段階分け1655されてもよい。
いくつかの組織では、ワークフローに伴う種々の動作が、異なる物理的位置で実行され得る。例えば、生産サーバが組織のある場所に位置し、一方、開発および検証が組織の別の場所で実行され得る。開発および検証を実行する他の場所は離れた場所であり得、これにより、2つの場所間のネットワーク通信が遅くなる。このシナリオでは、図15に示す開発システム1510および検証システム1520はある場所で利用可能であり、生産システム1500、QAシステム1530、および段階分けシステム1540を含むシステムの残りの要素は異なる場所で利用可能となる。
図17はこのシナリオにおける種々のシステム間のやりとりを示す図である。図17に示すように、場所は、第1の場所1765および第2の場所1760と名付けられる。データベースストレージシステム1715は第1の場所1765で利用可能であり、第2のデータベースストレージシステム1705は第2の場所1760で利用可能である。生産データベースシステム1505に記憶されるデータベースは、第1の場所1765のデータベースストレージシステム1715にリンクおよびロード1775される。データベースに対応するデータは、データベースストレージシステム1715からデータベースストレージシステム1705に複製1725される。複製操作1725はまた、マスキング、消去、圧縮、および暗号化を含む他の操作と組み合わされ得る。開発/検証が離れた場所で実行され、第2の場所1760のユーザが生産データベースに利用可能な特有情報にアクセスできない場合があるので、情報は隠され、消去される必要が生じ得る。情報はまた、ネットワーク上をデータが移動する時間を短縮するために圧縮され得、データの流用を防ぐために暗号化され得る。データベースは開発システム1610にプロビジョニング1740およびリフレッシュ1770され、必要に応じて、検証システム1615と共有1745される。ストレージシステムデータストア1710が記憶したデータベースにおける検証および開発による変更は、データベースストレージシステム1715に伝達され、ストレージシステムデータストア1720に記憶され得る。これらの変更の伝達は、圧縮および暗号化と組み合わされ得る複製1730操作により実行され得る。データベースストレージシステム1715内の更新されたデータベースは、QAシステム1630にエクスポート1750され、かつ/または段階分けシステム1640にクスポート1755される。
バックアップおよび復旧
図18aはデータベースのバックアップおよび復旧のためのシナリオを示す。企業内の複数のデータベースシステム1810は、バックアップシステム1815のデータストア1820にコピー1825される。バックアップシステム1815は、大容量ディスク記憶装置などの持続性メモリ内のバックアップデータを記憶し得、かつ/またはテープバックアップ装置を用いることができる。従来のシステムでは、操作コピー1825は、データベース1810内のデータベースブロックのコピー、またはデータベース1810内のデータの1つ以上のファイルへのエクスポート、データストア1820内に記憶されるようにそれらのファイルをバックアップシステム1815コピーすることに対応する。いくつかのデータベースシステム1810は、システムにおけるデータベースのスナップショットを記憶し得、これもバックアップが要求される。データベースシステム1810は、別のデータベースシステムを利用してデータベースをミラーリングし、ミラーリングしたデータベース内の変化を元のデータベース1810と同期させる。ミラーリングしたデータベースは、バックアップシステム1815にバックアップされる必要があり得る。いくつかのシステムでは、故障および災害からデータを保護するために、データベース1810と共に追加の予備データベースが用いられ得る。予備データベースもまたバックアップシステム1815を用いてバックアップされ得る。データベースのバックアップを支援するベンダー固有のユーティリティの例は、ORACLEデータベースと共に用いられるRMANがある。
図18bは従来のバックアップおよび復旧に必要とされる構成に取って代わる、データベースストレージシステム1890を用いたデータベースの復旧のシナリオを示す。この実施形態では、データベースストレージシステム1890は、それ自体がデータベースシステム1865内のデータベース1860のコピーのためのストレージとして機能する。コピー操作1825が、リンクおよびロード操作1830に変更されている。データベースストレージシステム1890がサポートするリンクおよびロード操作を利用する利点は、完全および増分バックアップと比較して、データベース1860からデータベースストレージシステム1890に転送するデータ量がはるかに少ないことである。さらに、リンクおよびロード操作1830を利用して実行されるデータベース1860のその後の更新は、完全なロードを繰り返す必要はなく、継続してデータベース1860内の変化のみが転送される。この結果、データベース1860からストレージシステムデータストア1840に移動するデータ量は、バックアップソリューションと比較してはるかに少ない。それ故、ストレージシステムデータストア1840内のデータが占有するストレージスペースは大幅に減少され、データベース1860からストレージシステムデータストア1840へのデータの転送は大幅により短時間で完了する。
別の実施形態では、ストレージシステムデータストア1840に利用可能なデータは、バックアップシステム1845を用いてバックアップ1855される。バックアップ操作1855は、最初は、ストレージシステムデータストア1840に利用可能なデータ全体をコピーし、その後、ストレージシステムデータストア1840に記憶されているデータの増分変化のみをコピー1855できる。ストレージシステムデータストア1840に記憶されているデータ量は、データベース1860の変化のみを記憶しているため、従来のバックアップシステム1815のデータストア1820に記憶されているデータ量よりもはるかに少なくなり得る。それ故、ストレージシステムデータストア1840のデータのバックアップ1855に費やされる時間と、データベース1860内のデータのストレージシステムデータストア1840へのリンク/ロードに要求される時間との和は、大企業において、特に、ロードおよびソースデータベースが要求する時間に関して、バックアップ操作1825に費やされる時間よりもはるかに短くなり得る。
データベース複製の保持
いくつかのワークフローシナリオでは、ソースデータベース内の情報を、ターゲットデータベースに定期的にコピーする。例えば、災害によるソースデータベースの破壊に備えて(災害復旧として知られる処理)、ソースデータベースから情報の復旧に用いられるターゲットデータベースに情報をコピーし得る。情報は1つ以上のデータベースにもコピーされ得、ユーザによるデータの有用性が向上する。例えば、メンテナンスまたは他の理由によりソースデータベースを停止する場合には、ターゲットデータベースをユーザに対して使用可能にする。一部の使用シナリオでは、ソースデータベースからレポート目的に用いられるターゲットデータベースに情報をコピーする。生産データベースシステムにおけるレポートの実行は、データベースに相当量の負荷がもたらされる。取引処理に生産データベースシステムが用いられるため、レポート生成のために、生産データベースシステムのデータベースと同期する異なるサーバが用いられることが好ましい。ターゲットデータベースは頻繁に更新され、レポートインフラストラクチャを利用して最新レポートを提供する。ソースデータベースからターゲットデータベースへの情報のコピーを要求する別のシナリオとして、ある機械から別の機械へのデータベースの移動がある。データベースの移動は、企業がソフトウェアをより新しいバージョンにアップグレードする場合に要求され得る。例えば、より新しいバージョンのオペレーティングシステム、より新しいバージョンのデータベース管理システム、より新しいバージョンのアプリケーションへのアップグレード、または新規のハードウェアへのアップグレードをする場合である。データベースはまた、例えば、ある会社が別の会社に買収された場合に、ある物理的位置から別の位置への移動が要求され得る。
図19は1つ以上のソースデータベースシステム1905からターゲットデータベースシステム1905に情報をコピーするシステム環境を示す。図19はソースデータベースシステム1905のソースデータストア1935から、ターゲットデータベースシステム1910のターゲットデータストア1940への情報のコピーまたは転送1950を示す。他の実施形態では、1つのソースデータストア1935の情報が、2つ以上のターゲットデータストア1940に転送されてもよい。代替的に、2つ以上のソースデータストア1935の情報が、1つのターゲットデータストア1940に転送1950されてもよい。
転送速度、転送頻度、転送される情報の種類などの、コピー1950操作に関連する種々のパラメータは、特定シナリオに依存し得る。ソースデータベースシステム1905およびターゲットデータベース1910は、第1の場所1955および第2の場所1960に示すなどの地理的に別々の位置である物理的位置に配置され得る。通常、異なる物理的位置に配置された機械は、同じ物理的位置に配置された機械と比較してネットワークの通信速度が遅い。本明細書に記載した実施形態は、同じ物理的位置に配置されたソースおよびターゲットデータベースシステムにも、互いに異なる位置に配置されたそれらにも適用される。
図20は図19に示すような従来実施されるワークフローシナリオを実行するための、データベースストレージシステム100に記憶された仮想データベースに基づくシステム環境を示す。図20に示すように、ソースデータストア1935が記憶したデータベース内のデータは、ソースデータベースストレージシステム2005のストレージシステムデータストア2025にリンクおよびロード2020される。操作2020は、ソースデータベースシステム1905の更新に基づいて、ストレージシステムデータストア2025のデータを更新するために実行されるその後のロード操作を含み得る。ソースデータベースストレージシステム2005のストレージシステムデータストア2025内のデータは、ターゲットデータベースストレージシステム2010のトレージシステムデータストア2030に送信2015される。操作2015は、ストレージシステムデータストア内の全情報をコピーするコピー操作、バックアップ操作、またはストレージシステムデータストア2025の更新を、ストレージシステムデータストア2030に増加的にコピーする複製操作であり得る。
データベースの移動のシナリオでは、操作2015は、ストレージシステムデータストア2025のデータ全体をコピーし得る。複製のシナリオでは、ストレージシステムデータストア2025の変更が、ストレージシステムデータストア2030に定期的にコピーされ得る。ストレージシステムデータストア2030の変更は、リフレッシュ操作を利用してターゲットデータベースシステム1910にプロビジョニングされたVDBに適用され得る。ターゲットデータベースシステム1910による任意の変更がVDBになされると、その変更はストレージシステムデータストア2025に戻るように伝達され得る。
操作2030により、ストレージシステムデータストア2030に記憶されているデータベースを、ターゲットデータベースシステム1910が利用できるようになる。高可用性システムのシナリオでは、操作2030は、ストレージシステムデータストア2030からターゲットデータベースシステム1910へのVDBのプロビジョニングに対応し得る。災害復旧のシナリオでは、操作2030は、ターゲットデータベースシステム1910へのデータベースのエクスポートに対応し得る。図20に示すように、ソースデータベースストレージシステム2005が、VDBシステム2040にVDBをプロビジョニング2035し得る。ターゲットデータベースストレージシステム2010内のデータを使用して同等のVDBが作成され、VDBシステム2050にプロビジョニング2045され得る。ソースデータベースストレージシステム2005内のVDBに対するいかなる変更も、ストレージシステムデータストア2025に自動的に保存され、転送操作2015によりターゲットデータベースストレージシステム2010に伝達される。
一実施形態では、ターゲットデータベースストレージシステム2010は、操作2015前の、図3に示す全てのモジュールを有してもよい。別の実施形態では、図3に示すデータベースストレージシステムのモジュールを有さない機械が、ターゲットデータベースストレージシステム2010として用いるために提供され得る。例えば、ユーザは、必要なソフトウェアの全てはインストールされていない新しい機械を、データベースストレージシステム100として機能するように提供することができる。この実施形態では、操作2015は、データベースストレージシステムのモジュールを実現するプログラムコードを、ストレージシステムデータストア2025に記憶されているデータと共にターゲットマシンにコピーする。ターゲットマシンにコピーされたプログラムコードがインストールされ、実行用に用意される。それ故、ターゲットデータベースストレージシステム2010として用いられるように提供された機械が、データベースストレージシステム100のモジュールを実行するために準備される。ストレージシステムデータストア2025に記憶されているデータベースに関連するデータがストレージシステムデータストア2030にコピーされた後、ターゲットデータベースストレージシステム2010はVDBの関連操作、例えば、仮想データベースの作成、またはVDBシステム2050への仮想データベースのプロビジョニング2045を実行できる。
図21は図19に示すような従来実施されるワークフローシナリオを実行するための、データベースストレージシステム100に基づくシステム環境の別の実施形態を示す。ソースデータベースシステム1905は、データベースストレージシステム2105に直接リンクおよびロード2110される。図21に示すように、データベースストレージシステム2105は、ソースデータベースの記憶場所1955とは異なる場所1960または物理的位置において利用可能であるか、2つのシステムが同一の場所に配置されてもよい。ソースデータベースシステム1905のソースデータストア1935にたいする変更は、定期的にデータベースストレージシステム2105にロード2110される。データベースストレージシステム2105は、災害復旧に利用され得る、ソースデータストア1935のデータベースのコピーとして機能する。データベースストレージシステム2105に仮想データベースが作成され得、VDBシステム2150に利用可能なようにプロビジョニングされ得る。
一実施形態では、データベースストレージシステム2105はまた、それがソースデータベースシステム1905がダウンした場合に用いられ得る予備システムとして機能する、高可用性シナリオに用いられ得る。データベースストレージシステム2105は、VDBを作成して、作成したVDBをVDBシステム2150にプロビジョニング2115することにより、予備データベースとして機能する。対応するソースデータベースシステム1905が停止した場合には、VDBシステム2150は予備データベースとして機能し得る。ソースデータベースシステム1905が処理したデータベースリクエストは、ソースデータベースシステム1905が停止している間に、VDBシステム2150により処理することができる。ソースデータベースシステム1905がリクエストを直ぐに処理できる場合には、VDBシステム2150によってなされたVDBへの変更は、ソースストレージシステムにエクスポートされる。VDBシステム2150からソースデータベースシステム1935に変更が適用された後、データベースリクエストはソースデータベースシステム1905に転用されてもよい。
図22は図19に示すような従来実施されるワークフローシナリオを実行するための、データストレージシステムに基づくシステム環境の別の実施形態を示す。いくつかの企業では、ソースデータベースシステム1905からターゲットデータベースシステム1910にデータを複製する既存のシステムを備えている。それ故、図21に示すようにソースデータベースシステム1905から直接データベースストレージシステム2200にデータをリンクおよびロードする必要がない場合がある。図22に示すリンクおよびロード2265操作は、ソースデータベースシステム1905から情報がコピーされているターゲットデータベースシステム1910において利用可能な情報を用いて実行され得る。データベースストレージシステムからのデータのリンク操作およびローディングは、ソースデータベースシステム1905への負荷を伴うことがあるが、ターゲットデータベースシステム1910などのミラーリングされたシステムからの適切な情報を取得することにより回避され得る。これにより、データベースストレージシステム2200に必要な情報を提供している間、ソースストレージシステム1905には影響を及ぼさない。
データウェアハウスを管理するためのワークフロー
図23はデータベースに利用可能なデータを用いてデータウェアハウスおよびデータマートを作成するシステム環境示す。生産データベースシステム2305は、データストア2330が記憶した1つ以上のデータベース内の取引に基づく最新情報を含む。1つ以上の生産データベースシステム2305からの情報は、解析目的のために、操作可能データストア2310のデータストア2340に同化2380される。操作可能データストア2310内のデータは、抽出変換およびロード(ETL)システム2355によりさらに処理される2385。ETLシステム2355によって処理されたデータは、データウェアハウスシステム2315に送られる2375。ETLシステム2355は、処理のためにデータを一時的に記憶できる。ETLシステム2355が実行する処理により、データはデータウェアハウスシステム2315特有のレポートおよび解析操作に有用な特定の形式で、データウェアハウスシステム2315のデータストア2360に記憶される。データストア2360に記憶されるデータサブセットは、特定の目的用のためのデータサブセットの解析を意図して、データマートシステム2320のデータストア2365のストレージのためにコンピュータ処理2370され得る。データは、前述のいくつかのシステムのデータストアに記憶されているので、バックアップシステム2325を用いてバックアップ2350され得、バックアップデータストア2335に記憶され得る。前述の処理は、データが変化しない場合でも、異なるシステム間で同一データの複数のコピーを保持できる。そうでないと、データの記憶にはいくつかの異なるコンピュータシステムが用いられ、それにより資源の利用が非効率的となる。
図24は図23に示すような従来実施されるワークフローシナリオを実行するための、データベースストレージシステム100に基づくシステム環境の実施形態を示す。生産データベースシステム2305のデータストア2330内のデータベースは、データベースストレージシステム2400にリンクおよびロード2450される。最初のロード操作2450後のロード2450は、データストア2330内の対応するデータベースにおいて変更されたデータのみを転送する。仮想データベースを、操作可能データストア2310として用いるために、作成し、プロビジョニング2455することができる。ETLシステム2355は、操作可能データストア2310に関連するVDBから取得したデータを処理2385し、処理したデータをデータウェアハウスシステム2315に送る2375する。データウェアハウス2315のデータストア2360に記憶されているデータは、データベースストレージシステム2400にリンクおよびロード2460される。データベースストレージシステム2400はVDBを、データマートシステム2320に用いられるように作成し、プロビジョン2470できる。操作可能データストア2310、ETLシステム2355、およびデータマートシステム2320を含むシステムは、対応するデータベースを局所的に記憶する必要はなく、データベースを記憶するためにストレージシステムデータストア2490を利用できる。さらに、前述のワークフロー内の種々のデータベースのバックアップ処理は、バックアップシステム2325のデータストア2335にストレージシステムデータストア2490をバックアップ2465することにより達成できる。図18に示すバックアップのワークフローシナリオにおいて記述したように、図24に示すようなデータベースストレージシステム2400を用いて実行されるバックアップは、図23に示すような種々のシステムが実行する個々のバックアップよりも効率的となり得る。ストレージシステムデータストア2490のバックアップは効率的である。なぜならば、ストレージシステムデータストア2490がデータのコピーを効率的に記憶するため、バックアップするデータ量が大幅に減少し、さらには、単一のシステムからのデータの転送は、複数のシステムからのデータ転送よりも効率的であるからである。
コンピューティングマシン構築
図25は機械可読媒体からの命令を読み出し得、プロセッサ(またはコントローラ)によりその命令を実行し得る機械の実施形態の構成要素を示すブロック図である。特に、図25は本明細書に記述する任意の1つ以上の手法を機械に実行させるための命令2524(例えば、ソフトウェア)を実行し得るコンピュータシステム2500の例示の形態における機械の図表を示す。代替的な実施形態では、機械はスタンドアロンデバイスとして動作するか、あるいは他の機械に接続(例えば、ネットワーク接続)してもよい。ネットワーク配置では、機械はサーバ−クライアントネットワーク環境におけるサーバ機械またはクライアント機械として動作し得るか、ピアツーピア(または分散)ネットワーク環境におけるピア機械として動作し得る。
機械は、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、携帯電話、スマートフォン、ウェブアプライアンス、ネットワークルータ、スイッチもしくはブリッジ、またはその機械が取得し得る機能を指定する命令2524(順次又はそれ以外で)を実行可能な任意の機械であり得る。さらに、単一機械のみを示したが、「機械」という用語は、本明細書に記述した任意の1つ以上の手法を用いて命令2524を個別にまたは共同で実行する機械の任意の集合も含み得る。
例示のコンピュータシステム2500は、バス2508を通じて互いに通信するように構成されたプロセッサ2502(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、デジタルシグナルプロセッサ(DSP)、1つ以上の特定用途向け集積回路(ASIC)、1つ以上の無線周波数集積回路(RFIC)、またはこれらの任意の組み合わせ)、メインメモリ2504、およびスタティックメモリ2506を含む。コンピュータシステム2500は、画像表示装置2510(例えば、プラズマ表示パネル(PDP)、液晶表示装置(LCD)、プロジェクタ、またはブラウン管(CRT))をさらに含んでもよい。コンピュータシステム2500は、これもまたバス2508を通じて互いに通信するように構成された英数字入力デバイス2512(例えば、キーボード)、カーソル制御デバイス2514(例えば、マウス、トラックボール、ジョイスティック、運動センサ、または他のポインティング機器)、ストレージユニット2516、信号発生デバイス2518(例えば、スピーカ)、およびネットワークインターフェースデバイス2520をさらに含んでもよい。
ストレージユニット2516は、本明細書に記載された任意の1つ以上の手法または機能を具現化する命令2524(例えば、ソフトウェア)を記憶する機械可読媒体2522を含む。命令2524(例えば、ソフトウェア)は、コンピュータシステム2500によるその実行中、メインメモリ2504またはプロセッサ2502(例えば、プロセッサのキャッシュメモリ)に完全または少なくとも部分的に存在してもよく、メインメモリ2504およびプロセッサ2502が機械可読媒体を構成してもよい。命令2524(例えば、ソフトウェア)は、ネットワークインターフェースデバイス2520を通じて、ネットワーク2526上で送信または受信され得る。
例示の実施形態には単一媒体である機械可読媒体2522を示したが、「機械可読媒体」という用語が命令(例えば、命令2524)を記憶可能な単一媒体または複数の媒体(例えば、集中データベース、分散データベース、または関連するキャッシュおよびサーバ)を含むことは言うまでもない。「機械可読媒体」という用語もまた、機械が実行する命令(例えば、命令2524)を記憶でき、本明細書に開示する任意の1つ以上の手法を機械に実行させる任意の媒体を含むものとして理解される。「機械可読媒体」という用語は、限定されないが固体メモリ、光媒体、および磁気媒体形態のデータ保存場所を含む。
さらなる設定の考慮
本明細書全体を通して、複数の事例が、単一の事例として記述した構成要素、操作、または構造を実現してもよい。1つ以上の方法の個々の操作を別々の操作として示し、記述したが、1つ以上の個々の操作を同時に実行してもよく、操作は記述した順序に実行される必要はない。例示の構成における個々の構成要素として示した構造および機能は、組み合わせた構造または構成要素として実現することができる。同様に、単一の構成要素として示した構造および機能性を、個々の構成要素として実現してもよい。これらおよび他の変形、変更、追加および改善は本明細書の主題の範囲内である。
特定の実施形態を論理もしくは複数の構成要素、モジュール、または機構を含むものとして本明細書に記載した。モジュールはソフトウェアモジュール(例えば、機械可読媒体または伝送信号を具現化するコード)として構成してもよいし、ハードウェアモジュールとして構成してもよい。ハードウェアモジュールは特定の操作を実行可能な有形装置であり、特定の方法により構成または配置され得る。例示的な実施形態では、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)、またはコンピュータシステムの1つ以上のハードウェアモジュール(例えば、プロセッサまたはプロセッサの一群)は、本明細書に記載した特定の操作を実行するように動作するハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部)により構成され得る。
種々の実施形態では、ハードウェアモジュールは、機械的または電子的に実装されてもよい。例えば、ハードウェアモジュールは、特定の操作を実行するための、永久的に構成された専用回路または論理(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサ)を含み得る。ハードウェアモジュールはまた、特定の操作を実行するための、ソフトウェアにより一時的に構成された(例えば、汎用プロセッサまたは他のプログラマブルプロセッサに含有される)プログラマブル論理または回路を含み得る。専用および永久的に構成された回路、または一時的に構成された(例えば、ソフトウェアにより構成された)回路において、ハードウェアモジュールを機械的に実施するか否かは、費用および時間を考慮して決定され得ることが理解される。
それ故、「ハードウェアモジュール」という用語が、本明細書に記載した特定の操作を実行する特定の方法により動作する、物理的にかつ永久的に構成された(例えば、配線で接続された)、または一時的に構成された(例えば、プログラムされた)実在物である有体物を含有することが当然ながら理解される。本明細書に用いられる「ハードウェア実装モジュール」は、ハードウェアモジュールを意味する。ハードウェアモジュールが一時的に構成された(例えば、プログラムされた)実施形態を考慮すると、ハードウェアモジュール各々は、任意の一事例において後に構成または例示化される必要はない。例えば、ハードウェアモジュールがソフトウェアを用いて構成される汎用プロセッサを備えている場合には、汎用プロセッサは、様々な時間においてそれぞれが異なるハードウェアモジュールとして構成され得る。それ故、ソフトウェアはプロセッサを構成し、例えば、時間の一事例において特定のハードウェアモジュールを構成し、種々の時間の事例における種々のハードウェアモジュールを構成する。
ハードウェアモジュールは他のハードウェアモジュールに情報を送り、かつそれからの情報を受け取り得る。それ故、記述したハードウェアモジュールは通信可能に接続され得る。このようなハードウェアモジュールが複数同時に存在する場合には、ハードウェアモジュールを(例えば、適切な回路およびバスを通じて)接続する信号伝送を通じて通信が達成され得る。複数のハードウェアモジュールが様々な時間において構成、またはインスタンス化される実施形態では、このようなハードウェアモジュール間の通信は、例えば、ストレージを通じて、および複数のハードウェアモジュールがアクセスするメモリ構造内に情報を取得することによって達成される。例えば、1つのハードウェアモジュールが、操作を実行し、それが通信可能に接続するメモリデバイス内の操作の出力を記憶できる。さらなるハードウェアモジュールが、その後、メモリデバイスにアクセスして、記憶した出力を取得および処理できる。ハードウェアモジュールはさらに、入力または出力デバイスとの通信を起動し得、情報資源に対する動作を実行する(例えば、情報の収集)。
本明細書に記載した例示の方法における種々の操作は、少なくとも部分的に、(例えば、ソフトウェアにより)一時的に構成されたか、永久的に構成された1つ以上のプロセッサを利用して、関連操作を実行できる。一時的に構成されたか、永久的に構成されたかに関わらず、このようなプロセッサは、1つ以上の操作または機能を実行するように動作するプロセッサ実装モジュールを構成し得る。本明細書に参照するモジュールは、一部の例示的な実施形態では、プロセッサ実装モジュールを備えている。
同様に、本明細書に記載した方法は、少なくとも部分的にプロセッサにより実施される。例えば、方法の操作の少なくとも一部は、プロセッサまたはプロセッサ実装ハードウェアモジュールのいずれかにより実行され得る。操作の特定の動作は、1つ以上のプロセッサ間で分配され得、単一機械に存在するだけでなく、複数の機械にわたっても分配され得る。いくつかの例示的な実施形態では、1つ以上のプロセッサは(例えば、家庭環境もしくはオフィス環境内の位置、またはサーバファームとして)単一位置に配置されてもよいが、他の実施形態では、プロセッサは複数位置に配置されてもよい。
1つ以上のプロセッサはまた、「クラウドコンピュータ」環境内の関連操作の性能をサポートするように、または「サービス型ソフトウェア」(SaaS)として動作し得る。例えば、少なくとも一部の操作は、(プロセッサを含む機械の例として)コンピュータ群により実行され得る。これらの操作はネットワーク(例えば、インターネット)および1つ以上の適切なインターフェース(例えば、アプリケーションプログラムインターフェース)を通じてアクセス可能である。
操作の特定の動作は、1つ以上のプロセッサ間で分配され得、単一機械に存在するだけでなく、複数の機械にも分配される。いくつかの例示的な実施形態では、1つ以上のプロセッサまたはプロセッサ実装モジュールは、(例えば、家庭環境もしくはオフィス環境内の位置、またはサーバファームとして)単一の地理的位置に配置されてもよい。他の例示的な実施形態では、1つ以上のプロセッサまたはプロセッサ実装モジュールサは、複数の地理的位置にわたって割り当てられてもよい。
本明細書の一部は、機械メモリ(例えば、コンピュータメモリ)内のビットまたは2値デジタル信号として記憶されたデータの操作のアルゴリズムまたは象徴の観点から示される。これらのアルゴリズムまたは記号的表現は、それらの研究における本質を当業界の他の技術者に与えるために、データ処理分野の当業者が用いる技術の例として示される。本明細書に用いる「アルゴリズム」は、所望の結果を導く操作または類似の処理の首尾一貫したシーケンスである。この文脈では、アルゴリズムおよび操作は、物理量の物理的処置を伴う。通常、このような物理量は、必ずしもこれらに限らないが、機械による記憶、アクセス、転送、結合、比較、または他の処理を実行可能な電気、磁気、または光信号という形式であり得る。主に共通使用の理由から、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「数字」、「数詞」などの言葉を用いてこれらの信号を示すことが場合によっては好都合である。ただし、これらの言葉は、単に好都合な名称であり、適切な物理量に関連するものである。
他に明確に記載しない限り、「処理」、「計算」、「算出」、「決定」、「提示」、「表示」などの言葉を用いた本明細書の記述は、メモリ(例えば、揮発性メモリ、非揮発性メモリ、またはそれらの組み合わせ)、レジスタ、または情報を受け取り、記憶、送り、または表示する他の機械部品の1つ以上の物理量を示すデータ(例えば、電子、磁気、または光学)を操作または変換する機械(例えば、コンピュータ)の機能または処理を意味し得る。
本明細書に用いる「一実施形態」または「1つの実施形態」といった言い回しは、その実施形態との関連で記載された特定の要素、特徴、構造、または特性が、少なくとも一部の実施形態に含まれることを意味する。本明細書の様々な位置に記載する句「一実施形態では」は、全て同一の実施形態を必ずしも意味する訳ではない。
一部の実施形態は、「連結された」および「接続された」という表現、さらにはこれらの派生語を用いて記述され得る。これらが互いに同義語として意図されていないことが理解されることは言うまでもない。例えば、いくつかの実施形態で用いられる「接続された」という用語は、2以上の要素が互いに直接に物理または電気接触していることを意味し得る。別の例では、いくつかの実施形態は、2以上の要素が直接に物理または電気接触していることを示す「連結された」という用語を用いて記述され得る。しかし、「連結された」という用語は、2以上の要素が、互いに直接には接触していないが互いに共同動作または通信することも意味することがある。実施形態はこれらの文脈により限定されない。
本明細書に用いる「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」という用語またはこれらのあらゆる変形語は、包括的な含有を含むように意図される。例えば、要素の列挙を含む処理、方法、部品、または装置は、必ずしもこれらの要素のみに限定されず、明示的に列挙されてない、またはこのような処理、方法、部品、または装置に元々備えられている他の要素を含み得る。さらに、明確に逆に規定しない限り、「または」は含有を意味し、排他的な「または」は意味しない。例えば、条件「AまたはB」は、下記のいずれかの条件を満たす。すなわち、「Aが真であり(または、存在している)、かつBが偽である(または、存在していない)」、「Aが偽であり(または、存在していない)、かつBが真である(または、存在している)」、または「AおよびBが共に真である(または、存在している)」である。
また、本明細書における要素および構成要素の記述に、不定冠詞「a」または「an」を用いている。これは単に便宜上のためであり、本発明の範囲の一般的な意味を与えるためである。この記述は、「1つの」または「少なくとも1つの」を包含するように読まれるべきであり、また、単数は、それが複数を含意しないことが明らかでない限り、複数も包含する。
当業者は、本明細書読了後、ストレージマネージャに記憶される生産データベースの時点コピーから仮想データベースを作成するシステムおよび処理のための追加の代替構造および機能の設計を理解する。それ故、特定の実施形態およびアプリケーションを示し、記述したが、開示する実施形態が、本明細書に開示する正確な構造および構成要素に限定されないことが理解される。本明細書に開示する方法および装置の配置、操作、および詳細に関する種々の変更、変化、および変形が、添付の請求項に定義された精神および範囲から逸脱することなく、達成され得ることは当業者に明らかである。

Claims (57)

  1. 仮想データベースシステムを作成する方法であって、
    複数のデータベースブロックを備えているソースデータベースの異なる時点のコピーである種々の時点コピーを受け取ることと、
    前記ソースデータベースの複数の種々の時点コピーについての複数のデータベースブロックをストレージシステムに記憶することであって、該記憶した複数のデータベースブロックの少なくとも一部が前記ソースデータベースの複数の時点コピーに関連していることと、
    1つの仮想データベースのために、複数ファイルからなるファイルセットを作成することであって、該ファイルセット内の各ファイルが、前記ソースデータベースの1つの時点コピーに関連した前記ストレージシステム内の前記データベースブロックにそれぞれリンクされていることと、
    前記仮想データベースに関連する前記ファイルセットを、該ファイルセットに対する読み出し及び書き込みが可能なようにデータベースサーバにマウントすること、
    を含む方法。
  2. 前記仮想データベースに関連する前記ファイルセット内のデータの読み出しリクエストを、前記データベースサーバから受信することと、
    前記ファイルセット内のファイルに関連する少なくとも1つのデータベースブロック内のデータにアクセスすることと、
    前記読み出しリクエストに応答して前記データを送信することと、をさらに含む、請求項1に記載の方法。
  3. 前記ソースデータベースの時点コピーを受け取るためのリクエストを送信することをさらに含む、請求項1に記載の方法。
  4. 前記ソースデータベースは生産データベースのストレージレベルのスナップショットである、請求項1に記載の方法。
  5. 前記ソースデータベースは生産データベースを複製する予備データベースである、請求項1に記載の方法。
  6. 前記仮想データベースは第1の仮想データベースであり、前記ソースデータベースは第2の仮想データベースである、請求項1に記載の方法。
  7. 前記ソースデータベースと、前記ソースデータベースの時点コピーを管理するための既定のポリシーとを関連付けることをさらに含む、請求項1に記載の方法。
  8. 前記既定のポリシーは、前記ソースデータベースの時点コピーを受け取るスケジュールを指定する、請求項7に記載の方法。
  9. 前記スケジュールは、前記ソースデータベースの時点コピーを受け取る暦日を指定する、請求項8に記載の方法。
  10. 前記既定のポリシーは、保存期間後に前記時点コピーを消去するスケジュールを指定する、請求項7に記載の方法。
  11. 前記既定のポリシーは、前記ストレージシステムの利用可能スペースに基づいて、前記時点コピーの消去を指定する、請求項7に記載の方法。
  12. 前記ストレージシステムは、バーチャルマシンにおいて稼働する、請求項1に記載の方法。
  13. 前記ソースデータベースの時点コピーを送信するように構成されたプログラムコードを、前記ソースデータベースに関連する生産データベースシステムに送信することをさらに含む、請求項1に記載の方法。
  14. 以前の時点コピー受け取り後の前記ソースデータベースにおける変化を示す取引ログを表す情報を、前記ソースデータベースから受け取ることをさらに含む、請求項1に記載の方法。
  15. 取引ログを表す情報の以前の受け取り後の前記ソースデータベースにおける変化を示す取引ログを表す情報を、前記ソースデータベースから受け取ることをさらに含む、請求項1に記載の方法。
  16. 既定のポリシーに基づいて前記ソースデータベースに関連する取引ログを管理することをさらに含む、請求項15に記載の方法。
  17. 前記既定のポリシーは、前記ソースデータベースの取引ログを受け取るスケジュールを指定する、請求項15に記載の方法。
  18. 前記スケジュールは、前記ソースデータベースの取引ログを受け取る暦日を指定する、請求項8に記載の方法。
  19. 前記既定のポリシーは、保存期間後に前記取引ログを消去するスケジュールを指定する、請求項7に記載の方法。
  20. 前記既定のポリシーは、前記ストレージシステムの利用可能スペースに基づいて、前記取引ログの消去を指定する、請求項7に記載の方法。
  21. 前記データベースサーバは第1のデータベースサーバであり、前記ソースデータベースは第2のデータベースサーバであり、前記第1のデータベースサーバのバージョンは前記第2のデータベースサーバのバージョンとは異なる、請求項1に記載の方法。
  22. 前記データベースサーバは第1のデータベースサーバであり、前記ソースデータベースは第2のデータベースサーバであり、前記第1のデータベースサーバは、前記第2のデータベースサーバが稼働しているするオペレーティングシステムとは異なるオペレーティングシステムで稼働している、請求項1に記載の方法。
  23. 前記ファイルセットは第1のファイルセットであり、前記仮想データベースは第1の仮想データベースであり、前記データベースサーバは第1のデータベースサーバであり、前記方法は、
    前記ソースデータベースの時点コピーに関連する、前記ストレージシステムにおける前記データベースブロックにその各ファイルがリンクされ、第2の仮想データベースのための第2のファイルセットを作成することと、
    前記第2の仮想データベースに関連する前記第2のファイルセットを、前記第2のファイルセットからの読み出し、およびそれへの書き込みが可能になるように前記第2のデータベースサーバにマウントすることと、をさらに含む、請求項1に記載の方法。
  24. 前記第1のファイルセットに関連する前記記憶したデータベースブロックの少なくとも一部は、前記第2のファイルセットにも関連する、請求項23に記載の方法。
  25. 前記第1の仮想データベースへのデータの書き込みリクエストを、前記データベースサーバから受信することと、
    前記第1の仮想データベースに関連する前記第1のファイルセット内のファイルに関連するデータベースブロックを特定することと、をさらに含む、請求項23に記載の方法。
  26. 前記ファイルセットは第1のファイルセットであり、前記仮想データベースは第1の仮想データベースであり、前記データベースサーバは第1のデータベースサーバであり、前記時点コピーは第1の時点コピーであり、前記方法は、
    前記ソースデータベースの第2の時点コピーに関連する、前記ストレージシステムにおける前記データベースブロックにその各ファイルがリンクされている、第2の仮想データベースに関する第2のファイルセットを作成することと、
    前記第2の仮想データベースに関連する前記第2のファイルセットを、前記第2のファイルセットからの読み出し、およびそれへの書き込みが可能になるように第2のデータベースサーバにマウントすることと、をさらに含む、請求項1に記載の方法。
  27. 前記第1のファイルセットに関連する前記記憶したデータベースブロックの少なくとも一部は、前記第2のファイルセットにも関連し、
    前記第2の仮想データベースに関連する前記第2のファイルセットにも関連する前記データベースブロックに応答して、前記データベースブロックをコピーすることと、
    前記コピーしたデータベースブロックと前記ファイルとをリンクして、前記データを前記コピーしたデータベースブロックに書き込むことと、をさらに含む、請求項25に記載の方法。
  28. 前記時点コピーの受け取りは、前記ソースデータベースに関連するデータベースブロックが提供するデータを含む、前記時点コピーに対応するデータストリームの受け取りを含む、請求項1に記載の方法。
  29. 前記受け取ったデータストリームを解析して、データベースブロックを特定することと、
    前記特定したデータベースブロックを記憶することと、をさらに含む、請求項28に記載の方法。
  30. 前記第1の時点コピーに対応するデータストリームは、以前の時点コピーの受け取り後に変化した前記ソースデータベース内のデータベースブロックを含む、請求項28に記載の方法。
  31. 前記受け取ったデータストリームを解析してデータベースブロックを特定することと、前記データストリームを処理するために、前記データベースブロックのメタデータを解析して前記データベースブロックの全長を決定することと、をさらに含む、請求項28に記載の方法。
  32. 前記受け取ったデータストリームを解析してデータベースブロックを特定することと、前記データベースブロックのメタデータを解析して前記データベースブロックを記憶するか否かを決定することと、をさらに含む、請求項28に記載の方法。
  33. 前記受け取ったデータストリームを解析してデータベースブロックを特定することと、一時データベースブロック、空データベースブロック、または前記ソースデータベースの時点コピーの以前の取得後から変化しなかったデータベースブロックのいずれかである前記データベースブロックを記憶しないことを決定することと、をさらに含む、請求項28に記載の方法。
  34. 階層メモリストレージデバイス内に前記取引ログを表す前記情報を記憶することをさらに含む、請求項15に記載の方法。
  35. 前記ファイルセットのマウンティングは、ストレージプロトコルに依存しない、請求項1に記載の方法。
  36. 前記ストレージシステムに記憶する前に、前記データベースブロックを圧縮することをさらに含む、請求項1に記載の方法。
  37. 前記ソースデータベースは、生産データベースの一部である、請求項1に記載の方法。
  38. 前記生産データベースの前記一部は、テーブルスペースを備えている、請求項37に記載の方法。
  39. 前記生産データベースの前記一部は、データベーステーブルを少なくとも備えている、請求項37に記載の方法。
  40. 前記ファイルセットにリンクされている前記データベースブロックは、前記ソースデータベースの一部を備えている、請求項1に記載の方法。
  41. 前記ファイルセットにリンクされている前記データベースブロックは、前記ソースデータベースに関連するデータベーステーブルを少なくとも備えている、請求項1に記載の方法。
  42. 前記仮想データベースは、全ての情報にアクセス可能な権限を有する仮想データベースである、請求項1に記載の方法。
  43. 前記仮想データベースは、秘密情報ではないと見なされるサブセット情報にアクセス可能な、権限を有さない仮想データベースである、請求項1に記載の方法。
  44. 前記仮想データベースは、秘密情報を隠す、権限を有さない仮想データベースである、請求項43に記載の方法。
  45. 時点コピーとブックマークトークンとを関連付けることと、
    前記ブックマークトークンを指定して仮想データベースの作成に用いられる、前記ソースデータベースの前記時点コピーを指定することと、をさらに含む、請求項1に記載の方法。
  46. 前記ブックマークトークンを記憶することをさらに含む、請求項44に記載の方法。
  47. 前記仮想データベースと、所定の権限を有するユーザへの情報のアクセスを指定する1つ以上の権限とを関連づけることをさらに含む、請求項1に記載の方法。
  48. 権限は、ポリシー管理を許可する管理者権限、VDBのプロビジョニングを許可する所有者権限、およびVDBに関連する情報の確認を許可する監査員権限のいずれかである、請求項1に記載の方法。
  49. 仮想データベースを作成するためのコンピュータ実装システムであって、
    コンピュータプロセッサと、前記コンピュータプロセッサを実行するように構成されたコンピュータプログラムモジュールを記憶するコンピュータ可読ストレージ媒体とを備えており、前記コンピュータプログラムモジュールが、
    複数のデータベースブロックを備えているソースデータベースの異なる時点のコピーである種々の時点コピーを受け取るように構成された時点コピーマネージャモジュールと、
    前記ソースデータベースの複数の種々の時点コピーについての複数のデータベースブロックをストレージシステムに記憶するように構成されたストレージ割当マネージャモジュールであって、該記憶した複数のデータベースブロックの少なくとも一部が前記ソースデータベースの複数の時点コピーに関連している、前記ストレージ割当マネージャモジュールと、
    1つの仮想データベースのために、複数ファイルからなるファイルセットを作成するように構成された仮想データベースマネージャモジュールであって、該ファイルセット内の各ファイルが、前記ソースデータベースの1つの時点コピーに関連した前記ストレージシステム内の前記データベースブロックにそれぞれリンクされている、前記仮想データベースマネージャモジュールと、
    前記仮想データベースに関連する前記ファイルセットを、該ファイルセットに対する読み出し及び書き込みが可能なようにデータベースサーバにマウントするように構成されたファイル共有マネージャモジュールと、
    を備えるシステム。
  50. 前記仮想データベースマネージャモジュールは、
    前記仮想データベースに関連する前記ファイルセット内のデータの読み出しリクエストを、前記データベースサーバから受信し、
    前記ファイルセット内のファイルに関連する少なくとも1つのデータベースブロック内のデータにアクセスし、かつ、
    前記読み出しリクエストに応答して前記データを送信するようにさらに構成されている、請求項49に記載のシステム。
  51. 前記仮想データベースマネージャモジュールは、
    前記第1の仮想データベースへのデータの書き込みリクエストを、前記データベースサーバから受け取り、
    前記第1の仮想データベースに関連する前記第1のファイルセット内のファイルに関連するデータベースブロックを特定し、
    第2の仮想データベースに関連する第2のファイルセットにも関連する前記データベースブロックに応答して、前記データベースブロックをコピーし、かつ、
    前記コピーしたデータベースブロックと前記ファイルとをリンクして、前記データを前記コピーしたデータベースブロックに書き込むようにさらに構成されている、請求項49に記載のシステム。
  52. 前記時点コピーマネージャモジュールは、前記ソースデータベースの時点コピーを受け取るためのリクエストを送信するようにさらに構成されている、請求項49に記載のシステム。
  53. 前記時点コピーマネージャモジュールは、前記ソースデータベースのデータベースブロックが提供するデータを含むデータストリームを含む時点コピーを受け取る、請求項49に記載のシステム。
  54. 前記時点コピーマネージャモジュールは、前記受け取ったデータストリームを解析して記憶するデータベースブロックを特定するようにさらに構成されている、請求項49に記載のシステム。
  55. 前記データストリームは、以前の時点コピーの受け取り後に変化した前記ソースデータベース内のデータベースブロックを含む、請求項49に記載のシステム。
  56. 仮想データベースを作成するためのコンピュータ実行可能コードを記憶するコンピュータ可読ストレージ媒体を有するコンピュータプログラム製品であって、前記コードは、
    複数のデータベースブロックを備えているソースデータベースの異なる時点のコピーである種々の時点コピーを受け取るように構成された時点コピーマネージャモジュールと、
    前記ソースデータベースの複数の種々の時点コピーについての複数のデータベースブロックをストレージシステムに記憶するように構成されたストレージ割当マネージャモジュールであって、該記憶した複数のデータベースブロックの少なくとも一部が前記ソースデータベースの複数の時点コピーに関連している、前記ストレージ割当マネージャモジュールと、
    1つの仮想データベースのために、複数ファイルからなるファイルセットを作成するように構成された仮想データベースマネージャモジュールであって、該ファイルセット内の各ファイルが、前記ソースデータベースの1つの時点コピーに関連した前記ストレージシステム内の前記データベースブロックにそれぞれリンクされている、前記仮想データベースマネージャモジュールと、
    前記仮想データベースに関連する前記ファイルセットを、該ファイルセットに対する読み出し及び書き込みが可能なようにデータベースサーバにマウントするように構成されたファイル共有マネージャモジュールと、備えている、コンピュータプログラム製品。
  57. 仮想データベースシステムを作成する方法であって、
    その各々が複数のデータベースブロックを備えている複数のソースデータベースの時点コピーを受け取ることと、
    前記複数のソースデータベースの前記時点コピーについての複数のデータベースブロックをストレージシステムに記憶することであって、該記憶した複数のデータベースブロックの少なくとも一部が前記複数のソースデータベース内の1つのソースデータベースの複数の時点コピーに関連していることと、
    1つの仮想データベースのために、複数ファイルからなるファイルセットを作成することであって、該ファイルセット内の各ファイルが、前記複数のソースデータベースの前記時点コピーに関連した前記ストレージシステム内の前記データベースブロックにそれぞれリンクされていることと、
    前記仮想データベースに関連する前記ファイルセットを、該ファイルセットに対する読み出し及び書き込みが可能なようにデータベースサーバにマウントすること、
    を含む方法。
JP2012535259A 2009-10-21 2010-10-15 仮想データベースシステム Active JP5591938B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/603,541 2009-10-21
US12/603,541 US8150808B2 (en) 2009-10-21 2009-10-21 Virtual database system
PCT/US2010/052960 WO2011049839A1 (en) 2009-10-21 2010-10-15 Virtual database system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014155597A Division JP5931973B2 (ja) 2009-10-21 2014-07-30 仮想データベースシステム

Publications (3)

Publication Number Publication Date
JP2013508857A true JP2013508857A (ja) 2013-03-07
JP2013508857A5 JP2013508857A5 (ja) 2013-12-05
JP5591938B2 JP5591938B2 (ja) 2014-09-17

Family

ID=43880069

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012535259A Active JP5591938B2 (ja) 2009-10-21 2010-10-15 仮想データベースシステム
JP2014155597A Active JP5931973B2 (ja) 2009-10-21 2014-07-30 仮想データベースシステム

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2014155597A Active JP5931973B2 (ja) 2009-10-21 2014-07-30 仮想データベースシステム

Country Status (8)

Country Link
US (4) US8150808B2 (ja)
EP (1) EP2491485B1 (ja)
JP (2) JP5591938B2 (ja)
KR (1) KR101617339B1 (ja)
CN (1) CN102667711B (ja)
AU (1) AU2010310827B2 (ja)
CA (1) CA2778415C (ja)
WO (1) WO2011049839A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016526743A (ja) * 2013-07-09 2016-09-05 デルフィクス コーポレーション 仮想データベースの巻き戻し
WO2017130305A1 (ja) * 2016-01-27 2017-08-03 株式会社日立製作所 コンピュータシステム及びデータ量削減方法

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152692B2 (en) 2008-12-03 2018-12-11 International Business Machines Corporation Governing exposing services in a service model
US8060792B2 (en) 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
US8307003B1 (en) 2009-03-31 2012-11-06 Amazon Technologies, Inc. Self-service control environment
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US10120767B2 (en) * 2009-07-15 2018-11-06 Idera, Inc. System, method, and computer program product for creating a virtual database
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8335765B2 (en) 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US9110919B2 (en) * 2009-10-30 2015-08-18 Symantec Corporation Method for quickly identifying data residing on a volume in a multivolume file system
US8315977B2 (en) * 2010-02-22 2012-11-20 Netflix, Inc. Data synchronization between a data center environment and a cloud computing environment
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US20120066146A1 (en) * 2010-09-15 2012-03-15 International Business Machines Corporation Automating A Governance Process Of Investigating Service Reuse In A Governed SOA
US8769483B2 (en) 2010-09-15 2014-07-01 International Business Machines Corporation Automating a governance process of optimizing a portfolio of services in a governed SOA
US8380845B2 (en) * 2010-10-08 2013-02-19 Microsoft Corporation Providing a monitoring service in a cloud-based computing environment
US8959219B2 (en) 2010-10-18 2015-02-17 Microsoft Technology Licensing, Llc Dynamic rerouting of service requests between service endpoints for web services in a composite service
US8874787B2 (en) 2010-10-20 2014-10-28 Microsoft Corporation Optimized consumption of third-party web services in a composite service
US20120116840A1 (en) * 2010-11-10 2012-05-10 Omer Alon Method and apparatus for marketing management
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US8689181B2 (en) 2010-11-23 2014-04-01 Axeda Corporation Scripting web services
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US9104803B2 (en) * 2011-01-03 2015-08-11 Paypal, Inc. On-demand software test environment generation
US9053184B2 (en) * 2011-04-14 2015-06-09 International Business Machines Corporation On-demand generation of correlated collections of mashable data from distributed, non-homogeneous data sources
US9037564B2 (en) 2011-04-29 2015-05-19 Stephen Lesavich Method and system for electronic content storage and retrieval with galois fields on cloud computing networks
US9361479B2 (en) 2011-04-29 2016-06-07 Stephen Lesavich Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks
US9569771B2 (en) 2011-04-29 2017-02-14 Stephen Lesavich Method and system for storage and retrieval of blockchain blocks using galois fields
US9137250B2 (en) 2011-04-29 2015-09-15 Stephen Lesavich Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks
US8671308B2 (en) 2011-05-02 2014-03-11 International Business Machines Corporation Optimizing disaster recovery systems during takeover operations
US8522068B2 (en) * 2011-05-02 2013-08-27 International Business Machines Corporation Coordinated disaster recovery production takeover operations
US8452723B2 (en) * 2011-05-05 2013-05-28 Business Objects Software Ltd. Dataset previews for ETL transforms
US8874863B2 (en) 2011-08-01 2014-10-28 Actifio, Inc. Data replication system
US8949197B2 (en) 2011-10-31 2015-02-03 Oracle International Corporation Virtual full backups
CN102385628B (zh) * 2011-11-14 2015-05-13 北京锐安科技有限公司 一种基于jdbc的数据分布式处理方法
US9152461B1 (en) 2011-12-20 2015-10-06 Amazon Technologies, Inc. Management of computing devices processing workflow stages of a resource dependent workflow
US9152460B1 (en) 2011-12-20 2015-10-06 Amazon Technologies, Inc. Management of computing devices processing workflow stages of a resource dependent workflow
US9128761B1 (en) 2011-12-20 2015-09-08 Amazon Technologies, Inc. Management of computing devices processing workflow stages of resource dependent workflow
US9158583B1 (en) 2011-12-20 2015-10-13 Amazon Technologies, Inc. Management of computing devices processing workflow stages of a resource dependent workflow
US8656002B1 (en) * 2011-12-20 2014-02-18 Amazon Technologies, Inc. Managing resource dependent workflows
US8788663B1 (en) 2011-12-20 2014-07-22 Amazon Technologies, Inc. Managing resource dependent workflows
US8738775B1 (en) 2011-12-20 2014-05-27 Amazon Technologies, Inc. Managing resource dependent workflows
US8856082B2 (en) 2012-05-23 2014-10-07 International Business Machines Corporation Policy based population of genealogical archive data
AU2013277351A1 (en) 2012-06-18 2015-01-22 Actifio, Inc. Enhanced data management virtualization system
US10635674B2 (en) 2012-09-28 2020-04-28 Oracle International Corporation Migrating a pluggable database between database server instances with minimal impact to performance
US10915549B2 (en) * 2012-09-28 2021-02-09 Oracle International Corporation Techniques for keeping a copy of a pluggable database up to date with its source pluggable database in read-write mode
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US10346369B2 (en) * 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
US9026553B2 (en) * 2012-11-29 2015-05-05 Unisys Corporation Data expanse viewer for database systems
US9501501B2 (en) * 2013-03-15 2016-11-22 Amazon Technologies, Inc. Log record management
CN103226501B (zh) * 2013-05-08 2015-11-18 中国工商银行股份有限公司 一种数据库的逻辑备份方法以及逻辑备份系统
JP2016524220A (ja) 2013-05-14 2016-08-12 アクテフィオ,インク. 効率的なデータ複製及びガベージコレクション予測
CN104166619B (zh) * 2013-05-20 2017-12-15 腾讯科技(深圳)有限公司 应用程序的性能测试方法及终端
CN104252452B (zh) * 2013-06-25 2019-03-15 腾讯科技(深圳)有限公司 数据管理的方法及装置
US9436556B2 (en) * 2013-07-09 2016-09-06 Delphix Corp. Customizable storage system for virtual databases
US9747311B2 (en) * 2013-07-09 2017-08-29 Oracle International Corporation Solution to generate a scriptset for an automated database migration
US10108685B2 (en) 2013-07-09 2018-10-23 Delphix Corp. Remote provisioning of virtual databases
CN103617161A (zh) * 2013-09-26 2014-03-05 金蝶软件(中国)有限公司 一种针对saas模式的数据存储方法和装置
WO2015074033A1 (en) 2013-11-18 2015-05-21 Madhav Mutalik Copy data techniques
US9436455B2 (en) 2014-01-06 2016-09-06 Apple Inc. Logging operating system updates of a secure element of an electronic device
US9483249B2 (en) 2014-01-06 2016-11-01 Apple Inc. On-board applet migration
US9961011B2 (en) 2014-01-21 2018-05-01 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US8832027B1 (en) * 2014-03-28 2014-09-09 Storagecraft Technology Corporation Change tracking between snapshots of a source storage
US10037204B2 (en) 2014-04-22 2018-07-31 Delphix Corp. Version control of applications
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
WO2015195834A1 (en) 2014-06-17 2015-12-23 Rangasamy Govind Resiliency director
US9934014B2 (en) 2014-08-22 2018-04-03 Apple Inc. Automatic purposed-application creation
US10013313B2 (en) 2014-09-16 2018-07-03 Actifio, Inc. Integrated database and log backup
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
US11188427B2 (en) * 2014-09-26 2021-11-30 Oracle International Corporation System and method for transaction recovery in a multitenant application server environment
US10445187B2 (en) 2014-12-12 2019-10-15 Actifio, Inc. Searching and indexing of backup data sets
WO2016115135A1 (en) 2015-01-12 2016-07-21 Xiangdong Zhang Disk group based backup
US9600193B2 (en) 2015-02-04 2017-03-21 Delphix Corporation Replicating snapshots from a source storage system to a target storage system
US10083196B2 (en) * 2015-02-04 2018-09-25 Delphix Corporation Creating secure virtual databases storing masked data
CN105991565B (zh) 2015-02-05 2019-01-25 阿里巴巴集团控股有限公司 读写分离的方法、系统和数据库代理服务器
US10255302B1 (en) 2015-02-27 2019-04-09 Jasmin Cosic Systems, methods, apparatuses, and/or interfaces for associative management of data and inference of electronic resources
US9990366B2 (en) * 2015-03-13 2018-06-05 Delphix Corporation Virtual partitions in virtual databases
US10884869B2 (en) * 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US9923908B2 (en) * 2015-04-29 2018-03-20 International Business Machines Corporation Data protection in a networked computing environment
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
US10180954B2 (en) 2015-05-29 2019-01-15 Nuodb, Inc. Disconnected operation within distributed database systems
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10558480B2 (en) * 2015-09-10 2020-02-11 Veritas Technologies Llc Optimizing access to production data
CN106557469B (zh) * 2015-09-24 2020-11-20 创新先进技术有限公司 一种处理数据仓库中数据的方法及装置
US10482004B2 (en) * 2015-10-16 2019-11-19 Successfactors, Inc. Test data framework
US11068437B2 (en) 2015-10-23 2021-07-20 Oracle Interntional Corporation Periodic snapshots of a pluggable database in a container database
US10430434B2 (en) 2016-01-20 2019-10-01 Delphix Corporation Managing transformed snapshots in a storage system
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
US9864933B1 (en) 2016-08-23 2018-01-09 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using visual surrounding for autonomous object operation
US10241896B2 (en) * 2016-11-08 2019-03-26 Salesforce, Inc. Formation and manipulation of test data in a database system
US10607134B1 (en) 2016-12-19 2020-03-31 Jasmin Cosic Artificially intelligent systems, devices, and methods for learning and/or using an avatar's circumstances for autonomous avatar operation
US10528586B2 (en) * 2016-12-20 2020-01-07 International Business Machines Corporation Database process with virtual nodes
US10171487B2 (en) 2017-02-15 2019-01-01 International Business Machines Corporation Generating a virtual database to test data security of a real database
US10922296B2 (en) * 2017-03-01 2021-02-16 Sap Se In-memory row storage durability
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
CN107193910A (zh) * 2017-05-14 2017-09-22 四川盛世天成信息技术有限公司 一种应用于数据安全类产品的数据库防篡改方法及系统
US11157511B2 (en) * 2017-07-19 2021-10-26 Sap Se Physical replication of database
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
US11386058B2 (en) 2017-09-29 2022-07-12 Oracle International Corporation Rule-based autonomous database cloud service framework
US11327932B2 (en) 2017-09-30 2022-05-10 Oracle International Corporation Autonomous multitenant database cloud service framework
US10564637B2 (en) 2017-10-05 2020-02-18 Honeywell International Inc. Wireless e-signoff system
US10402731B1 (en) 2017-12-15 2019-09-03 Jasmin Cosic Machine learning for computer generated objects and/or applications
CN108345651A (zh) * 2018-01-22 2018-07-31 广州欧赛斯信息科技有限公司 一种实现互联互通的数据虚拟化的数据集成系统和方法
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
US11860743B1 (en) * 2018-11-27 2024-01-02 Amazon Technologies, Inc. Database operational compatibility safeguards
US11372991B1 (en) 2018-11-27 2022-06-28 Amazon Technologies, Inc. Database operational continuity
US11086840B2 (en) 2018-12-07 2021-08-10 Snowflake Inc. Transactional streaming of change tracking data
USD886143S1 (en) 2018-12-14 2020-06-02 Nutanix, Inc. Display screen or portion thereof with a user interface for database time-machine
US10817157B2 (en) 2018-12-20 2020-10-27 Nutanix, Inc. User interface for database management services
CN109656929B (zh) * 2018-12-25 2023-06-02 四川效率源信息安全技术股份有限公司 一种雕复关系型数据库文件的方法及装置
US11816066B2 (en) 2018-12-27 2023-11-14 Nutanix, Inc. System and method for protecting databases in a hyperconverged infrastructure system
US11010336B2 (en) 2018-12-27 2021-05-18 Nutanix, Inc. System and method for provisioning databases in a hyperconverged infrastructure system
US11561999B2 (en) * 2019-01-31 2023-01-24 Rubrik, Inc. Database recovery time objective optimization with synthetic snapshots
CN112231324B (zh) * 2019-06-26 2023-03-24 金篆信科有限责任公司 一种实现增量数据比对的系统及方法
CA3169635A1 (en) 2020-02-04 2021-08-12 Grav1Ty Inc. Selective synchronization of database objects
US11604705B2 (en) 2020-08-14 2023-03-14 Nutanix, Inc. System and method for cloning as SQL server AG databases in a hyperconverged system
US11907167B2 (en) 2020-08-28 2024-02-20 Nutanix, Inc. Multi-cluster database management services
US11640340B2 (en) 2020-10-20 2023-05-02 Nutanix, Inc. System and method for backing up highly available source databases in a hyperconverged system
CN112380058A (zh) * 2020-11-12 2021-02-19 上海上讯信息技术股份有限公司 文件恢复方法及设备
US11604806B2 (en) 2020-12-28 2023-03-14 Nutanix, Inc. System and method for highly available database service
US11687564B2 (en) * 2021-02-24 2023-06-27 Delphix Corp. Continuous real-time masked database replication
US11892918B2 (en) 2021-03-22 2024-02-06 Nutanix, Inc. System and method for availability group database patching
US20220398232A1 (en) * 2021-06-14 2022-12-15 Microsoft Technology Licensing, Llc Versioned metadata using virtual databases
US11803368B2 (en) 2021-10-01 2023-10-31 Nutanix, Inc. Network learning to control delivery of updates

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110218A (ja) * 2002-09-17 2004-04-08 Hitachi Ltd Dbms向け仮想ボリューム作成・管理方法
JP2009530756A (ja) * 2006-03-20 2009-08-27 イーエムシー コーポレイション 高効率ポータブルアーカイブ

Family Cites Families (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853843A (en) 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US6970434B1 (en) 1995-06-07 2005-11-29 Broadcom Corporation Hierarchical communication system providing intelligent data, program and processing migration
US5680618A (en) * 1993-05-26 1997-10-21 Borland International, Inc. Driver query and substitution for format independent native data access
DK0702815T3 (da) 1993-06-03 2000-12-18 Network Appliance Inc Opsætning af et filsystem til skrivning på et hvilket som helst sted
US5680608A (en) 1995-02-06 1997-10-21 International Business Machines Corporation Method and system for avoiding blocking in a data processing system having a sort-merge network
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5842222A (en) 1996-10-04 1998-11-24 Taiwan Semiconductor Manufacturing Company, Ltd. Production information system enhanced for availability
US6304882B1 (en) 1998-05-05 2001-10-16 Informix Software, Inc. Data replication system and method
JP2000047919A (ja) 1998-07-30 2000-02-18 Hitachi Ltd 仮想データベースレプリケーションシステム
DE69924057T2 (de) 1998-07-31 2006-04-13 Alcatel Verfahren, Ablauffolgesteuerung, intelligenter Pufferspeicher, Prozessor und Telekommunikationssystem zum Verteilen verfügbahrer Bandbreite
US6771595B1 (en) 1999-08-31 2004-08-03 Intel Corporation Apparatus and method for dynamic resource allocation in a network environment
US7197491B1 (en) * 1999-09-21 2007-03-27 International Business Machines Corporation Architecture and implementation of a dynamic RMI server configuration hierarchy to support federated search and update across heterogeneous datastores
US6963910B1 (en) 2000-03-03 2005-11-08 International Business Machines Corporation Graphical user interface for creating assets
US7117259B1 (en) 2000-03-03 2006-10-03 International Business Machines Corporation Server time window for multiple selectable servers in a graphical user interface
US6557012B1 (en) 2000-04-22 2003-04-29 Oracle Corp System and method of refreshing and posting data between versions of a database table
US6523036B1 (en) 2000-08-01 2003-02-18 Dantz Development Corporation Internet database system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US7512673B2 (en) 2001-01-11 2009-03-31 Attune Systems, Inc. Rule based aggregation of files and transactions in a switched file system
US7310653B2 (en) * 2001-04-02 2007-12-18 Siebel Systems, Inc. Method, system, and product for maintaining software objects during database upgrade
US20020143764A1 (en) * 2001-04-03 2002-10-03 Martin Andrew R. Data management system and method for intercepting and changing database instructions between a database back end and an application front end
ATE260487T1 (de) 2001-05-17 2004-03-15 Peter Pressmar Virtuelle datenbank heterogener datenstrukturen
US6829617B2 (en) 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US7373364B1 (en) 2002-03-05 2008-05-13 Network Appliance, Inc. System and method for creating a point-in-time restoration of a database file
US7225204B2 (en) 2002-03-19 2007-05-29 Network Appliance, Inc. System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
JP2003316522A (ja) * 2002-04-26 2003-11-07 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7107385B2 (en) 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US6981114B1 (en) * 2002-10-16 2005-12-27 Veritas Operating Corporation Snapshot reconstruction from an existing snapshot and one or more modification logs
US7243093B2 (en) * 2002-11-27 2007-07-10 International Business Machines Corporation Federated query management
US6883083B1 (en) 2002-12-20 2005-04-19 Veritas Operating Corporation System and method for maintaining and accessing information regarding virtual storage devices
US7787492B2 (en) 2003-01-14 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Resource allocation management
US7809693B2 (en) 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7457982B2 (en) 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
AU2004246432A1 (en) 2003-05-14 2004-12-16 Gautam Dharamdas Goradia Interactive system for building, organising, and sharing one's own databank of questions and answers in a variety of questioning formats, on any subject in one or more languages
US7539748B2 (en) 2003-05-16 2009-05-26 Time Warner Cable, A Division Of Time Warner Entertainment Company, L.P. Data transfer application monitor and controller
US7269607B2 (en) * 2003-09-29 2007-09-11 International Business Machines Coproartion Method and information technology infrastructure for establishing a log point for automatic recovery of federated databases to a prior point in time
US7346923B2 (en) * 2003-11-21 2008-03-18 International Business Machines Corporation Federated identity management within a distributed portal server
US7409511B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7334094B2 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7953749B2 (en) * 2004-05-11 2011-05-31 Oracel International Corporation Providing the timing of the last committed change to a row in a database table
US7653665B1 (en) * 2004-09-13 2010-01-26 Microsoft Corporation Systems and methods for avoiding database anomalies when maintaining constraints and indexes in presence of snapshot isolation
GB0428108D0 (en) 2004-12-23 2005-01-26 Ibm Storage system with multiple copy targeting
US7363444B2 (en) * 2005-01-10 2008-04-22 Hewlett-Packard Development Company, L.P. Method for taking snapshots of data
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US7546431B2 (en) * 2005-03-21 2009-06-09 Emc Corporation Distributed open writable snapshot copy facility using file migration policies
US7631021B2 (en) 2005-03-25 2009-12-08 Netapp, Inc. Apparatus and method for data replication at an intermediate node
US7539836B1 (en) 2005-04-18 2009-05-26 Netapp, Inc. Method and system for configuring a data storage object
US9152823B2 (en) 2005-04-22 2015-10-06 Storagecraft Technology Corporation Systems, methods, and computer readable media for computer data protection
US7822758B1 (en) 2005-04-22 2010-10-26 Network Appliance, Inc. Method and apparatus for restoring a data set
WO2007002398A2 (en) 2005-06-24 2007-01-04 Syncsort Incorporated System and method for virtualizing backup images
US20070028187A1 (en) 2005-08-01 2007-02-01 Goro Katsuyama Apparatus and method for performing display processing, and computer program product
US20070260628A1 (en) 2006-05-02 2007-11-08 Tele Atlas North America, Inc. System and method for providing a virtual database environment and generating digital map information
US20080037553A1 (en) 2005-12-22 2008-02-14 Bellsouth Intellectual Property Corporation Systems and methods for allocating bandwidth to ports in a computer network
US7552295B2 (en) * 2006-01-03 2009-06-23 International Business Machines Corporation Maintaining consistency when mirroring data using different copy technologies
JP4822889B2 (ja) 2006-03-20 2011-11-24 富士通株式会社 データベース統合参照プログラム、データベース統合参照方法及びデータベース統合参照装置
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US7860843B2 (en) 2006-04-07 2010-12-28 Data Storage Group, Inc. Data compression and storage techniques
US7653794B2 (en) 2006-05-08 2010-01-26 Microsoft Corporation Converting physical machines to virtual machines
US7809769B2 (en) * 2006-05-18 2010-10-05 Google Inc. Database partitioning by virtual partitions
US7849114B2 (en) * 2006-06-19 2010-12-07 International Business Machines Corporation Method, system, and program product for generating a virtual database
US7921077B2 (en) 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US7587563B1 (en) 2006-07-11 2009-09-08 Network Appliance, Inc. Method and system to make a read-only file system appear to be writeable
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7856424B2 (en) 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US7953704B2 (en) * 2006-08-18 2011-05-31 Emc Corporation Systems and methods for a snapshot of data
US7836267B1 (en) * 2006-08-30 2010-11-16 Barracuda Networks Inc Open computer files snapshot
JP5068062B2 (ja) * 2006-10-30 2012-11-07 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースを統合するためのシステム、方法、およびプログラム
US8255915B1 (en) 2006-10-31 2012-08-28 Hewlett-Packard Development Company, L.P. Workload management for computer system with container hierarchy and workload-group policies
US7827366B1 (en) 2006-10-31 2010-11-02 Network Appliance, Inc. Method and system for providing continuous and long-term data protection for a dataset in a storage system
US20080104146A1 (en) 2006-10-31 2008-05-01 Rebit, Inc. System for automatically shadowing encrypted data and file directory structures for a plurality of network-connected computers using a network-attached memory with single instance storage
WO2008085708A2 (en) 2006-12-21 2008-07-17 Boxicom, Inc. Data backup system and method associated therewith
US8935206B2 (en) 2007-01-31 2015-01-13 Hewlett-Packard Development Company, L.P. Snapshots in distributed storage systems
US7792802B1 (en) * 2007-03-02 2010-09-07 3Par, Inc. Archiving logs with snapshots for data recovery
US7941470B2 (en) 2007-03-29 2011-05-10 Vmware, Inc. Synchronization and customization of a clone computer
US7760643B2 (en) 2007-04-09 2010-07-20 Telcordia Technologies, Inc. Automatic policy change management scheme for DiffServ-enabled MPLS networks
US7953946B2 (en) 2007-04-16 2011-05-31 Microsoft Corporation Controlled anticipation in creating a shadow copy
US8775663B1 (en) 2007-04-25 2014-07-08 Netapp, Inc. Data replication network traffic compression
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US7669023B2 (en) 2007-07-10 2010-02-23 Hitachi, Ltd. Power efficient storage with data de-duplication
US7949692B2 (en) * 2007-08-21 2011-05-24 Emc Corporation Systems and methods for portals into snapshot data
US20090138480A1 (en) 2007-08-29 2009-05-28 Chatley Scott P Filing system and method for data files stored in a distributed communications network
US7725440B2 (en) * 2007-09-26 2010-05-25 Yahoo! Inc. Restoring a database using fuzzy snapshot techniques
US20090132616A1 (en) 2007-10-02 2009-05-21 Richard Winter Archival backup integration
US7877357B1 (en) 2007-10-12 2011-01-25 Netapp, Inc. Providing a simulated dynamic image of a file system
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8082234B2 (en) 2007-11-19 2011-12-20 Teradata Us, Inc. Closed-loop system management method and process capable of managing workloads in a multi-system database environment
US7779051B2 (en) * 2008-01-02 2010-08-17 International Business Machines Corporation System and method for optimizing federated and ETL'd databases with considerations of specialized data structures within an environment having multidimensional constraints
US20090177697A1 (en) * 2008-01-08 2009-07-09 International Business Machines Corporation Correlation and parallelism aware materialized view recommendation for heterogeneous, distributed database systems
US20110004676A1 (en) 2008-02-04 2011-01-06 Masahiro Kawato Virtual appliance deploying system
US8972978B2 (en) * 2008-05-02 2015-03-03 Skytap Multitenant hosted virtual machine infrastructure
US7937548B2 (en) 2008-05-21 2011-05-03 Hewlett-Packard Development Company, L.P. System and method for improved snapclone performance in a virtualized storage system
US8532973B1 (en) 2008-06-27 2013-09-10 Netapp, Inc. Operating a storage server on a virtual machine
US8037032B2 (en) 2008-08-25 2011-10-11 Vmware, Inc. Managing backups using virtual machines
US8311985B2 (en) 2008-09-16 2012-11-13 Quest Software, Inc. Remote backup and restore system and method
US8732417B1 (en) * 2008-10-15 2014-05-20 Symantec Corporation Techniques for creating snapshots of a target system
US9542222B2 (en) 2008-11-14 2017-01-10 Oracle International Corporation Resource broker system for dynamically deploying and managing software services in a virtual environment based on resource usage and service level agreement
US20100131959A1 (en) 2008-11-26 2010-05-27 Spiers Adam Z Proactive application workload management
EP2200230B1 (en) 2008-12-16 2014-03-12 Alcatel Lucent Method and device for performing traffic control in telecommunication networks
US8187191B2 (en) * 2009-01-08 2012-05-29 Volcano Corporation System and method for equalizing received intravascular ultrasound echo signals
US8452930B2 (en) 2009-03-27 2013-05-28 Hitachi, Ltd. Methods and apparatus for backup and restore of thin provisioning volume
US8195611B2 (en) 2009-03-31 2012-06-05 International Business Machines Corporation Using a sparse file as a clone of a file
US8478801B2 (en) * 2009-05-20 2013-07-02 Vmware, Inc. Efficient reconstruction of virtual disk hierarchies across storage domains
US8280858B2 (en) 2009-06-29 2012-10-02 Oracle America, Inc. Storage pool scrubbing with concurrent snapshots
US10120767B2 (en) * 2009-07-15 2018-11-06 Idera, Inc. System, method, and computer program product for creating a virtual database
US9633399B2 (en) 2009-08-19 2017-04-25 Oracle International Corporation Method and system for implementing a cloud-based social media marketing method and system
US8341119B1 (en) 2009-09-14 2012-12-25 Netapp, Inc. Flexible copies having different sub-types
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US9106591B2 (en) 2009-12-24 2015-08-11 Delphix Corporation Adaptive resource management using survival minimum resources for low priority consumers
US8244685B2 (en) 2010-02-24 2012-08-14 Autonomy, Inc. Data restoration utilizing forward and backward deltas
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
WO2012151257A1 (en) * 2011-05-05 2012-11-08 Boston Scientific Scimed, Inc. Drug delivery device with sheath for improved drug delivery

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004110218A (ja) * 2002-09-17 2004-04-08 Hitachi Ltd Dbms向け仮想ボリューム作成・管理方法
JP2009530756A (ja) * 2006-03-20 2009-08-27 イーエムシー コーポレイション 高効率ポータブルアーカイブ

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200800919006; ハーバウ ローガン: '異種混在型の仮想化環境を的確に管理せよ PART2 仮想化環境向け「高可用性+ディザスタ・リカバリ」' COMPUTERWORLD 第6巻 第1号, 20090101, pp.42〜51, (株)IDGジャパン *
JPN6013056759; ハーバウ ローガン: '異種混在型の仮想化環境を的確に管理せよ PART2 仮想化環境向け「高可用性+ディザスタ・リカバリ」' COMPUTERWORLD 第6巻 第1号, 20090101, pp.42〜51, (株)IDGジャパン *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016526743A (ja) * 2013-07-09 2016-09-05 デルフィクス コーポレーション 仮想データベースの巻き戻し
WO2017130305A1 (ja) * 2016-01-27 2017-08-03 株式会社日立製作所 コンピュータシステム及びデータ量削減方法

Also Published As

Publication number Publication date
US20150248422A1 (en) 2015-09-03
US20120089570A1 (en) 2012-04-12
AU2010310827A1 (en) 2012-06-14
EP2491485A4 (en) 2013-07-31
KR101617339B1 (ko) 2016-05-02
US20110093435A1 (en) 2011-04-21
CA2778415A1 (en) 2011-04-28
EP2491485B1 (en) 2016-03-30
CN102667711A (zh) 2012-09-12
EP2491485A1 (en) 2012-08-29
JP5931973B2 (ja) 2016-06-08
US8150808B2 (en) 2012-04-03
AU2010310827B2 (en) 2015-02-05
US20180260403A1 (en) 2018-09-13
JP5591938B2 (ja) 2014-09-17
CA2778415C (en) 2017-02-28
US9037543B2 (en) 2015-05-19
WO2011049839A1 (en) 2011-04-28
US9817836B2 (en) 2017-11-14
US10762042B2 (en) 2020-09-01
KR20120093296A (ko) 2012-08-22
CN102667711B (zh) 2015-12-16
JP2014238864A (ja) 2014-12-18

Similar Documents

Publication Publication Date Title
JP5931973B2 (ja) 仮想データベースシステム
US9904684B2 (en) Datacenter workflow automation scenarios using virtual databases
US10678649B2 (en) Interfacing with a virtual database system
US10540173B2 (en) Version control of applications

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131015

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20131015

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20131111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140225

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140326

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140730

R150 Certificate of patent or registration of utility model

Ref document number: 5591938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250