Tableauにおけるデータモデリングを補完するアーキテクチャの提案（DenodoとSnowflake活用による拡張の提言）


## 注意事項
本情報は2020年10月4日時点での判断となりますので、本情報を用いて意思決定を行う前に自己責任のもと調査を実施してください。

## 概要
BI製品の評価を実施したところ、Tableauではデータガバナンスを実施しにくいという評価となったのですが、データ仮想化技術によりその弱点を補完できることに気付いたので共有します。現時点では、本アーキテクチャは構想段階です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/67ae1566-8df2-7d7f-f153-9a066ac67034.png)



Tableauのモデリング機能の弱点については、下記の記事で記載しております。端的には言えば、データセットをレポート単位で作成することが多いため、レポート間でのロジックが統一が難しいことです。

- [Tableau データモデル（データモデリング）におけるエンタープライズ展開・管理に関する考察](https://qiita.com/manabian/items/d5825205e16e4ec0f186)

Tableauにおけるデータモデリングツールの弱点から、数年前に流行したTableau+Redshiftの組み合わせから、Looker+Big Queryに移行する話をよく聞くようになりました。LookerとBig Queryの組み合わせは素晴らしい組み合わせではありますが、万能な組み合わせではないです。Tableauによる分析文化を構築できた組織に対して、本投稿が問題解決の一助となりましたら嬉しいです。

なお、BIとしては下記の観点で評価しており、Tableau単独での利用に対する個人的評価は、「あるデータを可視化するまでの使い勝手は他のツールより抜き出ている。ただ、デフォルトの設定以上のことや標準化を行うことは難しく、小さな組織でのデータ探索には向くが大規模組織での利用は難しい。」です。詳細については、別の記事として、投稿予定です。

- [Business Intelligence（BI）における汎用的な機能分類について](https://qiita.com/manabian/items/13bf401538de86e39e91)


## Tableauの問題点について
ガートナー社2020年における"Magic Quadrant for Analytics and Business Intelligence Platforms"にて指摘があるように、ガバナンスに弱点があります。何に対するガバナンスとは明記されていませんが、私としてはデータへのガバナンスがその１つであると考えております。"Magic Quadrant for Analytics and Business Intelligence Platforms"については、マイクロソフトのサイトより閲覧できますので、確認してみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/2922830a-f5e1-6081-1634-1d0fc502dac4.png)
引用元：[2020 Gartner Magic Quadrant for Analytics and Business Intelligence Platforms](https://info.microsoft.com/ww-landing-2020-gartner-magic-quadrant-for-analytics-and-business-intelligence.html?LCID=EN-US)

### レポート単位で作成するデータセットにデータガバナンスの問題が発生
Tableauでのデータセット利用イメージとしては、デロイトトーマツの方が共有している資料に分かりやすい記載があります。分析用データセットというものがレポート単位に作成されることが多いことため、ロジックの統一化が実施されにくいという現状があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/0ca7a872-ad03-5491-4b9d-c2edd9a4afcf.png)
引用元：[経営企画・財務経理・ 内部監査部門のデータ活用による事業リスクマネジメント](https://www2.deloitte.com/content/dam/Deloitte/jp/Documents/deloitte-analytics/jp-da-tableau-20191220.pdf)

### データガバナンスを実施するたの最近の事情について
Tableauの活用が進むことで上記問題が露見されるようになり、Lookerによりロジックの統合を実施するお客様が増えてきたようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/824c2412-71ea-b86b-482d-8929b0775a87.png)
引用元：[次世代のデータプラットフォーム「Looker」機能概要まとめ #looker](https://dev.classmethod.jp/articles/looker-overview/)

ZOZO様はLookerのセマンティックデータモデリング機能に着目した利用をしているようです。多くの組織が、データガバナンスに対して注目するようになってきているようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/2807a23d-fa9b-51e9-c128-78d1bd134d9f.png)
引用元：[データ集計基盤の改善でLooker導入に至ったワケ](https://techblog.zozo.com/entry/looker-data-processing-improvement)

## 集計ロジックの統一化に向けたデータ仮想化の利用について
Tableauのレポートごとにデータへの集計ロジックを、データ仮想化側で実施することで、そのロジックの再利用が可能となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/fad990e8-daee-b810-e967-076b34155e3c.png)

denode社のサイトにて下記ののように紹介されている通り、denodo側で集計を実施することが可能です。Lookerに対してTableauにて接続する選択肢もありますが、DenodeにはODBCの提供もあり、Tableauからライブ接続が可能であることに相違があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/92094d0b-ba57-c00a-9785-a2f0ed7ad13b.png)
引用元：[Denodoプラットフォーム　概要](https://www.denodo.com/ja/denodo-platform/overview)

### データ仮想化ツールの弱点である同時実行性について
データ仮想化ツールやLookerなどのライブ接続が前提のツールにおける弱点としては、データベース側での同時実行性があります。たとえば、Big Queryの同時実行性としては、100クエリという記載があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/381fa3ec-d943-e03c-ef6c-6a4e9c8bf90c.png)
引用元：[割り当てと上限](https://cloud.google.com/bigquery/quotas?hl=ja)

BIツールによっては、レポートにある1ビジュアル（グラフ）単位でクエリを発行することがあるため、BIからライブ接続するとボトルネックとなりやすいです。100クエリを同時に実行できるデータベースに対して5ビジュアルあるレポートで接続する場合、そのレポートを同時に利用できるのは20人になります。データ活用が進んでいる組織においては、同時実行ユーザは利用者の10％といわれており、利用者200人（20人÷10％）が上限となります。


## 同時実行性を確保するためにSnowflakeという選択
データ仮想化ツールのデータソースとしてSnowflakeを選択することで、仮想ウェアハウスを複数作成により同時実行性を高めることができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/078f1035-76d5-800f-c187-35ba3a746967.png)

Snowflakeは、ストレージとコンピューティングが分離されており、複数のコンピューティング（仮想ウェアハウス）を構築できることに特徴があります。BIから利用する際には仮想ウェアハウスを指定する必要があるのですが、データ仮想化ツールを経由することでシステム側で利用頻度に合わせた仮想ウェアハウスの選択が可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/86d2ce44-17c3-b52e-266f-3af6b82ce62a.png)
引用元：[クラウド向けに構築されたアーキテクチャ](https://www.snowflake.com/%e8%a3%bd%e5%93%81/%e3%82%af%e3%83%a9%e3%82%a6%e3%83%89%e3%83%99%e3%83%bc%e3%82%b9%e3%81%ae%e3%83%87%e3%83%bc%e3%82%bf%e3%82%a6%e3%82%a7%e3%82%a2%e3%83%8f%e3%82%a6%e3%82%b9%e3%82%a2%e3%83%bc%e3%82%ad%e3%83%86%e3%82%af-2/?lang=ja)

## まとめ
Tableauの弱点の１つであるデータモデリング機能に対して、DenodoとSnowflakeを追加することで、補完する案を紹介させていただきました。本投稿では、データガバナンスという観点のメリットを強調しましたが、Tableau側でデータ処理を実施しないことからTableau Server（Tableau Online）の利用拡大に伴うライセンスコストの低減というメリットもあります。DenodoやSnowflake以外の選択肢もあるかもしれませんが、本投稿の思想に基づき選択をしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/407d78cb-dfe9-c343-8df4-ef070a440fb7.png)