技術ブログ
目次
渡部です。 コーソルでは、Delphix(正式名称: Delphix Dynamic Data Platform)を用いた Oracle Databaseを用いたエンタープライズシステムのアプリケーション開発生産性を 高める仕組みを提供するソリューションの提供を開始しました。
Delphixとは、ひとことで言えば、「開発用途の複製データベースを簡単に多数作成し、開発者自身で過去データへの戻しや最新データへ追従が簡単にできる環境を用意するアプライアンス形式のソフトウェア」です。
最近では、"アジャイル開発"や"DevOps"というキーワードが頻繁に取り上げられることからわかるとおり、 「如何にアプリケーション開発を高速化するか?」が大きな課題になっています。 この流れを受け、Scrumなどのソフトウェア開発方法論や、バージョン管理システム、課題管理システム、テスト自動化、アプリケーションデプロイなどの技術が進化していますが、エンタープライズシステムのアプリケーション開発で特に重要となる「データの準備」についてはあまり技術面で特筆すべき進化は無かったと考えます。いわば、「データの準備」は、DevOps技術進歩の盲点であったといえます。
Delphixはこの盲点に着目した製品です。 Delphixを使用すれば、開発用途の複製データベースの作成と管理を簡単に行うことができ、エンタープライズシステムのアプリケーション開発を「俊敏」にできます。
なお、Delphixの正式名称はDelphix Dynamic Data Platformで、ワールドワイドで300社以上、the Fortune 100の30%で導入実績があるとされています(開発元情報)。
単に「複製データベースを作る」と聞くと、それ専用のソフトウェアを特に導入しなくても簡単に実現できそうですが、実際にやってみるといくつか難しい点があり、Delphixは様々な技術を活用して、これを巧みに解決しています。
Delphixの特徴は以下の通りです。
もうすこし具体的に見てゆきましょう。Delphixで解決できる課題は何なのでしょうか。逆言うと、Delphixがないとどのような課題が発生するのでしょうか。
これをまとめたのが以下のスライドです。
エンタープライズシステム・アプリケーションの開発を進めるためには、 何らかの方法で本番環境に近いデータベースおよびデータを準備する必要がありますが、 セキュリティなどの関係でダミーのデータを使用したり、データをマスキングしたりする必要があります。
さらに、本番環境において、データやテーブル構造の変化があった場合、それを開発環境に反映させる必要があります。
これらを手動で実施すること、また、本番環境に変化があるたびに実行することは非常に困難な作業です。
Delphixには、開発者自身で操作可能な複製データベース操作用のUI(セルフサービスUI)と、データマスキング機能が用意されているため、上記の課題を解決することができます。
Delphixが持つ優れた機能の1つに、セルフサービスUIがあります。 セルフサービスUIとは、それぞれの担当者が使用する複製DBに対して用意された専用のUIです。
セルフサービスUIを通じて、担当者自身で、複製DBの過去の状態への戻しや本番DBの最新状態への追従が実行可能です。データベース管理者の助力は不要です。
担当者ごとにセルフサービスUIを定義でき、各担当者は、そのセルフサービスUIに対応付けられた複製DBについてのみ操作が許可されます。適切にセルフサービスUIを定義することで、複製DBへのアクセス制御が実現できることになります。
それぞれの複製DBは独立しており、ある複製DBへの操作が別の複製DBに影響することはありません。 担当者ごとに個別の作業環境を持てるかたちになるため、1つの環境を共有する場合に比べて、アプリケーション開発を大幅に効率化できます。
エンタープライズシステム・アプリケーションの主な役割はデータ処理ですから、 本番環境に近いデータを用意すること、月末処理の開発のために月末時点のデータを用意するなど、想定された時点のデータを用意することは極めて重要です。
セルフサービスUIを使用することで、データベース管理者の助けを借りることなく、必要な時点の本番環境相当のデータが得られ、アプリケーション開発を大幅に効率化できます。
複製データベースという技術は、本番データベース相当のデータを得られる点で便利ですが、 当然ながら機密データも含めて複製されるという問題があります。
Delphixはこの問題に対処するため、機密データマスキングを統合して、各担当者に機密データがマスクされた複製DBを提供できるようにしています。
これは、Delphix社が2015年5月に買収したAxis Technology社のマスキングソフトウェアDMsuiteの機能を統合したもので、 マスキング後もデータの一意性を保持するなどの賢いマスキングアルゴリズムを備えています。
Delphixがサポートするマスキングアルゴリズムの一覧は以下の通りです。 マスキングアルゴリズムについては追って説明したいと思います。
コーソルでは、Delphix(正式名称: Delphix Dynamic Data Platform)を用いた Oracle Databaseを用いたエンタープライズシステムのアプリケーション開発生産性を 高める仕組みを提供するソリューションを提供しています。
また、上記ページからは以下の資料がダウンロード可能です(要フォーム入力)。