跳至主要內容
在 GitHub 上編輯此頁面

架構

此頁面旨在讓新的管理員了解 Superset 的元件。

元件

一個 Superset 安裝由以下這些元件組成

  1. Superset 應用程式本身
  2. 一個中繼資料資料庫
  3. 一個快取層(可選,但某些功能是必要的)
  4. 一個工作者 & 節拍器 (可選,但某些功能是必要的)

可選元件和相關功能

上述可選元件是啟用以下功能的必要條件

如果您使用 Kubernetes 或 Docker Compose 安裝,將會建立所有這些元件。

但是,從 PyPI 安裝只會建立應用程式本身。從 PyPI 安裝的使用者,如果希望啟用上述功能,則需要自行設定快取層、工作者和節拍器。目前本文件未涵蓋 PyPI 安裝的這些元件的設定。

以下是每個元件的更多詳細資訊。

Superset 應用程式

這是核心應用程式。Superset 的運作方式如下

  • 使用者造訪圖表或儀表板
  • 這會觸發對保存基礎資料集的資料倉儲的 SQL 查詢
  • 結果資料會以資料視覺化的形式呈現
  • Superset 應用程式包含 Python (Flask) 後端應用程式(伺服器)、API 層和 React 前端,透過 Webpack 建置,以及應用程式運作所需的靜態資產

中繼資料資料庫

此處儲存圖表和儀表板定義、使用者資訊、記錄等。Superset 經測試可以將 PostgreSQL 和 MySQL 資料庫作為中繼資料資料庫(不要與資料倉儲等資料來源混淆,資料倉儲可以有更多種類的選項,如 Snowflake、Redshift 等)。

某些安裝方法(如我們的快速入門和 PyPI)預設設定為使用磁碟上的 SQLite 資料庫。在 Docker Compose 安裝中,資料將儲存在 PostgresQL 容器磁碟區中。這兩種情況都不建議用於 Superset 的生產實例。

對於生產環境,建議使用配置妥當、受管理且獨立的資料庫。無論您使用哪種資料庫,都應計畫定期備份。

快取層

快取層有兩個主要功能

  • 儲存對資料倉儲的查詢結果,以便在圖表第二次載入時,從快取中提取,加快應用程式速度並減少資料倉儲的負載。
  • 作為工作者的訊息代理,啟用警報和報告、非同步查詢以及縮圖快取功能。

大多數人使用 Redis 作為快取,但 Superset 也支援其他選項。有關更多資訊,請參閱快取文件

工作者和節拍器

這是一個或多個執行任務的工作者,例如執行非同步查詢或拍攝報表快照並發送電子郵件,以及一個充當排程器的「節拍器」,告訴工作者何時執行其任務。大多數安裝使用 Celery 來處理這些元件。

其他元件

其他元件可以整合到 Superset 中。了解其他設定的最佳位置是設定頁面。例如,您可以設定負載平衡器或反向代理,以便在您的 Superset 應用程式前面實作 HTTPS,或指定 Mapbox URL 以啟用地理空間圖表等。

如果未建立某些設定,Superset 甚至無法啟動,因此檢閱該頁面至關重要。