仮想接続について#2 実務で活用するために

執筆時のバージョン: Tableau Cloud 2022.3


前回の記事では仮想接続の概要について書きました。

今回の記事では以下3点について取り上げます。

  • リリースノートから見る仮想接続の歴史

  • 現バージョンにおける、実務を想定した場合の仮想接続の懸念点

  • 仮想接続を実務で活用するためのアイデア


仮想接続は強力な機能ですが、2021.4からの機能と比較的新しいものです。

Tableau Prepと同様に実務で実践的に使用するためには数度のバージョンアップを待つ必要があったように思います。


仮想接続の進化の歴史を見つつ、実務で使用するためのアイデアを共有できれば幸いです。


 

仮想接続の歴史

以下に仮想接続に関するリリースノートをまとめます。


何よりも欠かせないのはTableau Catalogとの統合でしょう。

Tableau Catalog自体は複数機能の総称ですが、要はLinage/系列が仮想接続に対応したことが素晴らしいです。

つまり下図のように、仮想接続が何を使用して、何に使用されているかをWeb上で確認することが出来るようになりました。


Revision機能についてはWorkbook、Datasource、Flowとは異なり、ダウンロードは不可です。 ただし誰がいつ編集したか追うことが出来るようになったのは、管理上いいことですね。


他の機能への言及は省略しつつ、Workbook等の他コンテンツ種類で可能なことは仮想接続でも可能にする、という方針はあるのではないでしょうか。

(リリース時にCatalog未対応だったの!?という気分です)


2022年のリリースでは必ず新機能が含まれており、機能強化の意欲盛んな仮想接続ですが、やはり実務上気になる点があります。

以下では懸念点を見ていきましょう。


 

仮想接続の懸念点

現在までの仮想接続における懸念点を見ていきましょう。

 

1.仮想接続に「Publish As/名前を付けて保存」オプションがない

例えばWorkbookを改修したいとします。 それも小さな改修ではなく、データが増えるなど影響度がある程度は見込まれる改修だとします。


このような場合、多くの場合は以下のような流れに沿うのではと思います。

  1. Workbookのコピーを作成し、開発用Project等に保存する。

  2. 保存したコピーについて改修作業を実施する。

  3. 改修後Workbookをテスト、確認のために共有する。

  4. 改修後Workbookを元々のWorkbookに上書き保存して公開する (リリース作業)

要は改修結果が問題ないことを確認するまでは、元々のコンテンツを変える/触ることは避けますよね、という話です。

(小さい改修の場合は直接触ってもいいとは思いますが)


この「コピーを作成する」際に、ダウンロードまたはPublish As機能を使用します。

いわゆる「本番」コンテンツを改修する際に、開発用のコピーを作成し、そのコピー上で作業を行うための手順または機能です。



仮想接続を改修したい場合、上書き保存のみ可能なため 常に「本番」コンテンツを改修する必要があります

(仮想接続にはPublish Asが存在しない)


もしくは手作業で本番コンテンツと同様のものを作成してもいいですが、それはスマートではない気がしますね...

 

2.Live接続の仮想接続からはLive接続のData Sourceしか作成できない

(Prepを介した場合は別です)


以下のようなLIVE接続の仮想接続を用意します。


この仮想接続を使用したData Sourceを作成します。

ご覧のように、Live接続のみ使用可能です。選択不可となっています。

DB側への負荷軽減のために抽出を使用する場合はあると思います。

しかし仮想接続を使用する場合、仮想接続自体を抽出で作成する必要があるようです。


ちなみに抽出の仮想接続に接続した場合も同様にLive接続固定です。 この場合は不要な抽出が作成されないので、良い制限だとは思いました。


そしてPrep使用の場合を見てみましょう。

結論からお話しすると、この場合はLive仮想接続からExtractを作成できます。


したがって仮想接続内のテーブルをExtractとして使用したい場合はPrepを使用する必要がありそうです。

まあ仮想接続で認証と必要なテーブルを格納し、Prep利用してWorkbook/Datasource用に集計しExtract用意する運用もアリと言えばアリですが、ちょっと頭を悩ませますね。

Prep間に挟むと、今度はRLSとの兼ね合いも考えないといけないなぁと...

 

上記2点が実務を想定した際の懸念点でした。

特にコピー作ることが出来ないのはどうしたものかな…と。

さすがに今後のリリースで対応されるとは思いますので、将来のリリース待ちですね。


上記を踏まえ、いま仮想接続をどう使うと良さそうかについてのアイデアを述べ、この記事を締めようと思います。


 

仮想接続を実務で活用するためのアイデア

自分の仮想接続経験値が上がるにつれて考えが変わる可能性はありますが、現時点で自分の思う「こう使えばいいのでは」を述べます。

 

仮想接続はLiveで作る

もちろん何を仮想接続に含めるかによりますが...

極端な話、仮想接続に「よく使うテーブル」を一通り格納して良いのかなと思いました。

この際にLive接続にしておけば、仮想接続は接続情報とテーブル情報を持つだけなのでServer/Cloud容量をほとんど使いません。


というよりPublished Asなりでコピー作れるようになるまでは、Extract仮想接続は運用が難しいのではと思います。

改修かけるたびにExtract更新必須なので、Extract前提にすると小規模(更新時間の少ない)仮想接続以外は作って運用しにくそうだなと...


ちなみに改修を考えると、個人的には各テーブルはカスタムSQLで作った方が良いように思いました。

 

仮想接続に接続したPrep Flowを作成し、抽出作成や集計はPrepで行う

Live仮想接続を使用しつつ、WorkbookではDBにLive接続させたくない場合は、Prepの利用が必要になるようです。

仮想接続の利用を推進するのであれば、同時にPrepの推進も必要になるのではと思います。幸いにしてPrep Conductorも同じData Management Add-onに含まれていますね。


 

適切なProject管理を行う

Tablaeu Serverでは全コンテンツのパブリッシュ権限はすべてProjectの以下権限管理で行われます。

つまり、あるProject内では仮想接続のパブリッシュ可否、Workbookのパブリッシュ可否は分けて制御できません。

(権限周りはちょっと複雑なので、もし間違えていればすみません)


以下のように設定すれば良いのかな、と現状思っています。

  • 仮想接続、Prep Flow、Data SourceのProjectを分け

  • 各ProjectでPublishできるユーザーを管理する

  • 各Projectで権限ロックを行う

仮想接続が乱立する状況は、仮想接続の良さを潰してしまう懸念があり、ここは多少ガバナンス利かせて絞った方が良いように思いました。


ただし、これは公式の置き場を決めましょうという話なので、その他のProjectni仮想接続が作られるケースはあり得ます。

そのような仮想接続を監視する、作らないルールを策定する、などは組織のガバナンス方針に依ると思いますので、ここではあくまで一例として提示します。


 

最後に:仮想接続はやっぱり難しいかも

ここまで書いて思うのは、やはり仮想接続は難しいですね。

仮想接続のメリットはやはり「認証情報の一元管理」だと思いますが、そのために分析の柔軟性が若干損なわれうることが難しいですね。


特にSQL書ける人は、仮想接続とPrepで分析用データ用意するより、直接DB接続してカスタムSQL書けばいいじゃん感もあります。

(自分もその立場に近いので気持ちはとても分かります)


ただ仮想接続にカスタムSQL使用のテーブルは埋め込めるので、やはり運用次第でしょうか。

自分も仮想接続の経験値を貯めて、運用アイデアをもっと考えられればと思います。

ただし率直に言えば、Publish As対応までは本格運用が難しいのではと思いました。安全に開発/改修しながら運用したいなと…


質問などありましたらTwitterかLinkedinでお願いします。それでは。