写点什么

实时数据架构如何助力风控智能决策 | 技术出海案例故事之 TiDB x 同盾科技

  • 2023-04-13
    北京
  • 本文字数:2545 字

    阅读完需:约 8 分钟

实时数据架构如何助力风控智能决策 | 技术出海案例故事之TiDB x 同盾科技

同盾科技是中国领先的人工智能科技企业,专注决策智能领域,致力于帮助政企客户防范风险、提升决策效率。同盾科技坚持自主科技创新,多项算法和软件系统已达全球领先水平,并形成了“基于隐私计算的共享智能平台-智邦”和“基于人工智能的决策智能平台-智策”两大平台,聚焦于金融风险、安全风险、政府治理风险三大场景,业务覆盖全球数十个国家,为 22 大行业、118 个细分场景的上万家客户提供了领先且独具特色的决策智能解决方案。

 

风控业务场景对数据库的需求与挑战

 

作为一家第三方风控公司,客户经常需要调用同盾的智能决策服务去做业务决策,如电商大促期间防范黑产薅羊毛,个人信贷杜绝多头借贷老赖行为等。因此,同盾服务调用常常呈现出非常大的 TPS 请求。同时,为了不影响客户调用服务的质量与体验,同盾对低延迟和高可用有着硬性要求。

   

基于这样的特征,同盾日均过亿的决策服务调用,会产生包括非结构化/结构化多种数据结构类型在内的海量数据入库。丰富的数据类型与多样的细分场景,使得同盾科技必须使用多种数据库去满足不同的业务场景需求,在同盾的数据架构中包含了 Cassandra、MySQL、HBase、Redis、Mongo 等数据库。

   

在同盾的数据架构中,大多数初始落库的数据还比较原始,为了提供优质的数据服务用于智能决策,技术团队构建了成熟的大数据平台,用 T+1 离线数据分析的方式去进行日常的离线数据分析作业,利用数据二次加工赋能上层的风控智能决策。

 

但面对复杂的数据基础架构,同盾在业务增长中也遭遇了如下挑战:

  • 同盾拥有在线数千个大大小小的 MySQL 工作实例,数据十分分散,有一些是核心的风控业务系统数据,有一些是后台基础架构平台的数据,还有一些是集团 IT 系统数据,同盾希望通过集中化的方式对这些数据进行分析管理;

  • 最开始同盾将上游 MySQL 数据同步到下游进行分析,但整个过程中数据交换工作效率非常低,整体作业分析的 SLA 无法得到保证;

  • 由于上下游数据同步的阻塞问题,导致了离线数据同步实时性很差,上下游数据经常出现数据不一致的情况,非常影响提供给作业的数据质量。

 

其实同盾科技的业务场景并不复杂,只需要同步生产环境中数千个 MySQL 实例至下游的离线系统,提供给作业开发人员通过大数据平台进行离线分析加工。项目的核心目标是在海量数据落库下,保障在线到离线数据的数据库的准实时性和一致性,并提供优质的数据服务给内部的风控系统开发人员、算法模型工程师和运营人员加工数据。

 

为什么选择 TiDB?

 

经过长时间调研,同盾科技的技术团队最后选择了新一代分布式数据库 TiDB 作为离线层的核心数据库。同盾科技数据库运维梁高升表示,主要有以下几点原因最终促成同盾选择 TiDB :

 

首先,TiDB 高度兼容 MySQL 协议,在 TiDB 的使用和运维过程中大大减轻了运维和开发人员的使用成本;

第二,TiDB 作为分布式数据库,同盾可以把它看成一个大的数据库实例,可以汇聚上游所有的 MySQL 实例数据;

第三,TiDB 具备存算分离的架构,可以让同盾非常灵活地控制硬件成本,而不用一味堆砌服务器;

最后,TiDB 拥有非常活跃的社区。即使在使用 TiDB 的过程中遇到一些问题也马上能在社区得到解决。

 

解决方案

 


最终,同盾科技数据库团队构建了一整套基于 TiDB 的数据流转架构,该架构共分为三层:

 

实时数据层


同盾内部有 3000+ MySQL 实例,在实时数据库层通过 MySQL cloud 管控上游数千个 MySQL。

 

传输层


在传输层,从 MySQL Cloud 对接实时数据同步任务到内部 Otter ,Otter 可以实现准实时同步 MySQL 数据,然后再由 OTTER 实时同步数据到 TiDB。

 

上下游同步组件决定了数据在下游离线场景的整体数据质量,同盾对数千个 MySQL 实例同步数据的同时,需要保证其稳定性、低延迟及整体可控的管理成本。虽然 PingCAP 数据迁移工具 DM 支持全量/增量灵活的数据导入场景,并具有较快的导入速率,但目前单个 DM worker 只支持绑定一个数据源,这限制了管理大量 MySQL 同步任务的需求。同盾最后选择使用 OTTER 作为常态化的数据增量同步平台,但 OTTER 只支持增量数据同步,且单任务吞吐有上限,同盾通过使用其支持 spark streaming 来进一步保障同步得吞吐和准实时性。未来在 TiDB 推出一个 DM worker 支持多个数据源的特性后,同盾会再考虑进行替换。

 

离线数据层


离线数据层中的大数据平台主要管控 TiDB 的元数据和实际到下游的同步情况。 在 Spark 运行作业的过程中通过 TiSpark 去访问 TiDB,最后接入 Hadoop 进行分析作业。

 

业务收益

 

通过打造 TiDB 数据产品链,同盾科技实现了数千个 MySQL 数据的离线汇聚管理。TIDB 有着便捷易操作的 Dashboard 管理界面,运维无心智负担,大大提升了数据库运维团队的管理运维和使用数据的便捷性与效率。同时,TiDB 的高性能保障提供高质量的数据服务,实现了准实时同步数据。

 

同盾科技数据库运维梁高升介绍,同盾刚开始上线的是 TiDB 2.0 早期版本,在上下游数据同步过程中遇到了一些 TiDB 和 MySQL 不那么兼容的情况,如果在上游有大量数据更新的情况下,会出现同步阻塞的情况,导致同步的实时性、一致性出现问题。但 TiDB 版本迭代速度非常快,每个版本都会对性能及稳定性做出大量改进和优化,在升级到 5.4 版本后,同盾就已经解决了大部分的兼容问题。而且在基准测试中,TiDB 的性能也得到了质的飞跃。

 

未来规划

 

同盾科技是 TiDB 非常早期的用户,多年的使用让同盾确信 TiDB 是一款非常好的产品,未来也会继续致力于在更多的场景依靠 TiDB 生态落地赋能一些业务场景。例如,虽然同盾的大部分作业是 T+1,但内部也有很多实实在在的实时分析场景,比如实时展示的 BI 系统,通过 TiFlash 实时分析查询引擎可以进一步提升分析效率,更及时地满足实时分析需求;同盾国内在线业务针对海量关系型数据库初始使用的是 MYCAT,但是 MYCAT 的运维非常困难,对开发也不是很友好,更像是上一代的分布式数据库产品。后续,类似 MYCAT 这样的场景也很有必要使用 TiDB 进行替换。

   

近几年,随着出海趋势愈发火热,同盾科技在出海业务势头也非常迅猛,业务涉及东南亚、北美、欧洲等多个区域,这就需要在谷歌云、AWS、阿里云等通用公有云上,有一款标准的分布式数据库服务,帮助其在全球快速布局业务。而 TiDB Cloud 已经在各大主流公有云上提供服务,这也给同盾科技构建坚实的技术底座提供了更好的选择。

 

2023-04-13 14:132780
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 550.4 次阅读, 收获喜欢 1978 次。

关注

评论

发布
暂无评论
发现更多内容

【愚公系列】2022年06月 通用职责分配原则(三)-低耦合原则

愚公搬代码

6月月更

spring4.1.8扩展实战之五:改变bean的定义(BeanFactoryPostProcessor接口)

程序员欣宸

Java spring Spring Framework 6月月更

助力直播平台源码脱颖而出,要完成哪些关键功能?

开源直播系统源码

软件开发 直播源码

大数据培训Flink 简介与认知

@零度

flink 大数据开发

InfoQ 极客传媒 15 周年庆征文|漫谈公网网络延迟

耳东@Erdong

运维 6月月更 InfoQ极客传媒15周年庆 网络延迟

Linux开发_Makefile规则与Shell脚本语言

DS小龙哥

6月月更

docker和docker compose安装使用、入门进阶案例

偶尔善良

Docker docker-co

使用 Prometheus 监控 SAP ABAP 应用程序

汪子熙

云计算 Kubernetes 云原生 abap 6月月更

MySQL索引

龙空白白

索引 MySQL InnoDB

JVM调优简要思想及简单案例-JVM是什么?

zarmnosaj

6月月更

InfoQ 极客传媒 15 周年庆征文| 手把手带你入门 API 开发

宇宙之一粟

flask-restful 6月月更 InfoQ极客传媒15周年庆 API开发

测试开发【Mock平台】04实战:前后端项目初始化与登录鉴权实现

MegaQi

测试平台开发教程 测试干货 6月月更

面试突击57:聚簇索引=主键索引吗?

王磊

Java MySQL 面试

测试开发【Mock平台】05开发:项目管理(一)后端接口

MegaQi

测试平台开发教程 6月月更 测试技术干货

字符串

Jason199

js 字符串 6月月更

测试流程如何落地?

老张

软件测试 质量保障

几个非常有用的 Flutter 技巧,你可以立即使用!

坚果

6月月更

实战 | Kibana面板使用

写程序的小王叔叔

Kibana ELK Stack 6月月更

C#入门系列(十六) -- 类及其成员介绍

陈言必行

C# 6月月更

6大优势、2种类型,一文吃透动态应用安全测试(DAST)

SEAL安全

DevOps 网络安全 DevSecOps 软件安全

InfoQ 极客传媒 15 周年庆征文|uni-app 路由传参参数丢失问题解决方案探究

No Silver Bullet

前端 6月月更 InfoQ极客传媒15周年庆 路由传参

【Python技能树共建】pyspider框架的使用

梦想橡皮擦

Python 6月月更

gogs使用webhook部署react单页应用

Nick

ci 持续集成 React 6月月更 gogs

【协程】LifecycleScope源码解析

yechaoa

android 协程 6月月更 LifecycleScope

纯CSS 毛玻璃效果 💎

德育处主任

CSS 纯CSS 6月月更

Django 中的视图 | Python

海拥(haiyong.site)

Python django 6月月更

企业知识管理就是信息化建设吗?

小炮

JavaScript异步函数async/await

大熊G

JavaScript 前端 6月月更

Paper Reading 预告 | Volcano-An Extensible and Parallel Query Evaluation System(众神推荐的 Paper 下载合集)

TiDB 社区干货传送门

TiDB Paper Reading

云原生技术 - 如何从代码到制作并发布一个 Helm 包?

孙健波

云原生 Helm

CentOS环境基于nginx搭建负载均衡

乌龟哥哥

6月月更

实时数据架构如何助力风控智能决策 | 技术出海案例故事之TiDB x 同盾科技_AI&大模型_TiDB技术团队_InfoQ精选文章