第28章 仮想データベースへの接続

Fuse Online では、選択した複数のデータソースからデータを統合する仮想データベースを作成できます。作成される仮想データベースサービスをデプロイした後、1 つの物理データベースであるかのように接続することができます。

重要

Fuse Online の Data Virtualization はテクノロジープレビューの機能です。テクノロジープレビューの機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあります。Red Hat では、これらについて実稼働環境での使用を推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストやフィードバックの提供を可能にするために提供されます。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、https://access.redhat.com/ja/support/offerings/techpreview を参照してください。

Fuse Online で仮想データベースを作成した後、Fuse Online ツールを使用して以下を行うことができます。

  • データソースの追加または削除。
  • 異なるテーブルまたはソースからのデータの追加または編集。
  • SQL クエリーを送信し、想定された結果がビューによって返されるかどうかをテスト。
  • 仮想データベースを定義するスキーマの変更。
  • 仮想データベースを公開して、OpenShift で利用できるようにする。
  • 仮想データベースの削除。

前提条件

  • Data Virtualization UI がインストール時に有効化済みである必要があります。

Fuse Online on OCP インストールの場合は、『OpenShift Container Platform での Fuse Online のインストールと操作』の「Fuse Online の設定に使用するカスタムリソース属性の説明」を参照してください。

28.1. Fuse Online での仮想データベースの作成

Fuse Online では、Connections ページで使用できるアプリケーションまたはサービスからビューをインポートする仮想データベースを作成できます。

作成する仮想データベースごとに、データソースをインポートし、追加する各データソースからテーブルを選択する必要があります。作成される仮想データベースのビューは、インポートするデータベーステーブルに直接マップされます。最初の作成を行った後に、複数のテーブルからデータを結合する仮想データベースにビューを追加できます。

注記

本リリースでは、リレーショナルデータベース、MongoDB、および Salesforce からのみ、Fuse Online で仮想データベースを作成できます。

前提条件

  • 以下の 1 つまたは複数のデータソースへのコネクションが Fuse Online 環境に存在する必要があります。

    • PostgreSQL や MySQL などのリレーショナルデータベース。
    • MongoDB データベース
    • Salesforce データベース

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Create Data Virtualization をクリックします。
  3. Create new Data Virtualization ページで、仮想データベースの名前を入力してから Create をクリックします。

    • 指定する名前は、データベースのコンテンツや目的が分かるようにし、アプリケーションの開発者や SQL ユーザーが簡単にコードに挿入できる長さにします。
    • 名前には、英数字 ([a-z] [A-Z]、[0-9])、およびハイフン (-) のみを使用できます。
  4. Create views ページで Import views をクリックします。
  5. Select connection ページで、アクティブなデータソースのタイルをクリックし、Next をクリックします。
  6. Select views ページで、仮想データベースに含める 1 つ以上のテーブルを選択し、Done をクリックします。

    インポートが完了すると確認メッセージが表示されます。ドラフト仮想化の Views タブには、インポートした各テーブルのビューが一覧表示されます。

    これで、既存のビューの編集や他のビューの作成を行えるようになり、仮想データベースをパブリッシュして使用できるようにすることが可能になりました。

28.2. ビューの仮想データベースへの追加

ビューを仮想データベースに追加し、新しいテーブルのデータのビューを提供します。

最初に仮想データベースを作成すると、最初のデータソースからインポートしたビューのみが含まれます。他のテーブルからデータを組み込む場合は、仮想データベースにビューを追加します。元のデータソースのテーブルまたは別のデータソースからのテーブルを基にして、ビューを追加できます。

前提条件

  • ビューを追加する仮想データベースが Stopped または Published の状態で、Fuse Online で利用できる必要があります。Fuse Online を使用して、Fuse Online の外部で作成された仮想データベースにビューを追加することはできません。
  • 統合するテーブルが含まれるデータソースに Fuse Online コネクションが存在する必要があります。
  • ビューで使用するテーブルの名前を知っている必要があります。

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Data Virtualizations ページの一覧から、変更する仮想データベースを見つけ、Edit をクリックします。
  3. Create a view をクリックします。
  4. データソースを展開して、含まれるテーブルを表示します。
  5. 仮想データベースに追加するテーブルを選択し、Next をクリックします。
  6. Name your view ページで View Name フィールドに名前を入力し、Done をクリックします。

    View editor で作成したビューの SQL が表示されます。Preview パネルにビューのデータが表示されます。

  7. データが表示されない場合は、Refresh アイコンをクリックします。
  8. Done をクリックして、ビューを閉じます。

    仮想データベースがこれまでにパブリッシュされていた場合は、仮想データベースを再パブリッシュし、新しいビューを使用できるようにする必要があります。

その他のリソース

28.3. Fuse Online で View Editor を使用して仮想データベースを定義する DDL を変更

Fuse Online で仮想データベースを作成するプロセスは、多くのタスクを自動化し、基礎となる SQL コードの複雑さを表さないように設計されています。

仮想データベースのビューを作成すると、Fuse Online でビューを定義するデータ定義言語 (DDL) が自動的に生成されます。DDL は、ビューのスキーマ、テーブル、列、およびその他のフィールドを記述する SQL ステートメントのセットです。

Fuse Online は、仮想データベースの基本的なビューを追加するツールを提供しますが、SQL を理解していて、ビューをより細かく設計したい場合は、ビューの DDL を直接編集できます。Fuse Online では、開発者は組み込みのビューエディターを使用してこれらの SQL ステートメントを変更できます。さらに、この SQL エディターには、SQL キーワードの一覧を提供するコード補完機能が含まれています。

変更を保存した後、SQL コードに構文エラーが含まれないようにするため、組み込みの検証ツールが実行されます。

前提条件

  • SQL-MED 仕様に基づいたデータ定義言語 (DDL) を使用して、データベースの構造を定義し、外部に保存されたデータを統合した経験。

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Data Virtualizations ページで、変更する仮想データベースを見つけ、Edit をクリックします。
  3. Views タブで、編集するビューを見つけ、Edit をクリックします。
  4. 必要に応じて SQL を更新します。編集時に Ctrl+Space を押して、コード補完ツールを開きます。
  5. 変更が完了したら、Save をクリックします。

    Fuse Online で SQL が検証され、ビューに無効なコードが含まれる場合はエラーが返されます。

    SQL の検証後、ビューの更新の結果がプレビューパネルに表示されます。プレビューには、結果セットの最初の 15 行が表示されます。

  6. Done をクリックして View Editor を閉じ、ビューの一覧に戻ります。

    仮想データベースがこれまでにパブリッシュされていた場合は、仮想データベースを再パブリッシュし、変更を反映する必要があります。

その他のリソース

28.4. SQL テストクエリーの送信による Fuse Online での仮想データベースのプレビュー

仮想データベースをパブリッシュしてアプリケーションで使用できるようにする前に、ビューに対してテストクエリーを実行し、想定する情報が返されるかどうかを検証することができます。

SQL の SELECT * FROM ステートメントが仮想データベースビューに送信されると、デフォルトのプレビューには最初の 15 件の結果が表示されますが、Fuse Online の組み込み SQL クライアントを使用すると、変更したテストクエリーをビューに送信できます。行の制限と行オフセットを指定すると、デフォルトの結果セットを調整できます。

クエリー対象のビューが SQL でないデータソースからである場合、データ仮想化エンジンは SQL クエリーをそのデータソースが解釈できる形式に変換します。

前提条件

  • Fuse Online で作成した有効な仮想データベースが必要です。

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Data Virtualizations ページで、テストするビューが含まれる仮想データベースのエントリーにある Edit をクリックします。
  3. SQL client タブをクリックします。
  4. View フィールドで、テストするビューを選択します。
  5. Row limit フィールドに、表示する行数を指定します。
  6. Row offset フィールドに、スキップする行数を指定します。
  7. Submit をクリックします。Query results テーブルに、結果セットが表示されます。

28.5. Fuse Online で仮想データベースをパブリッシュしてアクセスできるようにする

Fuse Online で仮想データベースを定義したら、ユーザーおよびアプリケーションがアクセスできるようにパブリッシュする必要があります。

仮想データベースをパブリッシュすると、データソースとビューをランタイムイメージにインポートして実装した、スキーマ定義がビルドされます。Fuse Online は、ランタイムイメージを個別にスケーリングできる仮想データベースコンテナーイメージとして、OpenShift にデプロイします。

仮想データベースをパブリッシュした後、サービスとして利用できるようになり、Fuse Online の Connections ページに表示されます。サービスはリレーショナルデータベースのように動作し、クライアントは標準のインターフェース上で接続できます。Fuse Online インテグレーションワークフローに組み込むことができ、JDBC および OData クライアントで利用できます。

前提条件

  • Fuse Online で仮想データベースが作成済みである必要があります。
  • 必要なビューを仮想データベースに追加済みである必要があります。

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Data Virtualizations ページで、パブリッシュする仮想データベースを見つけ、 Three Vertical Dots をクリックした後、Publish をクリックします。

    パブリッシュするために仮想データベースが送信されたことを伝える確認メッセージが表示され、その処理の状況が進捗バーに表示されます。

    • パブリッシュプロセスに成功すると、Fuse Online は以下の更新を行います。

      • Data Virtualizations ページの仮想データベースエントリーのステータスラベルが Stopped から Running に変わります。
      • 仮想データベースの OData エンドポイントへの URL が仮想データベースエントリーに表示されます。
      • 仮想データベースサービスが Connections ページに追加され、そのサービスへの JDBC コネクションが作成されます。

        Connections ページから仮想データベースサービスのエントリーを開くと、JDBC の URL を確認できます。

    • パブリッシュの処理に失敗した場合、エントリーに Error というラベルが付けられます。

28.6. Fuse Online での仮想データベースの削除

Fuse Online で作成した仮想データベースを永久に削除することができます。仮想データベースは、パブリッシュ済みまたは下書きであるかに関わらず削除することができます。

仮想データベースによって消費されるデータソースは削除の影響を受けません。Fuse Online とデータソース間のコネクションはそのまま維持されます。

前提条件

  • Fuse Online で作成した仮想データベースがあり、これを削除する必要があります。

手順

  1. Fuse Online のナビゲーションサイドバーで Data をクリックします。
  2. Data Virtualizations ページで、削除する仮想データベースのオーバーフローメニューをクリックし、Delete をクリックします。
  3. プロンプトが表示されたら、Delete をクリックし、仮想データベースを削除することを確認します。

    仮想化が削除されると確認メッセージが表示されます。