アーキテクチャ
このページは、新しい管理者にSupersetのコンポーネントの概要を説明することを目的としています。
コンポーネント
Supersetのインストールは、以下のコンポーネントで構成されています。
- Supersetアプリケーション自体
- メタデータデータベース
- キャッシュレイヤー(オプション、ただし一部の機能には必要)
- ワーカーとビート(オプション、ただし一部の機能には必要)
オプションのコンポーネントと関連機能
上記のオプションのコンポーネントは、これらの機能を有効にするために必要です。
KubernetesまたはDocker Composeでインストールした場合、これらのコンポーネントはすべて作成されます。
ただし、PyPIからインストールすると、アプリケーション自体のみが作成されます。PyPIからインストールするユーザーは、上記の機能を有効にしたい場合は、自分でキャッシュレイヤー、ワーカー、ビートを設定する必要があります。PyPIインストールのこれらのコンポーネントの設定は、現在このドキュメントでは説明されていません。
各コンポーネントの詳細を以下に示します。
Supersetアプリケーション
これはコアアプリケーションです。Supersetは次のように動作します。
- ユーザーがチャートまたはダッシュボードにアクセスします。
- これにより、基になるデータセットを保持するデータウェアハウスへのSQLクエリがトリガーされます。
- 結果のデータは、データ視覚化として提供されます。
- Supersetアプリケーションは、Python(Flask)バックエンドアプリケーション(サーバー)、APIレイヤー、Webpackによって構築されたReactフロントエンド、およびアプリケーションの動作に必要な静的アセットで構成されています。
メタデータデータベース
チャートとダッシュボードの定義、ユーザー情報、ログなどが格納されます。Supersetは、PostgreSQLとMySQLデータベースをメタデータデータベースとして動作するようにテストされています(データウェアハウスなどのデータソースと混同しないでください。データウェアハウスはSnowflake、Redshiftなど、はるかに多様なオプションがあります)。
クイックスタートやPyPIなどのインストール方法では、デフォルトでオンディスクのSQLiteデータベースを使用するように構成されています。Docker Composeインストールでは、データはPostgreSQLコンテナボリュームに格納されます。これらのいずれも、Supersetの本番インスタンスには推奨されません。
本番環境では、適切に構成された管理されたスタンドアロンデータベースをお勧めします。使用するデータベースに関係なく、定期的にバックアップする計画を立ててください。
キャッシュレイヤー
キャッシュレイヤーは、2つの主要な機能を果たします。
- データウェアハウスへのクエリの結果を保存して、チャートが2回ロードされた場合に2回目にキャッシュから取得できるようにし、アプリケーションの速度を向上させ、データウェアハウスの負荷を軽減します。
- ワーカーのメッセージブローカーとして機能し、アラートとレポート、非同期クエリ、サムネイルキャッシング機能を有効にします。
ほとんどの人はキャッシュにRedisを使用しますが、Supersetは他のオプションもサポートしています。詳細については、キャッシュドキュメントを参照してください。
ワーカーとビート
これは、非同期クエリの実行やレポートのスナップショットの取得とメールの送信などのタスクを実行する1つ以上のワーカーと、スケジューラとして機能し、ワーカーにタスクを実行するタイミングを指示する「ビート」です。ほとんどのインストールでは、これらのコンポーネントにCeleryを使用します。
その他のコンポーネント
その他のコンポーネントをSupersetに組み込むことができます。追加の設定に関する学習に最適な場所は、設定ページです。たとえば、ロードバランサーまたはリバースプロキシを設定して、Supersetアプリケーションの前にHTTPSを実装したり、Mapbox URLを指定して地理空間チャートを有効にしたりすることができます。
Supersetは、特定の設定が確立されていないと起動しないため、そのページを確認することが重要です。