Qlik 開放湖倉庫 架構
Qlik 開放湖倉庫 在 Qlik Talend Cloud 中提供了完全受管理的端到端解決方案,用於在基於 Iceberg 的湖存放庫中擷取、處理和最佳化資料。此解決方案提供低延遲查詢效能和有效率的大規模資料操作。
Qlik 開放湖倉庫 架構結合了安全通訊、可擴展的運算和有效率的資料處理,提供現代化的湖存放庫體驗。Qlik 開放湖倉庫 運用 AWS 原生元件,包括 EC2、S3 和 Kinesis。
核心元件
建立 Qlik 開放湖倉庫 需要以下實體。
Data Movement gateway (CDC)
Data Movement gateway 在您的本機或雲端環境中執行。這會擷取來自來源系統 (例如 RDBMS、SAP 或主機)的變更,並將資料傳送到 Amazon S3 登陸區域。
網路整合代理程式 (EC2 執行個體)
網路整合代理程式是 EC2 執行個體,可促進雲端中的 Qlik 服務與環境中的湖存放庫叢集之間的安全通訊。此代理程式在網路整合過程中自動部署為隨選執行個體,並由 Qlik 完全管理。新版本在發佈時自動部署。
當網路整合正常運作時,管理活動中心的湖存放庫叢集檢視中將顯示已連線狀態。如果出現連線問題,狀態將變成已中斷連線。
湖存放庫叢集 (EC2 自動擴展群組)
湖存放庫叢集是一組負責資料處理的 AWS EC2 執行個體。叢集執行個體協調並執行工作負載,以處理來自登陸區域的傳入資料,並在處理後將資料以 Iceberg 格式儲存在目標位置。
在設定網路整合期間,會自動建立具有單一 AWS Spot 執行個體的湖存放庫叢集。您可以管理和建立額外的叢集,以支援您目前的湖存放庫需求。設定叢集時,您會向 Qlik 授予權限,以便建立、開始、停止、擴展或復原伺服器,以滿足資料處理要求。每個叢集都與單一網路整合相關聯,但多個叢集可以在相同的網路整合中執行。單一叢集可以執行許多湖存放庫任務。
AWS Spot 執行個體使用備用的 Amazon EC2 容量,成本低於一般執行個體,但可能會在短時間通知下遭到 AWS 中斷。依照預設,Qlik 會佈建暫時性 Spot 執行個體以進行資料處理。如果 AWS Spot 市場中可用的 Spot 執行個體不足,Qlik 會自動使用隨選執行個體以確保持續性。若 Spot 執行個體可用,系統將恢復為 Spot 執行個體。湖存放庫叢集技術旨在 Spot 執行個體和隨選執行個體之間順利轉換,並在節點之間移動工作。此流程會自動進行,無需手動干預。在叢集設定中,您可以設定叢集中應使用多少個 Spot 和隨選執行個體。運用 Spot 執行個體有助於降低 Qlik 開放湖倉庫 的持續運算成本。
除了定義要使用的 Spot 和隨選執行個體的數量,您也可以設定最適合專案工作負載和預算的擴展策略。以下擴展策略可套用於叢集:
-
低成本:非常適合開發或 QA 環境,以及不依賴有時效性之即時資料的工作負載。Qlik 力求盡量降低成本,導致偶爾出現高延遲。
-
低延遲:專為可接受近乎即時之資料時效性的非關鍵任務工作負載而設計。雖然此策略旨在降低延遲,但可能會出現短暫的峰值。
-
持續低延遲:適用於必須具有即時資料時效性的大規模資料生產環境。Qlik 主動擴展執行個體,以確保低延遲,這可能會產生更高的成本。
-
無擴展:對於處理一致資料量的工作負載而言,這是一個不錯的選項。選擇此選項可保留靜態執行個體數量,而沒有自動擴展和可預測的成本。
Kinesis 串流 (工作負載協調)
Qlik 需要 Kinesis 串流,以整理和轉送湖存放庫叢集中每個伺服器的狀態。由於伺服器之間不會互相通訊,因此伺服器會直接向 Kinesis 報告任務狀態和操作指標,例如 CPU 和記憶體。每個伺服器會輪詢來自 Kinesis 串流的資料,以探索有關叢集內其他伺服器的資訊。這種資訊交換使得工作同步成為可能。
Amazon S3 值區
Amazon S3 值區的使用方法如下:
-
登陸資料值區:原始 CDC 資料在轉換之前在 S3 值區中登陸。
-
設定值區:儲存湖存放庫系統使用的中繼資料和設定。
-
Iceberg 表格儲存:資料以 Iceberg 格式表格進行儲存和最佳化。
高階流程
初始設定
-
VPC 和基礎結構佈建 - 按照 Qlik 文件中的說明,在您的 AWS 帳戶中設定 VPC 以及子網路、S3 值區、Kinesis 串流和 IAM 角色。
-
網路整合設定 - 租用戶管理員使用先前佈建的基礎結構詳細資訊,在 Qlik Talend Cloud 中建立網路整合。
-
Qlik 元件部署 - Qlik 自動在您的 VPC 內佈建資料平面閘道和湖存放庫叢集。
-
建立通訊 - 資料平面閘道與 Qlik Talend Cloud 安全地建立通訊。
-
閘道部署 - 在內部部署或雲端環境中部署 Data Movement Gateway (CDC),包括資料平面 VPC。
-
操作準備就緒 - 設定完成後,您可以根據存取權限建立和管理 Qlik 開放湖倉庫 專案和任務。
建立 Qlik 開放湖倉庫 專案
可用的任務類型如下:
登陸資料任務
-
來源設定 - Data Movement gateway 設定為擷取來自來源系統的變更,包括 RDBMS、SAP、主機等。
-
資料登陸 - CDC 任務持續將原始變更資料傳送到您的 AWS 帳戶中指定的 S3 登陸值區。
儲存空間資料任務
-
註冊 Iceberg 目錄連線,例如 AWS Glue 資料目錄。
-
在 Qlik Talend Cloud 中定義儲存任務。
-
Qlik Talend Cloud 可將任務定義傳送到資料平面閘道。
-
資料平面閘道將任務說明安全地轉送到 Qlik 湖存放庫叢集。
-
叢集不斷從 S3 中的登陸值區讀取原始資料,對其進行處理,然後將輸出寫入到 S3 中的 Iceberg 表格。
-
湖存放庫叢集會根據湖存放庫叢集設定中預先定義的偏好,根據負載自動擴大或縮小規模。
-
監控資料會傳送到 Qlik Talend Cloud,記錄和指標會轉送到 Qlik。
鏡像資料任務
您可以建立外部 Iceberg 表格,以便從您的雲端資料倉庫查詢儲存在資料湖中的資料,而不必複製。這讓您可以在以 S3 的 Parquet 等格式儲存的 Iceberg 管理資料上使用您的資料倉庫分析引擎。藉由參考外部表格而不是將資料複製到您的資料倉庫,這可以降低儲存成本、維護單一事實來源並確保湖存放庫和倉庫環境之間的一致性。
您的網路整合和 Qlik Talend Cloud 之間的通訊
網路整合與 Qlik Talend Cloud 建立傳出安全連線 (HTTPS)。成功接受後,連線將轉換為安全的網路通訊端 (WSS)。在網路整合和 Qlik Talend Cloud 之間建立了額外的專用通訊管道 (WSS),以接收湖存放庫特定的任務命令和控制。網路整合會定期與 Qlik Talend Cloud 建立安全連線 (HTTPS),以接收和傳送資料相關事件。指標和記錄從湖存放庫叢集傳送到 Qlik。
我們採取以下措施確保您的資料安全:
-
從您的網路整合到 Qlik Talend Cloud 的所有連線都是向外傳出。無需傳入存取。
-
中繼資料、命令和控制請求使用 HTTPS 保護的通訊管道來傳輸,在網路整合和 Qlik Talend Cloud 之間建立額外的加密層。
-
所有資料在您擁有的資源之間流動。資料永遠不會傳送到 Qlik Talend Cloud。例如,表格名稱和欄名稱等中繼資料會傳送到 Qlik Talend Cloud,以允許任務定義。
-
資料在傳送到 Qlik 之前是匿名狀態。如果記錄或指標指出有問題,則 Qlik 會使用匿名資料主動為您提供支援。