Delphixブログ

Delphixブログ>開発者それぞれに必要なデータベースを複数提供する仕組みとは

  • 初級編
2017.11.09

開発者それぞれに必要なデータベースを複数提供する仕組みとは

開発者それぞれに必要なデータベースを複数提供する仕組みとは

開発者それぞれで欲しいデータは異なりますよね?

月末時点のデータや、特定のバッチ処理の前後のデータといったように、開発者にとって欲しいデータが異なるため複数のデータを準備する必要があります。

Delphixは本番データベースを一度Delphixサーバに取り込んだ後であれば、好きな時点のデータを何個でも開発環境に提供することができます。開発者の目的に合わせ、必要なデータを利用者それぞれに提供できるため、非常に便利ですよね。

今回はなぜ、任意の時点のデータを複数提供できるのか?その仕組みを紹介します。

本番データベースの変更情報はDelphixが自動で取得・管理

更新処理によって発生する本番データベースの変更情報はどのように管理するのでしょうか。実はDelphixは2種類の方法を用いて、変更情報を管理しています。

尚、複製対象のDBMSの種類によって変更情報の管理の仕方は異なります。以下はデータベースがOracleの場合の管理方法を記載しています。

Delphixにおける変更情報の管理方法

SnapSync(スナップシンク)は、本番データベースの定期的なスナップショットです。Delphixが定期的に情報を取得しており、デフォルトでは1日1回取得しています。一方、LogSync(ログシンク)は更新情報がはいったログを随時取得しています。

開発者が欲しい時点のデータを瞬時に仮想データベースとして複製

本番データベースで発生する変更情報は自動でDelphixサーバに取得されています。そのため、「月末時点のデータ」や「夜間バッチ実行前のデータ」といったように開発者が欲しい「時間」、「状態」のデータを複数提供することが可能です。

仮想データベースの複製イメージ

従来の方法(物理コピーの取得)では欲しい時点が複数ある場合、本番データベースのバックアップや変更履歴のログを保管・管理しておき、データベースのリストア・リカバリを複数回実行して欲しい時点のデータを準備する必要がありました。

コスト・時間の面で考えると従来の方法を実施するのはハードルが高いですよね。しかし、DelphixであればDelphixサーバに最新のデータを保持しているため、欲しい時点のデータを簡単に複製することができます。

開発環境に複製された仮想データベースは更新可能

Delphixによって開発環境に複製された仮想データベースですが、もちろん更新することが可能です。

Delphixは最初に本番データベースをDelphixサーバに取り込みます。そして、取り込んだ本番データベースのマッピング情報をもとに仮想的なデータベースをDelphixサーバ内に生成します。生成された仮想データべースはメタデータなので、実データは保持していません。

Delphixはこの生成した仮想データベースを開発環境にNFSマウントさせて利用します。

仮想データベースの更新イメージ

開発環境で発生する更新処理はDelphixサーバの領域に確保された、仮想データベース専用の差分領域に保持されます。そのため、取得したデータベースの初期バックアップのデータに影響を与えることなく、開発環境のデータベースを更新することができます。

専用の差分領域でデータを管理しているので、開発環境のデータベースを更新するだけでなく、データベースを以前の状態(更新前の状態)に戻すといった操作も可能です。Delphixのすごい機能は他にもありますので、別の記事で紹介しますね。

まとめ

Delphixは本番データベースを自動的にDelphixサーバに取り込みます。

本番データベースで発生する変更情報もDelphixが管理しているため、開発・テスト担当者が欲しい状態のデータ(例えば、月末時点のデータや、特定のバッチ処理の前後のデータ)を仮想データベースとして複製することができます。

複製された仮想データベースは更新可能です。そのため、テストフェーズ(結合テスト、システムテスト、運用テスト)や、本番環境の設定変更前の検証、本番同様のデータを使用したトレーニング用途としても利用することが可能です。

編集後日記

先日、部屋の中にコオロギがいました。東京にもコオロギいるんですね。
  コオロギの鳴き声に秋の訪れを感じながら・・・私はそっと眠りにつきました。

関連している記事

  • 初級編
2017.10.10

開発環境の個人情報、機密情報を簡単にマスキングする方法

開発環境には個人情報、機密情報が含まれる可能性があるため、セキュリティ対策を検討する必要があります。今回は、Delphixのマスキング機能について紹介します。

  • 初級編
2017.09.08

開発環境やテスト環境に本番データを使うべき理由

開発環境、テスト環境で、本番環境と異なるデータを使うことの問題点やリスクを整理します。開発環境、テスト環境でも本番データを使うべきなのです。

  • 初級編
2017.08.28

なぜDelphixでストレージ・コストが大幅に削減できるのか?

なぜ、Delphixではストレージ・コストが削減されるのか?気になりますよね。今回の記事ではストレージ・コストを削減できる理由について紹介します。

カテゴリ一覧

ページの先頭へ戻る