Closed12
アカデミック向けデータ可視化環境の技術選定

OSS のダッシュボード環境として Superset がよさそうに思っていたのだが、チャートの機能がそもそも研究者の要件を満たさなかった
研究者に必要なのは、一般に「BI ツール」と呼ばれているものよりもっとプリミティブなものだろう

要件
(重要度の高いものから順に)
- 素朴な x-y 散布図を描ける(可視化の基本だと思っていたが BI ツールから選ぼうとするとそうでもないらしい)
- RDB と接続できる
- OSS 版がある
- 自前の分析モデルを書ける
- 無理ならパイプライン前段に分離できるので必須ではない。ただしできたほうが開発速度が上がる
- マネージドなデプロイ環境がある

検討対象

Plotly Dash

Plotly で描いたグラフを Dash でダッシュボード web アプリケーションにできる
Plotly 部分はフレームワークではなくライブラリなので何でも書ける
要件 | 対応 | 備考 |
---|---|---|
散布図 | ✅ | |
RDB 接続 | ✅ | |
OSS 版 | ✅ | |
分析モデル構築 | ✅ | |
マネージドデプロイ環境 | ✅ | OSS 版を使った場合にも Posit Connect Cloud の無料枠を使える |

Shiny

こちらもフレームワークではあるが、言語でできることはふつうにできるはず
要件 | 対応 | 備考 |
---|---|---|
散布図 | ✅ | |
RDB 接続 | ✅ | |
OSS 版 | ✅ | |
分析モデル構築 | ✅ | |
マネージドデプロイ環境 | ✅ | Posit Connect Cloud と Shinyapps.io の選択肢がある |

Observable

要件 | 対応 | 備考 |
---|---|---|
散布図 | ✅ | |
RDB 接続 | ❌ | |
OSS 版 | ✅ | https://observablehq.com/framework/ |
分析モデル構築 | ❌ | |
マネージドデプロイ環境 | ✅ |

これはデータ可視化アプリのフロントエンドの開発 & デプロイ環境を提供するサービスだった。
- D3 を直接書けるのでビジュアライゼーションの表現力はこれが一番高い
- Observable そのものが環境なのでインフラ構築の手間はない
- なので、どこかに転がってる API を使って、データの可視化表現自体に集中したい場合に向いている
- API がなくとも、データがそんなに大きくないならフロントで直接パースする手もある

選定基準
- データアプリを高速に開発したいなら Plotly Dash。インタラクティブな表現もある程度細かく書ける
- 分析に集中したい、あるいは手元にある既存の分析結果を web で公開したいなら Shiny
- 意図通りのデータ鑑賞体験を提供したいなら Observable

0→1 開発なら、「最終的にどんな体験を提供したいか」や「ツール乗り換えをどの程度許容できるか」で選ぶとよさそう。
- 体験にフォーカスした成果物を作りたいなら(「楽しい」とか「感動した」を引き出したいなら)、最終的には D3 を使えるもの(Observable ほか)に乗り換える必要がある。ならば最初はなるべく工数をかけず開発できるものがいい。フロントの状態管理を書かなくていいので Shiny から始めるといい
- ずっと同じ技術を使いたいなら Plotly Dash。Shiny よりもインタラクティブ性を細やかに調整できるはず。しかし D3 は Plotly でラップされた範囲しか使えないので体験を最高にしたい場合には限界が来ることがある
このスクラップは2025/03/25にクローズされました