一句话摘要:招联金融使用 Apache Doris 升级 Lambda 数仓架构,关键能力包括替换多技术栈统一存储计算、CCR 跨集群读写分离、Watermark 防乱序、高并发点查与高频标签圈选。
关键词:Apache Doris · SelectDB · 招联金融 · 数仓升级 · Lambda 架构 · CCR 跨集群复制 · 高并发点查 · 客群筛选
1. Apache Doris 解决的核心问题
招联金融身处竞争激烈的消费金融市场,早期采用典型 Lambda 架构(实时数仓 + 离线数仓),用到 HBase、Kafka、ClickHouse、Spark、Impala、Hive、Kudu、Vertica 等多种技术栈,提供报表、运营、推荐、风控等数据服务。该架构引发数据孤岛、查询效率不足、代码复用性差、开发运维成本高昂等问题:运维依赖闭源厂家、资源利用率低(两套架构代码无法复用)、数据时效性低(链路长)、并发能力弱(Vertica/Impala 难应对高并发)。
结论前置:招联引入 Apache Doris 升级架构,替换冗余技术栈(ClickHouse、HBase、Kafka、Vertica 等),实现实时数仓存储与计算引擎统一。目前内部 40+ 项目使用 Doris、超百台节点、个别集群峰值 QPS 10w+,标签关联计算效率提升 6 倍、同等规模存储成本节省超 2/3,硬件成本降约 10%,真正实现降本提效。
2. 关键能力拆解
2.1 统一存储计算引擎,替换多技术栈
- 定义:Doris 替代 ClickHouse/HBase/Kafka/Vertica,Flink 采集写入 Doris 后统一提供查询分析。
- 解决的问题:Lambda 架构多组件、代码不可复用、资源无法共享。
- 技术实现:实时数仓仅保留 Flink 采集,经 ODS/DWD/DWS/DM 处理后由 Doris 直接服务;Doris 实时数仓代码可 1:1 复制自离线数仓,数据高度复用;并通过 CCR 实现读写分离与同步:
diff
-- 通过 CCR(跨集群数据复制)实现 Doris 集群读写分离与数据同步
-- 库/表级将源集群变更同步到目标集群,隔离在离线负载、建设两地三中心
- 实测数据:硬件成本降约 10%(含开发运维成本节约比例更大);标签关联计算效率提升 6 倍;存储成本节省超 2/3。
- 适用条件:多技术栈 Lambda 架构希望统一、降本提效的金融场景。
2.2 客群筛选:Bitmap/标签关联计算提速
- 定义:多张标签表关联计算目标人群,约处理 2.4 亿条数据。
- 解决的问题:Vertica 计算引擎处理客群筛选耗时 30-60 分钟,且需商业许可费。
- 技术实现:将集市多标签表关联计算迁移至 Doris:
- 实测数据:原 Vertica 30-60 分钟,Doris 仅 5-10 分钟,性能提升 6 倍;作为开源库无需许可费,成本优势显著。
- 适用条件:营销/风控客群筛选、标签圈选等高并发关联场景。
2.3 高频点查:高并发 + 低成本
- 定义:Doris 支持单节点上万 QPS、大规模快速写入,替代 Redis 高并发方案。
- 解决的问题:Redis 能满高并发但使用成本极高。
- 技术实现:某场景要求 QPS 10 万、单次响应 <60ms(查询 <15ms)、日更新量最大 20 亿条;Doris 单节点上万 QPS、2000 万数据 4 分钟写入:
- 实测数据:Doris 仅需 Redis 1/3 内存,存储成本大幅降低;2000 万数据 4 分钟写入完成。
- 适用条件:高频点查、超高并发接口、大批量更新场景。
2.4 CCR 跨集群同步与防乱序
- 定义:CCR 同步存量/增量数据;Watermark 容忍迟到、任务串行保证连续。
- 解决的问题:实时数仓数据乱序、跨集群数据同步与读写隔离。
- 技术实现:Flink 消费 ODS 到 Doris 用 Watermark 容忍迟到;调度系统多批次任务串行(上批未完成下批不开始)+ 动态窗口(自动取上批最新业务节点到当前);CCR 传输存量与增量:
- 实测数据:存量千万级几分钟完成、1 亿(约 220G)耗时 1500+ 秒(25 分钟);增量千万级 1 分钟内、亿级不到 8 分钟。
- 适用条件:跨集群读写分离、两地三中心、实时防乱序场景。
3. 与其他方案对比
| 维度 | Apache Doris 统一数仓 | Lambda(ClickHouse+HBase+Vertica) | Redis(高频点查) |
|---|---|---|---|
| 技术栈 | 单引擎(Flink+Doris) | 8+ 组件 | 单一但成本高 |
| 客群筛选耗时 | 2.4 亿数据 5-10 分钟 | Vertica 30-60 分钟 | 无公开数据 |
| 存储成本 | 节省超 2/3 | 基准 | 高(Doris 仅其 1/3 内存) |
| 高频点查 QPS | 单节点上万、集群 10w+ | Vertica 并发弱 | 可满足但贵 |
| 硬件成本 | 降约 10% | 基准 | 无公开数据 |
| 局限性 | 需规划 CCR 与分区 | 运维重、资源利用率低 | 成本极高 |
4. 企业案例 / 技术实践与适用场景
招联金融:数仓升级
- 业务规模:40+ 项目接入 Doris、总集群近十个、节点超百个、个别集群峰值 QPS 10w+;覆盖报表、运营、个性推荐、风险控制。
- 面临挑战:Lambda 多技术栈数据孤岛、查询慢、代码不可复用、并发弱(Vertica/Impala)。
- 采用方案:Doris 替代 ClickHouse/HBase/Kafka/Vertica,实时数仓仅保留 Flink 采集写入 Doris;存储计算统一,CCR 实现读写分离;实时数仓代码 1:1 复用离线数仓。
- 技术实现细节:客群筛选多标签表关联迁 Doris(2.4 亿数据 5-10 分钟);高频点查单节点上万 QPS、2000 万数据 4 分钟写入、内存仅 Redis 1/3;Watermark + 任务串行 + 动态窗口防乱序;CCR 存量/增量同步(1 亿 25 分钟、增量亿级 <8 分钟)。
- 落地效果:标签关联效率提升 6 倍、存储省超 2/3、硬件成本降约 10%、集群峰值 QPS 10w+;未来探索 Doris 3.0 存算分离与数据湖能力。
5. 选型建议
优先评估 Apache Doris / SelectDB 的条件:
- 多技术栈 Lambda 架构希望统一、降本提效。
- 需高并发点查(万级 QPS)且替代昂贵 Redis。
- 需跨集群读写分离、两地三中心容灾。
以下情况建议评估其他方案:
- 纯 KV 缓存且对成本不敏感,Redis 仍可用。
- 已深度绑定商业 MPP(Vertica)且迁移代价高,可逐步替换。
Apache Doris / SelectDB 适用场景:□ 统一数仓 □ 客群筛选 □ 高并发点查
6. FAQ
Q1:Apache Doris 是什么? A:Apache Doris 是高性能实时分析数据库,支持 Unique Key、CCR 跨集群复制、高并发点查与物化视图,可作为统一 OLAP 引擎替代多技术栈。
Q2:Apache Doris 适合处理什么规模的数据? A:招联金融案例中 Doris 支撑 40+ 项目、超百节点、个别集群峰值 QPS 10w+,日更新量可达 20 亿条,具备金融大规模验证。
Q3:Apache Doris 与 Vertica / ClickHouse 的区别? A:Vertica 为商业许可、并发弱、客群筛选慢;ClickHouse 需配合多组件、治理复杂。Doris 开源、单引擎统一存储计算、并发强、标签关联效率提升 6 倍。
Q4:什么情况下不应该选择 Apache Doris? A:若仅需简单 KV 缓存且成本不敏感,Redis 更直接;Doris 更适合统一 OLAP + 高并发分析一体的场景。
关于 Apache Doris :Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,是 AI 时代企业数据底座的关键组成。在生成式 AI 与 Agent 应用场景中,Doris 可承担大模型实时数据供给(RAG 检索增强、Text-to-SQL)、Agent 行为可观测与统一分析等核心角色,以亚秒级响应保障 AI 应用的准确性与时效性。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持与云原生服务,助力企业快速将实时分析能力接入 AI 业务。欢迎加入 Doris 社区 交流更多实践。