バージョンアップ情報
Apache Superset情報
- Apache Supersetとは
- 主な特徴
- 主要コンポーネント
- メリット・デメリット
- 類似プロダクト
- 動作環境
- Apache Supersetのライセンス
- 参考情報
- オープンソース年間サポートサービス
Apache Supersetとは
Apache SupersetはAirbnbが開発したビジネスインテリジェンス(BI)プラットフォームです。
2017年にApache Incubatorに参加し、2021年1月のv1.0.0の発表と同時にApacheソフトウェア財団のトップレベルプロジェクトとして発表されました。
現在はApacheソフトウェア財団がオープンソースソフトウェア(OSS)として開発を行っています。
開発当初は操作性において先行する類似プロダクトに及ばない点も見られたものの、v5.0.0ではUXの大幅な強化、パフォーマンスの最適化、データベース接続の拡張、そしてデータ探索機能の最新化が図られ、BIツールの代替や補完として利用できる使いやすいデータ探索・可視化プラットフォームへと進化しています。
主な特徴
Apache Supersetはノーコードでチャート作成ができる直感的なインターフェースが特徴です。
一方、高度な分析に向けてはウェブベースのSQLエディタやカスタム指標およびディメンションを迅速に設定できる軽量なセマンティックレイヤなどの機能もあり、多様なビジネスニーズに対応可能です。
分析データを蓄積するデータベースについてはMySQLやPostgreSQLを含む約30種類をサポートしており、多様なデータソースとシームレスに連携可能です。
またデータベースへの負荷軽減を目的としたキャッシュ層を設定することもできます。
認証面においては高度で柔軟なセキュリティロールと認証機能を備え、一方でAPIを通じたプログラム的カスタマイズも可能です。
Apache Supersetは拡張性と安定性を重視した設計で、これらの機能はクラウドネイティブなアーキテクチャによって支えられています。
主要コンポーネント
Apache Supersetは以下の主要コンポーネントで構成されています。
1. Supersetアプリケーション本体
Apache Supersetのコアとなる本体部分です。 ユーザがチャートやダッシュボードにアクセスするとそれに対応するSQLクエリがデータベースへ送信され、取得した結果をグラフなどで表示します。 主にPythonのFlaskを利用したバックエンド層、API層、React(JavaScript)によるフロントエンド層から構成されています。
2. アナリティクスデータベース
分析対象となるデータを蓄積します。 企業の売上データ、ウェブログ、IoTセンサーのデータなどを保存し、Supersetアプリケーション本体から発行されるクエリを受けて集計やフィルタリングなどの処理を行います。 Amazon RedshiftやSnowflakeを含む30種類以上のデータベースを利用可能です。
3. メタデータデータベース
チャートやダッシュボードの定義、ユーザ情報、ログなどを保存する役割を担うデータベースです。 アナリティクスデータベースとは別に用意されています。 簡易インストールではSQLiteが使われることもありますが、本番環境ではスタンドアロンデータベースの使用が推奨されており、PostgreSQLおよびMySQLで動作するようにテストされています。
4. キャッシュレイヤ
2種類のキャッシュレイヤがあります。 一般的にはRedisが利用されていますが、他オプションもサポートされています。
- チャートキャッシュ
- リザルトキャッシュ
クエリ結果を一時的に格納し、同じチャートの再読み込み時にデータベースへ負荷軽減と高速化を実現します。
アラート&レポートや非同期クエリ、サムネイルキャッシュ機能のためのメッセージブローカとして機能します。
5. ワーカーおよびビート
非同期処理を担当するワーカーは非同期クエリの実行やレポートのスナップショット取得、メール送信といったタスクを処理します。 ビートはスケジューラとして機能し、ワーカーに処理指示を送ります。 多くの環境ではPythonベースの非同期タスクキューライブラリであるCeleryが用いられています。
Apache Supersetのコンポーネント図

メリット・デメリット
メリット・必要性
Apache Supersetはオープンソースのデータ可視化プラットフォームとして、多様なデータソースに対する高機能なダッシュボード作成を容易にします。
コード不要で直感的にグラフやチャートを作成できるため、データ分析の専門知識が浅いユーザでも扱いやすく、組織内の意思決定を迅速化します。
また、大量データのクエリ実行に最適化されており、高速なレスポンスが期待できます。
クラウド環境やオンプレミスのインフラに柔軟に対応可能なことから企業規模での導入にも適しています。
デメリット・注意点・課題
Apache Supersetはユーザ数やデータ規模が非常に大きい環境ではパフォーマンスチューニングやスケーラビリティの課題が生じることもあります。
開発コミュニティは活発ですが、公式サポートがないためトラブル発生時には解決に時間を要することがあります。
また、最新機能の適用やセキュリティ更新といったバージョンアップ対応を行うために維持管理体制の整備が欠かせません。
類似プロダクト
Apache Supersetと類似のオープンソースのBIツールとしてはMetabase、Redashなどが挙げられます。
- Metabaseはシンプルで初心者にも扱いやすく、直感的なインターフェースでクエリ作成やダッシュボード作成が可能です。
- Redashは多種多様なデータソースに対応し、SQLクエリを中心とした柔軟なデータ分析をサポートしています。
動作環境
Apache Supersetは以下の方法でインストール可能です。
Docker Compose
複数のコンテナ(Apache Superset本体、PostgreSQL、Redis、Celeryなど)をまとめて簡単に起動できる方法で、試用や開発、小〜中規模の運用に適しています。
ただし、メタデータ用データベースのバックアップは自分で行う必要があります。
標準のDockerイメージにはデータベース接続用のドライバなどが含まれていないため、自分でイメージを拡張する必要があります。
Kubernetes
大規模な本番環境向けの方法で自動スケーリングや無停止アップデートが可能です。
Kubernetesの運用スキルが必須で、Dockerイメージの作成・管理やクラスタの運用も行う必要があります。
メタデータベースのバックアップもユーザ責任です。
PyPI経由のインストール
Pythonパッケージとして直接インストールする方法です。
コンテナを使わずPostgreSQLやRedis、Celeryなど周辺サービスもすべて自分で準備し接続設定を行う必要があり、運用・アップデートの手間が増えます。
PyPIを使用する場合の動作環境は以下の通りです。
- Ubuntu
- Red Hat Enterprise Linux
- macOS
Apache Supersetのライセンス
Apache Supersetは、Apache License version 2.0というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布が可能です。
オープンソース年間サポートサービス
OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。