一、概述
Qlik平台为企业提供了一套完整的数据集成与分析解决方案,其核心的三个组件——Qlik Replicate、Qlik Compose和Qlik Sense——分别承担了数据管道中不同阶段的关键职责,三者协同构成了从数据源到业务洞察的端到端数据链。
| Qlik Replicate | 数据复制与实时采集 | 日志式CDC、异构数据源复制、零侵入架构 |
| Qlik Compose | 数据仓库自动化 | 自动建模、ETL代码生成、Data Vault建模 |
| Qlik Sense | 分析与可视化 | 内存分析引擎、交互式仪表板、多数据源加载 |
二、ETL架构设计

2.1 整体数据流架构
Qlik三组件协同的ETL架构遵循 “采集—建模—分析” 的三层流水线模式:
┌─────────────────────────────────────────────────────────────────────────────┐
│ 数 据 源 层 │
│ Oracle │ SQL Server │ MySQL │ PostgreSQL │ SAP │ Mainframe │ 云数据库 │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼ (日志式CDC / 全量加载)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Qlik Replicate (采集层) │
│ • 无代理架构,读取事务日志 │
│ • 全量加载 + 变更数据捕获(CDC) │
│ • 数据落地到Landing Zone │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼ (原始数据)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Landing Zone (原始数据区) │
│ 源表原始副本,保留CDC变更记录 │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼ (ELT转换)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Qlik Compose (建模层) │
│ • Discover自动发现元数据 │
│ • 自动生成Data Vault模型(Hub/Sat/Link) │
│ • 自动生成Full Load和CDC ETL任务 │
│ • 部署数据集市(事务型/聚合型/状态型) │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼ (维度建模后的数据)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Storage Zone / 数据仓库 │
│ 事实表 + 维度表 + 数据集市(DWH/Data Lake) │
└─────────────────────────────────────────────────────────────────────────────┘
│
▼ (数据加载)
┌─────────────────────────────────────────────────────────────────────────────┐
│ Qlik Sense (分析层) │
│ • 内存引擎加载数据模型 │
│ • 交互式仪表板与可视化分析 │
│ • 定时/触发式数据刷新 │
└─────────────────────────────────────────────────────────────────────────────┘
2.2 各层组件详细职责
第一层:Qlik Replicate — 数据采集与实时同步
Qlik Replicate是整个ETL管道的数据入口,负责从各类异构数据源高效、低影响地抽取数据。
核心架构特点:
- 日志式CDC(Change Data Capture) :直接从源数据库的事务日志中读取变更事件,而非通过触发器或查询轮询。这种机制对源系统性能影响极小,实现了"零侵入"架构。
- 事务一致性保证:CDC过程将同一事务中的所有变更缓冲为一个单元,待源端事务提交后才一并转发到目标端。
- 两种加载模式:
- Full Load(全量加载) :首次同步时创建目标表结构并全量灌入数据
- CDC(增量同步) :持续捕获并应用源端的增量变更,实现近实时数据同步
在ETL架构中的位置:Replicate将源数据复制到Landing Zone(着陆区),作为Compose的原始数据来源。可在Replicate层面进行轻量级转换,如数据过滤(剔除不需要的数据)、数据脱敏(满足合规要求)、数据类型转换等。
第二层:Qlik Compose — 数据建模与ETL自动化
Qlik Compose是ETL管道的数据加工与建模引擎,实现了从原始数据到分析就绪数据的自动化转换。
核心架构特点:
- ELT而非传统ETL:Compose采用的是ELT(Extract-Load-Transform)范式——先将数据加载到目标平台,再利用目标平台的算力执行转换,充分发挥云数据仓库(如Snowflake、BigQuery、Redshift)的性能优势。
- 自动化数据建模:
- Discover(自动发现) :扫描Landing Zone中的源表,自动生成元数据
- Data Vault建模:自动生成Hub(业务主键)、Sat(属性)、Link(关系)等Data Vault模型结构
- 数据集市生成:支持事务型、聚合型、状态型等多种数据集市类型
- 自动生成ETL任务:Compose根据数据模型自动生成Full Load和CDC两类ETL任务,用户无需手工编写ETL代码。传统需要45天的ETL编码工作可缩短至2天。
转换发生的三个层级:
| Replicate层 | 数据过滤、脱敏、类型转换(数据进入Landing Zone之前) |
| Metadata层 | 通用业务逻辑、多源整合(Landing Zone与Storage Zone之间) |
| Storage Zone层 | 特定源的数据预处理、多源合并(Landing Zone与Storage Zone之间) |
第三层:Qlik Sense — 数据分析与可视化
Qlik Sense是ETL管道的数据消费层,为业务用户提供数据探索与洞察能力。
核心架构特点:
- 内存分析引擎:Qlik Sense在数据加载时将数据模型加载至内存,支持高速交互式分析。数据模型的结构直接影响刷新成功率和用户响应速度。
- 定时/触发式刷新:通过Qlik Sense Scheduler(QSS)调度应用刷新,可从数据仓库重新加载数据。
- 多数据源整合:可直接连接数据仓库、数据湖等多种数据源。
三、部署架构考量
3.1 组件部署模型
┌─────────────────────────────────────────────────────────────────┐
│ 生产环境(本地/云端) │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ 源数据库 │───▶│ Qlik Replicate│───▶│ Landing Zone │ │
│ │ (Oracle/ │ │ (Server) │ │ (存储层) │ │
│ │ SQL Server)│ └──────────────┘ └──────────────┘ │
│ └──────────────┘ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Qlik Compose │◀───│ 数据仓库/DWH │◀───│ Storage Zone │ │
│ │ (建模引擎) │ │ (Snowflake/ │ │ (转换层) │ │
│ └──────────────┘ │ Redshift) │ └──────────────┘ │
│ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Qlik Sense (分析平台) │ │
│ │ 内存引擎 │ 仪表板 │ 可视化 │ 嵌入式分析 │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
3.2 关键集成点
Replicate与Compose的集成:Compose项目需要先定义一个Replicate任务,将源表复制到Landing Zone;然后在Compose中配置Replicate Server连接并添加任务名称。
Compose与数据仓库的集成:Compose支持主流云数据仓库,包括Snowflake、Databricks、AWS Redshift、Google BigQuery、Microsoft Azure Synapse等。
数据仓库与Sense的集成:Qlik Sense可直接从数据仓库加载经过Compose建模后的维度数据,供业务用户分析使用。
四、架构优势与挑战分析
4.1 关键优势
| 开发效率 | ETL代码自动生成,将数月开发周期缩短至数天 |
| 实时性 | 日志式CDC实现近实时数据同步,取代传统批量ETL |
| 运维简化 | 图形化界面管理,无需手工编码和维护复杂ETL脚本 |
| 数据一致性 | 事务级CDC保证数据完整性和一致性 |
| 可扩展性 | 多服务器、多任务、多线程架构支持大规模企业场景 |
4.2 潜在挑战与应对
| CDC配置复杂度 | 源数据库需开启归档日志/补充日志;建议由DBA提前配置 |
| Landing Zone存储膨胀 | 启用Replicate分区保留功能,定期清理过期文件 |
| 数据模型设计 | 建议采用Data Vault模型保证灵活性;利用Compose的自动建模能力降低门槛 |
| 血缘与治理 | 利用Compose自动生成的元数据和数据血缘功能进行治理 |
| 性能调优 | 建议在Replicate中开启Sequence文件格式和Speed partition模式优化性能 |
五、最佳实践建议
分层设计:严格区分Landing Zone(原始数据)和Storage Zone(转换后数据),保持数据管道的清晰边界。
先Full Load后CDC:首次同步时先运行Full Load任务完成全量加载,再启动CDC任务持续同步增量。
转换位置选择:简单过滤和脱敏在Replicate层完成;复杂业务逻辑在Compose的Metadata层处理。
监控与告警:利用Compose的监控面板实时跟踪任务状态,配置异常告警通知。
迭代式开发:利用Compose的敏捷能力,采用"先建模、后迭代"的方式快速响应业务变化。
六、总结
Qlik Replicate、Qlik Compose和Qlik Sense三者构成了一个从数据采集到数据消费的完整闭环:
- Replicate解决了"如何高效、低影响地获取数据"的问题
- Compose解决了"如何自动化、规范化地建模和转换数据"的问题
- Sense解决了"如何将数据转化为业务洞察"的问题
# —————————————————–
# – 🚀 Powered by Moshow郑锴
# – 🌟 Might the holy code be with you!
# —————————————————–
# 🔍 公众号 👉 软件开发大百科
# 💻 CSDN 👉 https://zhengkai.blog.csdn.net
# 📂 Github 👉 https://github.com/moshowgame
这一架构的核心价值在于将传统ETL开发从手工作坊式编码升级为自动化流水线作业,大幅缩短了数据到洞察的周期,使企业能够更敏捷地响应业务变化。对于希望构建现代化数据平台的企业而言,这一三组件协同的架构提供了一条从数据集成到分析落地的完整路径。

