Tableau Cloud でAPI のデータを参照する3つの方法
弊社に頻繁に寄せられるご相談として、「Tableau Cloud からAPI のデータを参照したい」というシナリオがあります。CData 製品を使えば、いろいろな方法でTableau Cloud からのAPI データ参照を実現できます。API を書く必要はありません。
とはいえ実装方法毎に特徴がありますので、この記事では3種類の実装方法とその特徴をご紹介します。

プランA:API ODBC Driver
こちらは、Tableau Cloud に1台のデスクトップからパブリッシュする方法です。Tableau Desktop からTableau Cloud へのデータ更新は手動でのパブリッシュ、またはTableau Bridge を使って、定期的に自動で最新のAPI のデータをTableau Cloud 側にリフレッシュすることも可能です。
必要なライセンスはAPI ODBC Driver Server License です。他の方法に比べ安価に済む点がメリットです。 デメリットは、Tableau Desktop から手動でAPI のデータのリフレッシュをするか、Tableau Bridge を実行するマシンを常時起動する必要がある点です。また、API のデータがAPI リミットを超える場合には全データを取り込むことができません。
プランB:CData Connect AI
こちらは、Tableau Cloud で直接API のデータを扱う方法です。サービス間にCData Connect AI という弊社のデータハブサービスが入ります。こちらはTableau Cloud から最新のAPI のデータへのリフレッシュが可能です。
必要なライセンスは、CData Connect AI Standard Edition です。メリットは、間にデスクトップやサーバーの構築が不要で、価格も安価な点です。また、Tableau Cloud 側から常に最新のAPI のデータが取得できます。 デメリットは、API のデータがAPI リミットより多い場合には全データを取り込むことができない点。
プランC:CData Sync
こちらは、Tableau Cloud がアクセス可能なDB に一度API のデータをレプリケーションする方法です。CData Sync を使って、間にクラウドDB(Amazon RDS やAmazon Redshift など)にAPI データを保管して、Tableau Cloud からDB を参照します。
必要なライセンスは、CData Sync Standard Edition です。メリットは、一度でAPI から取得できない(API リミットにひっかかる)ようなデータでも、差分更新でDB にコピーすることでTableau Cloud から扱える点です。 デメリットはDB へのレプリケーション間隔で1時間や15分などの設定になるので、リアルタイムデータではないという点です。また、間にDB とSync をホスティングする必要があります。シナリオとして、API 以外にも複数のデータソースをTableau Cloud で分析して使いたい場合には、データウェアハウス(DWH)的に一度DB に生のデータをレプリケートし、DWH 上でマスターデータの整備やビューの作成を行うことができる点も、CData Sync のメリットです。
まとめ
まとめると以下のようになります。
| A: CData API Driver | B: CData Connect AI | C: CData Sync | |
|---|---|---|---|
| 方法 | Tableau Desktop / Bridge でAPI データを取得し、パブリッシュ | クラウドデータハブのCData Connect 経由でTableau Cloud からAPI のデータにアクセス | 一度API のデータをDB に保存 |
| リアルタイム | × データのパブリッシュ間隔次第 | 〇 | × データのパブリッシュ間隔次第 |
| API コーディング | 不用 | 不用 | 不用 |
| Tableau Cloud からのデータリフレッシュ | × | 〇 | × |
| 外からのデータリフレッシュ | Tableau Desktop で手動実行 or Tableau Bridge で定期実行 | - | CData Sync が一定間隔でDB を更新 |
| ホスティング有無 | Tableau Desktop/Bridge のホスティングが必要 | 不用 | CData Sync およびDB のホスティングが必要 |
| 費用 | お手頃 | お手頃 | やや高い |
| 差分更新でのAPI リミット回避 | 不可。個別のSQL フィルタリングが可能。 | 不可。個別のSQL フィルタリングが可能。 | 差分更新可。 |
Tableau Cloud からAPI のデータへのアクセスを実現
このように、さまざまな方法でAPI 側の複雑な仕様を意識せずにAPI 連携をしたアプリのデータに、Tableau Cloud からアクセスできます。他にも多くのSaaS に対応するCData 製品の詳細を、以下からご覧ください。