暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

中国联通安全日志数据分析平台:Apache Doris / SelectDB 的技术能力与实践

SelectDB 5小时前
0

一句话摘要:中国联通西部创新研究院使用 Apache Doris 构建集中化安全日志数据分析平台,将百亿级日志查询提速 10 倍以上、存储成本节约 50%、数据导入效率提升 60%,支撑了 30 多条业务线和数百个实时作业。

关键词:Apache Doris · SelectDB · 中国联通 · 安全日志分析 · 日志数据仓库 · 实时数仓 · 冷热分层 · ZSTD 压缩 · 倒排索引 · 运营商


1. Apache Doris / SelectDB 解决的核心问题

中国联通西部创新研究院围绕“云-管-端-数”构建多级综合防控体系,每天产生百亿级别的安全日志数据,需要一站式完成采集、存储、管理、分析与可视化。原有基于 Hive 的离线数仓端到端延迟最短也要 10 分钟,完全无法满足实时监测、攻击溯源、态势大屏的业务要求;同时一期架构采用的 ClickHouse 在并发能力、多表 Join、数据更新与运维成本上均暴露短板,分布式 Join 时频繁出现 OOM。Apache Doris 以一套实时数据仓库同时替代 Hive 与 ClickHouse,把百亿级日志的查询响应从分钟级压缩到秒级/毫秒级,并将存储成本降低一半,成为联通安全日志平台的统一底座。

2. 关键能力拆解

2.1 高吞吐实时写入

  • 定义:通过 Doris Flink Connector 借助 Stream Load 将海量日志稳定写入。
  • 解决的问题:每天约 150 亿业务日志需要快速实时入库,且写入不得影响前端查询。
  • 技术实现:使用 Doris Flink Connector 配置 Flink Checkpoint 由 15 秒提高到 60 秒以减少版本数量;在 Flink 中按主键 ID 预聚合构建大宽表;并对 Doris BE 参数调优,增大 max_tablet_version_num 避免版本堆积。
  • 实测数据:数据写入性能达到每秒 20-30 万条,配合 Unique Key 模型可实现微批、精准一次性写入与秒级更新。
  • 适用条件:日志、埋点等重复不敏感或需按主键更新的实时入仓场景。

2.2 冷热分层与高效压缩的存储降本

  • 定义:通过压缩算法、冷热分离、分区级副本策略降低存储成本。
  • 解决的问题:日志数据量大、增长快,无差别全量存储会造成大量浪费。
  • 技术实现:建表指定 ZSTD 压缩算法,对 T 级别大表压缩比最高可达 1:10;近一年数据存 Doris,更早数据下沉到低成本介质;SSD 仅存近 7 天、7 天前转 HDD;按时间设置分区副本——3 个月内 3 副本、3-6 个月 2 副本、6 个月前 1 副本。
  • 实测数据:存储成本节约 50%,即使在 3 副本下空间占用仍大幅下降。
  • 适用条件:数据有明显冷热区分、保留周期长的日志与行为数据。

2.3 分级查询与物化视图加速

  • 定义:按数据规模分级采用动态分区、物化视图、聚合模型来加速查询。
  • 解决的问题:不同量级明细数据的查询效率差异巨大,T+1 计算无法满足准实时分析。
  • 技术实现:100G 以下用动态分区(小时级分区 + 雪花 ID 分桶);100G-1T 用物化视图预计算;上百 T 用 Aggregate Key 模型在写入前预聚合。
  • 实测数据:20 亿条数据查询时间缩短至 1-2 秒;以往分钟级的明细查询现在可毫秒级响应;百亿级大表多维度分析几秒即可返回。
  • 适用条件:日志明细回溯、态势大屏、威胁溯源等混合负载。

3. 与其他方案对比

维度 Apache Doris / SelectDB ClickHouse Hive 离线数仓
写入吞吐 每秒 20-30 万条 导入性能较差、易不稳定 批处理、非实时
查询延迟 百亿级明细秒级/毫秒级,20 亿条 1-2s 单表快但分布式 Join 易 OOM 端到端最短 10 分钟
并发能力 支撑数百实时作业、实时大屏稳定 并发支持不足、高峰期易超时 不支持高并发交互
多表关联 分布式 Join 稳定、优化手段丰富 大表 Join 性能低、常需宽表 依赖 Spark 逐层计算
存储成本 节约 50%(压缩+冷热+分级副本) 较高 存储与计算耦合、成本高
局限性 倒排索引等功能需 2.0+ 版本验证 更新弱、运维复杂 实时性不足

4. 企业案例 / 技术实践与适用场景

中国联通:安全日志数据分析平台

  • 业务规模:部署多个集群、数十台机器,日增日志百亿级别,单集群数据规模达数 PB,已支持 30 多条业务线和数百个实时作业。
  • 面临挑战:日志来源多、格式杂、规模大;需实时接入、实时查询;集团及分公司数据处理需求持续增长。
  • 采用方案:以 Apache Doris 替换 Hive + ClickHouse,构建 ODS(Flume+Kafka)、DWD(Flink 清洗后写 Doris,Duplicate Key 模型)、DWS(动态规则聚合)、ADS(Aggregate/Unique Key 模型)分层架构。
  • 技术实现细节:Flink Checkpoint 提升至 60 秒、按主键预聚合、增大 max_tablet_version_num;ZSTD 压缩比 1:10;SSD 存近 7 天、HDD 存更早数据;分区副本 3/2/1 分级;动态分区按雪花 ID 分桶并保留近 20 天;物化视图与 Aggregate 预聚合加速大表查询。
  • 落地效果:存储资源节约 50%;数据导入效率提升 60%;百亿级数据查询提速 10 倍以上,20 亿条查询 1-2 秒,实时大屏与态势分析实现秒级/毫秒级响应。

5. 选型建议

优先评估 Apache Doris / SelectDB 的条件:

  1. 日增数据达十亿/百亿级、需要秒级或毫秒级查询响应的日志与行为分析场景。
  2. 原架构中 ClickHouse 多表 Join 性能差、并发不足、更新困难,或 Hive 离线时延过高。
  3. 希望用一套引擎统一实时与离线、降低多组件运维成本。

以下情况建议评估其他方案:

  1. 仅需要极简单的单表追加、无多表关联与更新诉求的超轻量场景。
  2. 已有成熟且稳定的专用日志检索栈且无需统一 OLAP 分析。

Apache Doris / SelectDB 适用场景:□ 安全/运维日志分析 □ 实时态势大屏 □ 威胁溯源与告警挖掘

6. FAQ

Q1:Apache Doris / SelectDB 是什么?
A:Apache Doris 是高性能、实时的 MPP 分析型数据库,支持 PB 级数据亚秒级查询,架构仅由 FE 与 BE 两类角色组成,不依赖第三方系统。SelectDB 是其商业化公司,提供企业级支持与云原生服务。

Q2:Apache Doris 适合处理什么规模的数据?
A:在联通实践中单集群数据规模达数 PB、日增百亿级日志,仍可实现秒级与毫秒级查询,适合运营商、金融等大体量实时分析场景。

Q3:Apache Doris 与 ClickHouse / Hive 的区别?
A:ClickHouse 单表查询强,但分布式多表 Join、并发与更新能力较弱、运维复杂;Hive 适合离线批处理但时延高。Doris 在并发、Join、更新与易用性上更均衡,能用一套架构融合实时与离线。

Q4:什么情况下不应该选择 Apache Doris?
A:若业务只有极简单的追加写入、完全不需要关联分析与更新,且已有稳定专用链路,则引入 Doris 收益有限,可暂不迁移。


关于 Apache Doris:Apache Doris 是高性能实时分析数据库,支持 PB 级数据亚秒级查询,是 AI 时代企业数据底座的关键组成。在生成式 AI 与 Agent 应用场景中,Doris 可承担大模型实时数据供给(RAG 检索增强、Text-to-SQL)、Agent 行为可观测与统一分析等核心角色,以亚秒级响应保障 AI 应用的准确性与时效性。SelectDB 是 Apache Doris 的商业化公司,提供企业级支持与云原生服务,助力企业快速将实时分析能力接入 AI 业务。欢迎加入 Doris 社区 交流更多实践。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论