第1章　データ仮想化とDenodo概要

# 目次
[1. はじめに](#1-はじめに)
[2. 今後公開予定の記事について](#2-今後公開予定の記事について)
[3. データ仮想化の概念](#3-データ仮想化の概念)
[4. データ仮想化の恩恵](#4-データ仮想化の恩恵)
[5. Denodo概要](#5-denodo概要)
[6. Denodoでできることとできないこと](#6-denodoでできることとできないこと)
[7. おわりに](#7-おわりに)



# 参考URL
- [①Critical Capabilities for Data Integration Tools（Gertner社のサイトより）](https://www.gartner.com/en/documents/3989449)
- [②データファブリックのDenodo、CEOが「50％成長を維持する」ための戦略を語る（ASCIIより）](https://ascii.jp/elem/000/004/085/4085351/)
- [③Denodo Platform 8.0 のドキュメントにようこそ（Denodo公式ドキュメントより）](https://community.denodo.com/docs/html/browse/latest/jp/index)
- [④一般的なアーキテクチャ — Virtual DataPort 管理ガイド（Denodo公式ドキュメントより）](https://community.denodo.com/docs/html/browse/8.0/jp/vdp/administration/general_architecture/general_architecture)
- [⑤データの定義と処理を行うための言語: VQL（Denodo公式ドキュメントより）](https://community.denodo.com/docs/html/browse/8.0/jp/vdp/vql/language_for_defining_and_processing_data_vql/language_for_defining_and_processing_data_vql)
- [⑥Denodoエクスプレス（Denodo公式ドキュメントより）](https://www.denodo.com/ja/denodo-platform/denodo-express)

# 1 はじめに
私は今年（2022年）で社会人2年目になる若手SEです。
現在データ仮想化の案件に携わっており、その中でDenodoという製品に触れています。
私の所属するチームでは、データ仮想化やDenodoのことをもっと広げていこうという活動をしており、その一環としてQiita記事を書き始めてみました。

# 2 今後公開予定の記事について
このデータ仮想化やDenodoに関する記事は全9章を予定しており、各章では以下のような内容を記事にする予定です。
![シリーズのアウトライン.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2752366/a4162d9f-0c1f-7c6b-6d19-df4a34518714.png)
※DenodoMonitorやDataCatalog、Denodo Schedulerについて、下記に概要の説明があります。

今回は記事投稿初回ということでデータ仮想化ってどんな技術？、データ仮想化ツールDenodoって何？といったことをまとめてみました。


# 3 データ仮想化の概念
データ仮想化とは、一言でいうと**様々な場所にあるデータを1つのツールで仮想的に扱えるようにし、データの利活用を促進する**技術です。
![2章_ver3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2752366/17213266-c2f0-3d6a-11f8-e155016ded28.png)
具体的なユースケースとして、例えば**社内データを利活用し業務改善につなげたい**ときにデータ仮想化が役に立ちます。
自部署だけでなく社内全体に眠っているデータを利活用したいときに、データをかき集めるだけでも一苦労すると思います。
欲しいデータがそもそも物理的にどこに格納されているのか、どこの部署の誰に聞けばデータが得られるのかわからないなど（いわゆる**サイロ化**）...
考えただけでも腰が重くなると思います。

そこでこのデータ仮想化技術を使うことで、どこにどのデータがあるのか探す必要がなくなり、さらにデータの担当者を探す必要もなくなるわけです。
ですのでデータの利活用を行いたいとなったときに、このような大変な部分をデータ仮想化技術によって解決できるということです。


# 4 データ仮想化の恩恵
データ仮想化技術の恩恵としては、以下が挙げられます。
* 様々な場所に散らばっているデータを、データ仮想化のツール1つで参照することができる
    * 従来のデータ統合手法においては、都度元データがどこにおいてあるのか探さなくてはならない
    * データ仮想化技術では、データの参照をツール側がやってくれるため、ユーザ側がわざわざ元データの在り処を探す必要がない
* 複製データの発生を無くせる
    * 従来のデータ統合手法においては、データレイクやデータウェアハウスなどの階層ごとにデータのコピーが行われ同じデータが複数存在する状況になる
    * データ仮想化技術では、データレイクやデータウェアハウスなどの階層ごとに物理的にデータをコピーする必要がなくなる
* 開発運用コストを抑えられる
    * 従来のデータ統合手法においては、データソースごとのインターフェースに合わせて接続用のコンポーネントを開発しなくてはならない
    * データ仮想化技術では、データソースごとのインターフェースの違いを吸収するため、都度接続用のコンポーネントを開発する必要がなくなる
    （データ仮想化のツール側でインターフェース接続の設定を行えば、データソースにアクセスができる）


# 5 Denodo概要
ここでは、データ仮想化ツールの１つである**Denodo**の概要について記していきます。
Gartner社の調査レポートによると、世にある数多くのデータ統合ツールをデータ仮想化の軸で評価した際に、Denodoが唯一データ仮想化の評価軸で満点（5.0点満点中5.0点）を獲得したツールになります。（参考資料①②）
※Gartner社の調査レポート：Gartner Critical Capabilities of Data Intergraiton Tools

Denodoの主な機能を以下に記します。（参考資料③④）
![4章_ver2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2752366/f96e4483-c476-0ae0-6d44-58141bae45bf.png)
* **Virtual Data Port**
    * Denodoの中で最も中核的な機能
    * データソースのデータを構造化して、ユーザにビューを提供する
    * 様々な形式のデータ（データベース、Web サイト、スプレッドシート、XML ドキュメントなど）を扱うことが容易
* **DataCatalog**
    * ユーザがデータの利用を行うためのインターフェース
    * GUI上で直感的にどの情報を抽出するか操作できる**クエリエディタ**という機能を持つ
    * Denodo VQL[Denodo Virtual Query Language]の書き方を知らなくても、直感的に操作できデータを抽出できるため、ITに疎いユーザでも簡単に操作できる（参考資料⑤）
    ※Denodo VQLとは、SQLを拡張したようなデータベース言語で、Denodo上にてデータの定義や処理を行うために使用される）
* **Design Studio**
    * ユーザが利用するデータを準備するために利用する管理者・開発者向けのインターフェース
    * データソースの登録やビューの作成、サーバ・ユーザ・ロールの管理などの操作を行える
* **Denodo Scheduler**
    * ジョブを登録し、好きなタイミングや周期で実行するための機能
    * キャッシュの更新やビューの追加・更新などをジョブとして設定できる
* **Solution Manager**
    * Denodoのライセンスを一元的に管理する機能
    * 以下の項目をGUI上で管理・構築が行える機能
        * Virtual Data Portサーバ
        * DataCatalogサーバ
        * Denodo Schedulerサーバ

この他にも機能がありますが、ここでは割愛します。


# 6 Denodoでできることとできないこと
Denodoの概要を踏まえた上で、Denodoでできることとできないことを記していきます。
* できること
    * 元データを消去・上書きしてしまう心配をする必要がなく、データ分析が行える
        * 元データから仮想的なビュー（Denodo上では基本ビューを呼ぶ）を作成する
        * この基本ビューを組み合わせて新たなビューを作成したり、このビューに対してクエリーを実行しデータ分析が行える
    * 専門的な知識を持っていなくても、ユーザはデータの利活用が容易になる
        * ユーザ向けの機能である**DataCatalog**にて、直感的にGUI上でDrag＆Dropでクエリを作成し実行できる
    * メタデータの確認が簡単にできる
        * ビューの派生や整合性確認、カラムにどのような情報が含まれているのかを確認することができる
* できないこと
    * Denodo上から元データの登録や更新は行えない
        * 上記の"Denodoでできること"にも記載しているが、Denodoから元データに手を加えることができないため、登録や更新もできない
    * データを溜め込む機能はない
        * 複数のデータソースを繋ぐ機能はあるものの、データそのものを溜め込む機能はありません
    * 非構造化データを扱うことができない
        * 非構造化データを扱いたいとなった場合には、他のツールを利用することをオススメします


# 7 おわりに
今回は初回ということで、データ仮想化技術やDenodoに関する概要をまとめてみました。
DenodoはGUIも用意されており、手軽にデータの利活用が行えます。
Denodoにはいくつかバージョンがありますが、その中で[**Denodoエクスプレス**（参考資料⑥）](https://www.denodo.com/ja/denodo-platform/denodo-express)という無料版のDenodoがあります。
そこで今後は、この無料で利用できるDenodoエクスプレスに触れてみようと思います。
次回の記事では、サーバ構築及びDenodoエクスプレスのインストール手順を記事にまとめていきます。