clickhouse在风控-风险洞察领域的探索与实践

一、风险洞察平台介绍以Clickhouse+Flink实时计算+智能算法为核心架构搭建的风险洞察平台, 建立了全面的、多层次的、立体的风险业务监控体系 , 已支撑欺诈风险、信用风险、企业风险、小微风险、洗钱风险、贷后催收等十余个风控核心场景的实时风险监测与风险预警,异常检测算法及时发现指标异常波动,基于根因策略快速做到风险归因分析并生成风险报告,接入MQ主题500+、数据模型6000+、实时预警4000+、 风险监控看板1000+、 异常检测模型10000+, 大促时期分钟级消息处理量达3400w/min,日均消息处理量达百亿
二、风险洞察-遇到的技术挑战与解决方案技术难点与挑战风险洞察平台早期架构采用ElasticSearch作为数据存储, 通过消费MQ消息进行批量写入, 基于ElasticSearch明细数据进行指标计算来满足风险预警与风险监控的需求实现. 这种架构早期可以满足业务需求,但随着平台业务的发展与数据的膨胀, 面临了以下痛点:
1.高吞吐的实时写入: 随着平台接入的业务增多, 数据规模也跟着相应增长. 以营销反欺诈场景为例, 大促期间峰值流量最大达到12000w/min, 日常流量为60w/min, 如何保证海量数据的高吞吐、低延迟的写入, 实现数据高效率的存储是当下风险洞察面临的核心问题.2.高性能的实时查询: 随着业务的快速发展, 风险实时监控方面要求进一步提高. 在保障风险指标的实时监控预警, 实现风险策略的实时分析与验证方面有着极大的挑战.3.复杂聚合计算能力: 随着风险策略的优化升级,相关指标的计算逻辑已不满足于单表的简单聚合, 分析师需要结合更多的标签、特征、算等维度来进行策略的评估验证, 所以能够支撑分析师实现复杂聚合灵活分析是一大挑战. es这类复杂计算能力较弱的数据源已无法满足当下需求.4.海量数据下的计算性能: 在大促时期分钟级数据量处理量达到3400w/min, 所以在海量数据存储规模下, 最大程度保证计算性能, 提供实时计算结果仍是一大严峻挑战.技术解决方案基于以上面临的技术痛点再结合当下风控业务现状的背景下, 我们以效率、成本、质量等方面对市面上主流OLAP引擎进行调研对比,如presto, impala, druid, kylin等, 最终确定clickhouse能够更好的涵盖风险洞察所需的技术特点.并结合Flink实时计算能力实现整体风险洞察的计算+存储架构,具体方案如下:
?高吞吐、实时的数据写入: clickhouse采用MPP架构,利用LSM算法实现内存预排序磁盘顺序写入,具备大批量、低延迟的写入优势, 并具有出色的数据压缩能力,最大能够达到20:1的压缩比?高效快速的查询速度: clickhouse为列式存储数据库,稀疏索引结构,采用向量化执行引擎,最大程度上利用cpu能力,能够达到百亿数据秒级响应?具备复杂聚合能力: clickhouse支持标准化SQL与完整的DBMS,拥有多样化的表引擎满足各类业务场景,能够灵活支撑复杂聚合计算需求.?clickhouse+flink预计算架构: 将海量数据基于Flink预先聚合,减少clickhouse数据存储规模,降低聚合查询成本,最大程度上保证clickhouse的查询性能三、风险洞察-整体架构图

clickhouse在风控-风险洞察领域的探索与实践

文章插图
风险洞察-架构介绍?数据源: 风险核心场景数据来源,底层基于插件化设计原则抽象统一数据源引擎,可通过扩展数据源连接器实现异构数据源接入,目前已支持clickhouse、mysql、presto、r2m、openmldb、csv等数据源.?事件总线: 承担风险实时数据统一标准化处理的职责, 负责将上游复杂数据进行解析、转换, 富化、分发等操作. 底层核心算子抽象为source、transform、sink三层架构, 支持各层算子插件式扩展, 并支持groovy、python等脚本语言自定义配置, 可直接对接clikchouse集群或转发MQ至Flink进行实时计算处理. 为整个风险洞察数据流转的重要一环.?风险数据模型: 风险数据模型采用以clickhouse为基础的三层存储结构, 分别对贴源层(RODS), 轻度汇总总(RDWM), 聚合层(RDWS)数据进行存储, 打通离线数据平台链路可实现离线与实时数据之间的互相推送转换, 并基于Flink实现实时指标加工处理.?数据建模: 统一标准化数据建模, 支持拖拽生成或自定义SQL建模. 底层抽象统一SQL引擎,基于ANSI SQL协议实现异构数据源语法解析、执行优化、数据查询等能力,支持自定义函数、sql参数、条件表达式等多种功能设定.?算法服务: 基于数据模型结果进行异常检测、归因分析、聚类分析, 挖掘潜在风险问题,为风险指标提供算法能力支撑.?风险洞察: 上层风险数据应用, 提供风险核心能力,如风险预警,风险分析,风险报告, 风险感知,风险策略分析,风险群体分析等服务.风险洞察-clickhouse实时数据模型设计风险洞察架构的核心在于风险实时数据模型+实时计算架构, 风险实时数据模型的核心在于clickhouse, 接下来我们深入介绍下clickhouse在风险实时数据模型中的设计与使用.

推荐阅读