最終更新: 2023/02/12
最終更新時のバージョン: Tableau Cloud 2022.4
Tableau 2021.4で仮想接続 (Virtual Connections)がリリースされました。
仮想接続と合わせて一元化された行レベルのセキュリティ(Data Policy)もリリースされました。
両機能とも基本的には各DatasourceまたはWorkbookに関して
埋め込まれた認証情報
個別に作られている抽出
これら3つを統合管理、現実的には個別コンテンツよりも少なくなる箇所で管理しようという意図で用意されているものと理解しています。
ただし機能紹介や(現状そこまで多くない)資料を見るに、実務に落とし込む上で考える事項が多いように思い、学習のためにブログに諸々書き起こしてみます。
個人のTableau Cloud環境を利用しており、執筆時点での最新バージョンを使用すること、ご了承ください。
記事冒頭にバージョンを記載しています。
仮想接続の概要と利点
上記をリリースノートと併せて参考にしつつ、仮想接続の概要を述べます。
まず前提として、仮想接続はTableau Server/Cloud上でのみ作成できるコンテンツです。
(ただしData Management Add-onが必要)

仮想接続が何を目指すかというのは以下の図で説明されます。
仮想接続を使用しない従来の構成

仮想接続を利用した場合の構成

実際には認証情報と併せてRLSも仮想接続に集中する形ですが、要は「各コンテンツに埋め込まざるを得なかった認証情報/RLSを、仮想接続ひとつに集中させる」ための機能です。
この機能で何が嬉しいか。資料および経験ベースで列挙します。
認証情報を知る人数を減らせる 従来では認証情報が必要な接続先(一般的なデータベースなど)を使用したコンテンツ作成には、作成者が認証情報を知る必要がありました。 仮想接続を使用すれば、仮想接続を作成する人間のみ認証情報を知れば良い形となります。仮想接続を使用するコンテンツ作成者には認証情報を共有する必要がありません。
認証情報を管理する箇所が減る
一番恩恵が大きいのは、退職などでコンテンツ所有者変更を行う場合だと思います。Tableauはコンテンツ所有者変更の際に、埋め込まれた認証情報を削除します。個人的に何度か痛い目見ました。
仮想接続を使用し認証情報が埋め込まれたコンテンツ数を減らすことで、上記の対応範囲を狭めることができます。
所有者変更にかかわらず、認証情報や接続情報を一元管理できるレイヤーが増えたことは、特に管理側ユーザーにとっては好ましいのではないでしょうか。
RLSを設定し管理するコンテンツ数が減る
RLSはDatasourceまたはWorkbook内で設定されるので、言い換えればコンテンツの数だけ管理しなければならない重要なフィルターが作成されることになります。
RLSを使用しデータ表示制御を行う設計が使用されている場合には、こちらは恩恵が大きいのではないでしょうか。
Published Data Source数が減る可能性がある
詳しくは後述しますが、仮想接続の使用によって類似Datasourceを統合することができそうです。
また仮想接続自体が抽出を内包できるので、抽出数や抽出更新スケジュール数も減らせる可能性もありますね。
(ただし実務上の制限はいくつか思いつくところ…こちらは次回以降の記事で)
ということで仮想接続は特に管理者ユーザーに嬉しい機能であり、仮想接続を推進することによって効率的かつ安全にTableauを使える状態を作れるように思います。
概要は以上として、実際の画面を見てみましょう。
仮想接続の画面
ひとつ仮想接続を作成してみました。
Google Bigqueryに格納したSuperstoreデータを使用しています。
TablesにはBigquery内のテーブルそのまま入れましたが、カスタムSQLも使用可能です。

仮想接続の中では基本的に結合を定義しません。
例外的にData Policy設定時にはRelationを定義しますが、今回は深く扱いません。

また仮想接続の中でフィールドのリネームおよび除外を設定可能です。
この辺りはDatasourceと似ていますね。

2021.4 - 2022.3までの仮想接続は単一の接続先利用のみをサポートしていましたが、2022.4以降では複数の接続先利用が可能です。
以下の例ではBigQueryとGoogle Driveの両方に接続しています。

参考: 仮想接続の作成
ちなみに仮想接続を使用したデータソースは(Published Data Sourceと異なり)他のデータソースからのデータも使用することができます。
以下の例では仮想接続のデータと、Excelのデータを同一Datasource内で使用しています。

したがって単一の仮想接続に複数接続元からのデータを格納しなくとも、別の仮想接続に別接続元からのデータを格納し、Datasource上で組み合わせる、という形も可能です。
この辺りは要件や運用次第だと思いますので、使い方の正解というのは無いのではという印象を持ちつつ...
さて仮想接続の画面に戻ると、仮想接続ではLiveかExtractかを選択する必要があります。
2022.4以降のバージョンでは仮想接続全体でLiveかExtractかを選択するのではなく、テーブル単位でLiveとExtractを選べるようになりました。
以下では2022.2以前の画面と、2022.4以降の画面を併記します。 (2022.3で同変更が適用されていた可能性がありますが、リリースノートにない情報かつTableau Cloudは常に最新バージョン利用となるので確認できず...情報お持ちの方はお知らせいただければ幸いです)
(2022.2以前の場合)

仮想接続単位でLiveかExtractかを選択します。
つまりリアルタイム性を求める分析用の仮想接続(Live)と、データのスナップショットがあればよい仮想接続(Extract)を、要件に合わせて作成する必要はありそうです。
この辺りはDatasourceと同じですね。
(2022.4以降の場合)

仮想接続内のテーブル単位でLiveかExtractを選択します。
仮想接続の中にLiveとExtractを同時に持つ形になります。
これはDatasourceとは大きく異なります。
ちなみに増分更新がありませんので、データサイズには気を付けた方がよさそうです。
作成した、Extractを含む仮想接続を見てみましょう。

手動更新はテーブル選択して個別に更新することも、全選択してまとめて更新することも可能です。もちろんスケジュール設定もできます。
RLSについては参考資料に任せるとして…仮想接続についてまとめます。
複数の接続元を仮想接続に使用できる (2022.4以降)
仮想接続にはテーブルを複数格納し、Datasource側で結合など定義させる運用が可能
不要カラムなどは、フィールド削除またはカスタムSQLで除外可能
仮想接続を用いて、認証情報およびRLSを集中管理する運用が可能
仮想接続にはLiveとExtract両方のテーブルを含められる (2022.4以降)
仮想接続で抽出更新させれば、DatasourceやWorkbookで抽出作成させる必要はない
上記にともない、総抽出容量や更新スケジュール数を減らせる
最後に
仮想接続の機能と実際の画面を紹介しました。
うまく使えば管理上の恩恵が大きそうです。いわゆるSelf-serviceデータ分析を推進する上でガバナンスをどのように利かせるかの議論は避けられないように思いますが、仮想接続はその一助となるのではないでしょうか。
一方で個人的には...実務に落とし込みユーザーにどのように使ってもらうか、という点で思案するところが実は大きいです。
そのあたりの懸念は次の記事で紹介しつつ、明らかに恩恵の大きい機能なので、自分も落としどころを適切な運用について考えていきたい所存です。
質問などありましたらTwitterかLinkedinでお願いします。それでは。