Qlik Open Lakehouse 架构
Qlik Open Lakehouse 在 Qlik Talend Cloud 中提供了一个完全托管的端到端解决方案,用于在基于 Iceberg 的湖空间中摄取、处理和优化数据。该解决方案可提供低延迟的查询性能和高效大规模数据操作。
Qlik Open Lakehouse 架构将安全通信、可扩展计算和高效数据处理结合在一起,提供现代化湖空间体验。Qlik Open Lakehouse 利用 AWS 本机组件,包括 EC2、S3 和 Kinesis。
核心组件
创建 Qlik Open Lakehouse 需要以下实体。
Data Movement Gateway (CDC)
数据运动网关可以在企业内部或云环境中运行。它能捕捉来自 RDBMS、SAP 或大型机等数据源系统的变化,并将数据发送到 Amazon S3 登陆区。
网络集成代理(EC2 实例)
网络集成代理是一个 EC2 实例,可促进云中的 Qlik 服务与环境中的湖空间群集之间的安全通信。该代理在网络集成过程中作为按需实例自动部署,并由 Qlik 全面管理。新版本会在发布时自动部署。
当网络集成正常运行时,管理活动中心的湖空间群集视图中会显示连接状态。如果出现连接问题,状态会变为已断开。
湖空间群集(EC2 自动缩放组)
湖空间群集是一组负责数据处理的 AWS EC2 实例。群集实例协调并执行工作负载,处理来自登陆区域的传入数据,处理后以 Iceberg 格式将数据存储在目标位置。
在设置网络集成时,会自动创建一个带单个 AWS Spot Instance 的 Lakehouse 群集。您可管理和创建额外群集,以支持您对湖空间的持续需求。配置群集时,您需要授予 Qlik 创建、启动、停止、缩放或回滚服务器的权限,以满足数据处理要求。每个群集与一个网络集成相关联,但在同一个网络集成中可以运行多个群集。一个群集可以运行许多湖空间任务。
AWS Spot Instance 使用 Amazon EC2 的备用容量,成本低于普通实例,但 AWS 可能会在几乎没有通知的情况下中断该实例。默认情况下,Qlik 为数据处理配置临时 Spot 实例。如果 AWS Spot 市场上可用的 Spot 实例不足,Qlik 自动使用按需实例以确保连续性。当有现货实例可用时,系统将恢复 Spot 实例的使用。湖空间群集技术的设计目的是在 Spot 和 On-Demand 实例之间优雅过渡,在节点之间移动作业。这一过程自动进行,无需人工干预。在群集设置中,您可以配置群集中应使用多少个 Spot 和 On-Demand 实例。利用 Spot 实例有助于降低 Qlik Open Lakehouse 的持续计算成本。
除了定义要使用的 Spot 和 On-Demand 实例数量外,您还可配置最适合项目工作量和预算的扩展策略。群集可采用以下扩展策略:
-
低成本:非常适合开发或质量保证环境,及不依赖新鲜实时数据的工作负载。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 中自动配置数据平面网关和一个 Lakehouse 群集。
-
建立通信 - 数据平面网关安全地与 Qlik Talend Cloud 建立通信。
-
网关部署 - 在企业内部或云环境中部署数据运动网关 (CDC),包括数据平面 VPC。
-
随时可操作 - 设置完成后,您可根据访问权限创建和管理 Qlik Open Lakehouse 项目和任务。
创建 Qlik Open Lakehouse 项目
可以提供以下任务类型:
登陆数据任务
-
源配置- 数据运动网关经配置后,可捕获来自 RDBMS、SAP、大型机等源系统的更改。
-
数据登陆 - CDC 任务会持续将原始变更数据发送到 AWS 账户中指定的 S3 存储段。
存储数据任务
-
注册一个 Iceberg 目录连接,例如 AWS Glue Data Catalog。
-
在 Qlik Talend Cloud 中定义存储任务。
-
Qlik Talend Cloud 将任务定义发送到数据平面网关。
-
数据平面网关将任务指令安全地转发到 Qlik Lakehouse 群集。
-
群集从 S3 中的存储段持续读取原始数据,进行处理,并将输出写入 S3 中的 Iceberg 数据表。
-
湖空间群集会根据湖空间群集设置中预定义的首选项,根据负载情况自动扩大或缩小。
-
监控数据发送至 Qlik Talend Cloud ,并且日志和指标转发至 Qlik。
镜像数据任务
您可以创建外部 Iceberg 数据表,以便从您的云数据仓库查询存储在数据湖中的数据,而无需复制。这样,您就可在 S3 上以 Parquet 等格式存储的 Iceberg 管理数据之上使用您的数据仓库分析引擎。通过引用外部数据表而不是将数据复制到您的数据仓库,可降低存储成本,维护单一数据源,并确保湖空间和仓库环境之间的一致性。
您的网络集成和 Qlik Talend Cloud 之间的通信
网络集成会建立到 Qlik Talend Cloud 的出站安全连接 (HTTPS)。成功接受后,连接将转换为安全 Web 套接字 (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 使用匿名数据主动为您提供支持。