Qlik Open Lakehouse 架构
Qlik Open Lakehouse 在 Qlik Talend Cloud 中提供了一个完全托管的端到端解决方案,用于在基于 Iceberg 的湖仓一体中摄取、处理和优化数据。该解决方案可提供低延迟的查询性能和大规模的高效数据操作。
Qlik Open Lakehouse 架构结合了安全通信、可扩展计算和高效数据处理,以提供现代化的湖仓一体体验。Qlik Open Lakehouse 利用了 AWS 原生组件,包括 EC2 和 S3。
核心组件
创建 Qlik Open Lakehouse 需要以下实体。
数据移动网关 (CDC)
数据移动网关在您的本地或云环境中运行。它从源系统(如 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 Open Lakehouse 的持续计算成本。
除了定义要使用的 Spot 实例和按需实例的数量之外,您还可以配置最适合您项目工作负载和预算的扩展策略。以下扩展策略可应用于集群:
-
低成本:非常适合开发或 QA 环境,以及不依赖于新鲜、实时数据的工作负载。Qlik 努力将成本保持在尽可能低的水平,这会导致偶尔出现高延迟的情况。
-
低延迟:专为非关键任务工作负载设计,在这些工作负载中,接近实时的数据新鲜度是可以接受的。虽然此策略旨在实现低延迟,但可能会遇到短暂的峰值。
-
一致的低延迟:适用于具有大规模数据且必须具有实时数据新鲜度的生产环境。Qlik 会主动扩展实例以确保低延迟,这可能会产生更高的成本。
-
不扩展:对于处理一致数据量的工作负载来说,这是一个不错的选择。选择此选项可保留静态数量的实例,无需自动扩展,且成本可预测。
Amazon S3 存储段
Amazon S3 存储段的使用方式如下:
-
登陆数据存储段:原始 CDC 数据在转换之前登陆到 S3 存储段中。
-
配置存储段:存储湖仓一体系统使用的元数据和配置。
-
Iceberg 表存储:数据以 Iceberg 格式表进行存储和优化。使用的存储段由项目的目录连接决定。
高级流程
初始设置
-
VPC 和基础架构配置 - 按照 Qlik 文档中的说明,在您的 AWS 账户中配置 VPC 以及子网、S3 存储段和 IAM 角色。
-
网络集成配置 - 租户管理员使用先前配置的基础架构详细信息在 Qlik Talend Cloud 中创建网络集成。
-
Qlik 组件的部署 - Qlik 会在您的 VPC 中自动配置数据平面网关和湖仓一体集群。
-
建立通信 - 数据平面网关安全地与 Qlik Talend Cloud 建立通信。
-
网关部署 - 在本地或您的云环境(包括数据平面 VPC)中部署数据移动网关 (CDC)。
-
准备运行 - 设置完成后,您可以根据其访问权限创建和管理 Qlik Open Lakehouse 项目和任务。
创建 Qlik Open Lakehouse 项目
以下任务类型可用:
登陆数据任务
-
源配置 - 数据移动网关配置为从源系统(包括 RDBMS、SAP、大型机等)捕获更改。
-
数据登陆 - CDC 任务不断将原始更改数据发送到您 AWS 账户中指定的 S3 登陆存储段。
存储数据任务
-
注册 Iceberg 目录连接,例如 AWS Glue Data Catalog。
-
在 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)。成功接受后,连接将转换为安全的 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 会使用匿名化数据主动为您提供支持。
数据集架构
Qlik Open Lakehouse 管道项目中的数据集架构由数据源决定。有关更多信息,请参阅以下内容: