架構
此頁面旨在讓新的管理員了解 Superset 的元件。
元件
一個 Superset 安裝由以下這些元件組成
- Superset 應用程式本身
- 一個中繼資料資料庫
- 一個快取層(可選,但某些功能是必要的)
- 一個工作者 & 節拍器 (可選,但某些功能是必要的)
可選元件和相關功能
上述可選元件是啟用以下功能的必要條件
如果您使用 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 甚至無法啟動,因此檢閱該頁面至關重要。