本文へスキップ
GitHubでこのページを編集

アーキテクチャ

このページは、新しい管理者にSupersetのコンポーネントの概要を説明することを目的としています。

コンポーネント

Supersetのインストールは、以下のコンポーネントで構成されています。

  1. Supersetアプリケーション自体
  2. メタデータデータベース
  3. キャッシュレイヤー(オプション、ただし一部の機能には必要)
  4. ワーカーとビート(オプション、ただし一部の機能には必要)

オプションのコンポーネントと関連機能

上記のオプションのコンポーネントは、これらの機能を有効にするために必要です。

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は、特定の設定が確立されていないと起動しないため、そのページを確認することが重要です。