目次
1.はじめに
2.今回の実施内容
3.データの事前準備とData Catalogの概要
4.Index Searchの設定
5.Index Searchの実行確認
6.最後に
1 はじめに
本記事は、データ仮想化製品Denodoについて紹介する連載記事になっております。
これまでの連載通りにDenodo Express環境設定がされていることを前提としていますので、未実施の場合は過去の記事を参照して構築をしてください。
データ仮想化技術やDenodoの概要については、第1章 データ仮想化とDenodo概要をご参照ください。また、データ仮想化環境の構築については、第2章 データ仮想化環境の構築をご参照ください。
参考URL
- Denodo-USER MANUALS Denodo Data Catalog
- Denodo-USER MANUALS Content Search
- Denodo-USER MANUALS Denodo Scheduler
- Denodo-USER MANUALS Denodo Index Server
2 今回の実施内容
DenodoにはData Catalogというユーザーに有益なデータを容易に探索できる機能があります。ユーザーは、Data Catalogを利用してMetadata Search、Content Searchができます。また、ドラック&ドロップを行いクエリを作成し、実データを参照することもできます。Data Catalogを利用することで、ユーザーはどのデータが有益なデータかを把握し、ビジネス上の意思決定において効果的に利用することができます。
今回はData Catalogの簡単な機能を紹介をした後、Data CatalogのContent Searchの中でインデックス機能を使用したIndex Searchができるまでの手順を記載します。
また、今回の実施内容で必要となるデータベースはPostgreSQL 13を使用します。
3 データの事前準備とData Catalogの概要
データの事前準備
今回の記事内容において必要な事前準備として、仮想データベースをDenodo Administration Toolを用いて作成します。
サンプルデータベースの取得
仮想データベースのデータソースは、PostgreSQLのサンプルデータベースである「DVD rental database」を使用します。こちらのサイトからダウンロードを行い、dvdrental.zip
を任意の場所に保存します。(※本例ではdvdrental.zipの保存先をC:\temp
とします。)
dvdrental.zipを右クリック > 解凍 > ここに解凍をクリックし、C:\temp\dvdrental\dvdrental.tar
ファイルを取り出します。
PostgreSQLの設定
-
リンク先記事などを参照にPostgreSQLをインストールします。(※Windows上にインストールすることを想定し、pgAdminもセットでインストールします。)
-
pgAdminを起動し、Server接続後にPostgreSQL右クリック > Create > Login/Group Roleをクリックし、表示画面の各タブ画面内で以下を入力後Saveをクリックします。
-
Databasesを右クリック > Create > databaseをクリックし、表示画面内で以下を入力後Saveをクリックします。
-
dvdrentalを右クリック > Restoreをクリックし、表示画面内で以下を入力後Restoreをクリックします。
仮想データベースの作成
-
Denodo Administration Toolログイン後、仮想データベースを「dvd_rental」という名前で作成します。
(Administration > Database management > Newをクリック後、画面のように設定しOKをクリックします。)
-
以下の設定を行いTest connectionをクリックします。
- Name
- dvd_rental_ds
- Database adapter
- PostgreSQL 12 and higher ※ご利用のPostgreSQLのバージョンに合わせて選択してください。
- Driver class path
- postgresql-12 ※ご利用のPostgreSQLのバージョンに合わせて選択してください。
- Driver class
- org.postgresql.Driver ※ご利用のPostgreSQLのバージョンに合わせて選択してください。
- Database URI
- jdbc:postgresql://localhost:5432/dvdrental ※ご利用のjdbc:postgresql://ホスト:ポート/データベースを指定してください。
本例では、ホストlocalhost、ポート5432、データベースdvdrentalを設定しています。
- jdbc:postgresql://localhost:5432/dvdrental ※ご利用のjdbc:postgresql://ホスト:ポート/データベースを指定してください。
- Transaction isolation
- Database default
- Authentication
- Use login and password
- Login
- dvdrental_user
- Password
- Name
-
接続が成功することを確認し、OKをクリックします。
(※もし失敗する場合は、接続URL・ユーザー名・パスワード、およびPostgreSQL側の権限を確認してみてください。)
以上で今回使用する仮想データベースの準備が完了しました。
Data Catalogの概要
Data Catalogは、Virtual DataPortサーバーで公開されたビューやWebサービスの中から、ユーザーのニーズにあった重要なデータを簡単に検索する機能があります。ここでは、仮想データベースdvd_rentalのactorビューを使用してData Catalogの機能をいくつか紹介します。本項を実施するためには、前項の「データの事前準備」が完了していることが必要です。
それでは、はじめに前項で準備した仮想データベースのデータをData Catalogで使用するため、Data Catalogのメタデータの同期を行います。
Data Catalogのメタデータの同期
Data Catalogのメタデータを最新の状態で活用するためには、Virtual DataPortサーバーに存在するビューやWebサービスのメタデータとData Catalogを同期する必要があります。次のいずれかの手順でData CatalogとVirtual DataPortサーバーのメタデータの同期を行います。
- はじめてData Catalogにログインする場合
- Data Catalogログイン後、画面にMetadata Synchronizeのポップアップが表示されますので、Synchronize the meta nowをクリックします。
- 各画面でContinueをクリックして同期を実行します。
- 初回ログイン以降の場合
注意
Virtual DataPortサーバーで行ったメタデータの変更は、Data Catalogに同期できますが、Data Catalogで行ったメタデータの変更は、Virtual DataPortサーバーに同期できません。
検索するメタデータの選択
検索するメタデータとしてactorビューを例にData Catalogの機能を紹介します。
-
Data Catalogログイン後、QUICK SEARCHにactorを入力し、虫眼鏡アイコンをクリックするかまたはEnterを押下します。
-
actorビューのSummaryタブが表示されます。
続いてビューのそれぞれのタブについて紹介します。
(Searchタブについては、ビューのSearchタブを使用したIndex Searchで別途紹介します。)
Summaryタブ
Summaryタブでは、選択したビューの概要が表示されます。左ペインには、Database、Categories、Tag、Desctiptionが表示されます。Descriptionの右隣のテキストアイコンをクリックすると、Edit descriptionが開きビューの説明を編集することができます。Add TagやAdd Categoryでは、ユーザーがより正確な検索をするために役立つTagやCategoryを追加することができます。また、ビューに接続するための接続URLを取得できるConnection URLsやPower BIやTableauを利用してビューに接続する際に各ツールに読み込むデータソースファイルをダウンロードできるOpen inがあります。
Schemaタブ
Schemaタブでは、ビューのField name、Type、Field descriptionが表示されます。各フィールドの右にある鉛筆アイコンをクリックすると、Field descriptionを編集できます。Additional columnsリンクから新規カラムを追加することができます。また、Field name、Type、Field descriptionの下にある検索フィールドを利用して、Field name、Type、Field descriptionの各データを検索することが可能です。
Queryタブ
Queryタブでは、ビューに対してQueryを実行することができます。
Queryの実行
-
Queryの実行はカラムを指定して行うことができます。ここでは、actorビューの全てのカラムに対してQueryを実行する例を紹介します。
左ペインのSelect allにチェックを入れると、全てのカラムが選択されるので、全てのカラムを選択して、Output columnsにドラッグ&ドロップします。(個別にカラムを選択する場合、チェックを入れて選択した各カラムをOutput columnsにドラッグ&ドロップします。)
-
注意
Virtual DataPortサーバーに対してリアルタイムでQueryが実行されます。
Exportの実行
- Exportをクリックし、Select the export formatで出力形式をCSV、HTML、Excelのいずれかに選択し、Number of results to exportでExport対象件数を選択した後、Export headerでheaderの有無を選択し、OKをクリックするとExportができます。
Query実行時のフィルタリングや並び替え
-
ビューの結果をフィルタリングしたり、ある条件で並び替えて表示することも可能です。
ここでは、last_nameとしてSilverstoneでフィルタリングした結果を、actor_idの降順で表示します。
DIFFINITIONをクリックしてQueryタブに戻ります。
Output columnsのlast_nameをFiltersにドラッグ&ドロップします。
Filter wizardが開くので、Operatorに=を選択し、Field valueに'Silverstone'を入力した後、OKをクリックします。
-
Output columnsのactor_idをOrder byにドラッグ&ドロップします。
actor_idの右隣にある矢印アイコンをクリックして矢印を下向きにします。
-
Executeをクリックして検索を実行すると、取得した結果は、last_nameのSilverstoneでフィルタされ、actor_idの降順に並び替えられています。
-
使用したQueryを後で利用したい場合、SaveをクリックしMy QueriesにQueryを登録します。ここでは、Nameをactor_lastname、Descriptionをactors with last_name = 'Silverstone'と入力します。
入力が完了したらOKをクリックします。
-
Query > My Queriesをクリックします。手順4で登録したQueryが表示されます。
actor_lastnameをクリックすると、actorビューのQueryタブに移動し、登録したQueryが実行できます。
既存のカラムを組み合わせて新規カラムを作成
-
Queryタブでは、カラムを新規に追加して、既存のカラムと関連づけることで、さらに便利な検索を行うことができます。 ここでは、first_nameとlast_nameを結合したfull_nameカラムを新規に作成して検索を行います。
DIFFINITIONをクリックしてQueryタブに戻ります。
Output columnsの3つの点をクリックし、Addをクリックします。
-
New output fieldでField nameの鉛筆アイコンをクリックし、full_nameを入力します。また、Expressionにconcat(first_name,' ',last_name)と入力します。
入力が完了したらOKをクリックします。
(VQLが正しく入力されていない場合は、先頭に赤色の×マークが表示されます。)
Relationshipsタブ
Relationshipsタブでは、現在のビューに関連するすべてのビューがグラフ内で表示されます。グラフは、拡大表示、縮小表示、画像としてのExportが可能です。ビューの「i」アイコンにマウスを移動すると、そのビューに関する情報がヒントとして表示されます。また、ビュー内の矢印アイコンをクリックするとビューの詳細情報が表示されます。
上記の例は、関連するビューが無い1つのビューですが、次の例はclientビューとaddressビューが関連している様子を紹介します。使用しているビューは、Denodo tutorialsのDATA VIRTUALIZATION BASICSで作成するclientビューとaddressビューです。
Data lineageタブ
Data lineageタブでは、現在のビューの構築に使用されたすべてのデータソースとビューを含むツリーグラフが表示されます。ユーザーは、ビュー間の関係やビューを作成したデータソースを視覚的に確認することができます。本例では、actorビューがデータソースdvd_rental_dsを基に作成されていることが分かります。グラフは、拡大表示、縮小表示、画像としてのExportが可能です。「i」アイコンをクリックすると結合条件、WHERE 条件などビューによって実行された特定の操作に関する情報のヒントが表示されます。ヒント内の矢印アイコンをクリックすると詳細情報を含むポップアップが表示されます。また、ビュー情報内の矢印アイコンをクリックすると詳細情報が表示されます。
以上でData Catalogの概要の説明を終了します。
4 Index Searchの設定
Index Searchの概要
Data Catalogのコンテンツ機能を利用すると、Denodo SchedulerとDenodo Scheduler Index Serverを使用してビューのコンテンツにインデックスを付けることができます。インデックスが付与されたビューに対して、ユーザーはGoogleと同様の検索を実行したり、検索結果の表示方法をカスタマイズしたりできるようになります。
設定
Index Searchを行うためDenodo SchedulerとData Catalogの設定を行います。
注意
以下の手順を実行するためには、Scheduler Server、Scheduler Index Server、Scheduler Administration Tool、Data Catalogが起動していることが必要です。
Scheduler ServerとScheduler Index Serverの起動方法
Denodo Schedulerの設定
-
Denodo Schedulerでインデックスを作成するため新しいジョブを作成します。
Scheduler Administration Toolログイン後、Add job > VDPIndexerをクリックします。
-
Viewの右端の虫眼鏡アイコンをクリック後、dvd_rental.actorを選択してOKをクリックします。OKを選択後、Indexing process nameにdvd_rental.actorが自動で入力されます。
その他の設定はデフォルトにします。
-
Exporters sectionタブを開き、Add exporterプルダウンをクリック後、Scheduler-Indexを選択します。Data sourceプルダウンをクリック後、Scheduler-Indexを選択します。Index nameはix_actorを入力します。その他の設定はデフォルトにし、Saveをクリックしてジョブを保存します。
-
Processed(Tuples/Errors)の下にカーソルを合わせ、表示された3つの点をクリックします。StartをクリックしてJobを開始します。
以上でDenodo Schedulerの設定が完了しました。次はData Catalogの設定を行います。
Data Catalogの設定
-
Data Catalogログイン後、Administration > Set-up and managementをクリックします。
-
以下の設定を行いOKをクリックします。
-
インデックスを追加します。以下の設定を行いOKをクリックします。
以上でData Catalogの設定が完了しました。
これでIndex Searchを実行する準備が整いましたので、次はIndex Searchの実行結果を確認します。
5 Index Searchの実行確認
SearchページのIndex Search
-
Data Catalogログイン後、Searchをクリックし、左ペインで以下の設定を行います。
-
検索フィールドにSilverstoneを入力後、虫眼鏡アイコンをクリックするかまたはEnterを押下し、Index Searchを実行します。
-
Index Searchの結果は、検索フィールドに入力した文字列を含むすべてのデータが返されます。検索結果に一致した各レコードを表示したい場合、Preview resultsの左隣りにある+アイコンをクリックします。
-
Index dataの下にあるテキストアイコンをクリックすると、クリックしたレコードのすべてのインデックス情報が表示されます。確認が終了したらCloseをクリックします。
ビューのSearchタブを使用したIndex Search
-
ビューのSearchタブを使用してインデックスを直接検索することが可能です。
actorをクリックしてSearchタブに移動し、検索フィールドのSilverstoneを削除後、虫眼鏡アイコンをクリックするかまたはEnterを押下します。
-
検索フィールドにJenniferを入力後、虫眼鏡アイコンをクリックするかまたはEnterを押下すると、Index Searchの結果が返されます。
-
SearchページのIndex Searchの場合と同様に、Index dataの下にあるテキストアイコンをクリックすると、クリックしたレコードのすべてのインデックス情報が表示されます。
確認が終了したらCloseをクリックします。
-
検索フィールドのフィルター条件は、検索フィールドの隣のプルダウンで選択することが可能です。プルダウンではレコードの各カラムが選択できます。
例えば、プルダウンでactor_idを選択後、検索フィールドに1を入力し、虫眼鏡アイコンをクリックするかまたはEnterを押下して検索を実行すると、actor_idが1に該当するIndex Searchの結果が返されます。
以上でIndex Searchの実行確認を終了します。
6 最後に
今回はデータ利用者がデータに便利にアクセスできる機能であるData CatalogとIndex Searchについて紹介しました。実際の運用の中では、複雑なデータの中からビジネスに必要なデータを効果的に検索したい場合などに利用できるため、Data CatalogとIndex Searchをご利用いただく機会はあるかと思います。
今回は簡単な記述の概要説明にとどまっていますので、Data CatalogとIndex Searchをより活用したい方はマニュアルを参考の上実施してみてください。
次回はDenodoのデータ通信を暗号化するSSL/TLS有効化の設定について触れたいと思います。