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 表格,以便從 Snowflake 查詢儲存在資料湖中的資料,而不必複製。這讓您可以在以 S3 的 Parquet 等格式儲存的 Iceberg 管理資料上使用 Snowflake 分析引擎。藉由參考外部表格而不是將資料複製到 Snowflake,可以降低儲存成本、維護單一事實來源並確保湖存放庫和倉庫環境之間的一致性。
您的網路整合和 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 會使用匿名資料主動為您提供支援。