同盾科技 x TiDB丨实时数据架构为风控智能决策保驾护航

news2024/11/24 21:00:16

同盾科技是中国领先的人工智能科技企业。为了确保服务的低延迟和高可用性,同盾的技术团队不断寻找最佳的技术架构。经过长时间调研,他们最终选择了新一代分布式数据库 TiDB 作为离线层的核心数据库,基于 TiDB 打造的实时数据架构为风控智能决策保驾护航

同盾科技是中国领先的人工智能科技企业,专注决策智能领域,致力于帮助政企客户防范风险、提升决策效率。同盾科技坚持自主科技创新,多项算法和软件系统已达全球领先水平,并形成了“基于隐私计算的共享智能平台-智邦”和“基于人工智能的决策智能平台-智策”两大平台,聚焦于金融风险、安全风险、政府治理风险三大场景,业务覆盖全球数十个国家,为 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 的过程中遇到一些问题也马上能在社区得到解决。

解决方案

1.png

最终,同盾科技数据库团队构建了一整套基于 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 已经在各大主流公有云上提供服务,这也给同盾科技构建坚实的技术底座提供了更好的选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144121.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java中常用API总结(3)—— Runtime类(含实例解读)

Runtime类一、前言二、概述1.API帮助文档2.概述三、常用方法1.获取当前系统的运行环境对象1️⃣格式2️⃣实例2.获取CPU总线程数1️⃣格式2️⃣实例3.能够获取总内存大小(单位byte)1️⃣格式2️⃣实例4.已经从系统中获取总内存大小(单位byte)1️⃣格式2️⃣实例5.剩余内存大小1…

【开源项目】Sa-Token快速登录(使用+源码解析)

什么是Sa-Token 官网&#xff1a;https://sa-token.dev33.cn Sa-Token 是一个轻量级 Java 权限认证框架&#xff0c;主要解决&#xff1a;登录认证、权限认证、Session会话、单点登录、OAuth2.0、微服务网关鉴权 等一系列权限相关问题。 快速使用 引入Maven依赖 <!-- w…

有奖征集丨大数据/人工智能模型开发征集

大数据人工智能模型开发征集 为助力构建创新型人才培养模式&#xff0c;培养具有创新精神和实践能力的高素质智能技术人才&#xff0c;激发学生积极参与数据科学研究、技术开发、数据学科竞赛等各类社会实践活动的创新热情。依托模型交易平台&#xff0c;为学生提供自主学习…

认识Linux系统结构

Linux 系统一般有 4 个主要部分&#xff1a;内核、shell、文件系统和应用程序。内核、shell 和文件系统一起形成了基本的操作系统结构&#xff0c;它们使得用户可以运行程序、管理文件并使用系统。 Linux内核 内核是操作系统的核心&#xff0c;具有很多最基本功能&#xff0c;…

linux系统中进一步理解设备树

第一&#xff1a;前言 大家好&#xff0c;我是ST。 目录 第一&#xff1a;前言 第二&#xff1a;框图 第三&#xff1a;体验设备树 第四&#xff1a;实验过程分析 第五&#xff1a;实验代码 1、应用程序ledtest.c&#xff1a; 2、驱动层leddrv.c 3、硬件层&#xff1a…

不忘初心,坚持创作和分享,做自己喜欢的事 - 2022 年回顾

不知不觉&#xff0c;来到 Elastic 已经三年多了。在 Elastic 的三年&#xff0c;是疫情发生的三年。对很多人来说&#xff0c;疫情对我们的工作和学习都有很大的变化。好在我还能静下心来&#xff0c;每天坚持学习&#xff0c;不断地创作。记录下来自己的学习及成长经历。我学…

苹果电脑数据回复Aiseesoft Data Recovery

苹果电脑照片误删了怎么找回&#xff0c;数据丢失怎么办&#xff1f;Aiseesoft Data Recovery是专业数据恢复软件&#xff0c;能够帮助你恢复几乎所有删除/丢失的文件&#xff0c;如照片&#xff0c;文件&#xff0c;电子邮件&#xff0c;音频&#xff0c;视频且支持从计算机&a…

C语言深度剖析指针

文章目录 一、指针简单介绍 二、进阶指针的详解 2、1 字符指针 2、2 指针数组 2、3 数组指针 2、3、1 数组指针的定义以用法 2、3、2 数组名和&数组名的区别 2、3、3 数组指针的用法 2、4 函数指针 2、4、1 函数指针的解释 2、4、2 函数指针的举例分析 2、5 函数指针数组 2…

Python 图片转换(Image Conversion) (JPG ⇄ PNG/JPG ⇄ WEBP)

这里我们将使用 PIL&#xff08;Python Imaging Library&#xff09;或 pillow 库&#xff0c;它在 Python 中广泛用于图像处理&#xff0c;Python Imaging Library 中最重要的类是在Image同名模块中定义的类。您可以通过多种方式创建此类的实例&#xff1b;通过从文件加载图像…

高通开发系列 - usb和adb服务启动流程

By: fulinux E-mail: fulinux@sina.com Blog: https://blog.csdn.net/fulinus 喜欢的盆友欢迎点赞和订阅! 你的喜欢就是我写作的动力! 目录 初始化usb相关服务启动adbd服务adbd服务adb devices -l命令串口号丢失问题初始化usb相关服务 /lib/systemd/system/usb.service /etc…

基于yolov5-v7.0开发构建裸土实例分割检测识别模型

yolov5在v7.0的版本中加入了对图像实例分割的全面支持&#xff0c;这里主要就是想基于v7.0的分支来开发构建裸土分割模型&#xff0c;其实在实际计算的时候模型是可以连带着检测任务一起输出结果的&#xff0c;这里我从结果形式上面直观来看应该就是在推理阶段直接基于分割的结…

回顾2022年的历程,展望2023年目标

这里写目录标题回顾2022年博客之星你参加了吗&#xff1f;学习方面写博客方面在涨粉丝方面展望2023回顾2022年 时间如梭&#xff0c;转眼间已经2023年了。 你开始做总结了吗&#xff1f; 博客之星你参加了吗&#xff1f; 这是 2022 博客之星 的竞选帖子&#xff0c; 请你在这…

中国电信分布式物联网操作系统CTWing OS 2.0发布!

近日&#xff0c;2022天翼数字科技生态大会云上隆重开幕&#xff0c;由中国电信天翼物联自主研发的分布式物联网操作系统CTWing OS 2.0最新成果正式发布。CTWing OS 2.0在体系架构、系统功能、系统性能、稳定保障、安全可信、行业赋能六大要素上实现全面提升&#xff0c;全方位…

SQLSERVER 的复合索引和包含索引到底有啥区别?

一&#xff1a;背景 1. 讲故事 在 SQLSERVER 中有非常多的索引&#xff0c;比如&#xff1a;聚集索引&#xff0c;非聚集索引&#xff0c;唯一索引&#xff0c;复合索引&#xff0c;Include索引&#xff0c;交叉索引&#xff0c;连接索引&#xff0c;奇葩索引等等&#xff0c…

首发ML-30s+,一径打响CES激光雷达大战第一枪

作者 | 王博 编辑 | 于婷2023年1月&#xff0c;CES再度在美国拉斯维加斯拉开帷幕。随着车企在车载软硬件上不断加大投入&#xff0c;CES也越发变得像一个高规格的全球车展。 根据研究机构Counterpoint的测算&#xff0c;由于高阶ADAS和Robotaxi普及&#xff0c;到2030年全球激光…

Spring Cloud Netflix 全套组件入门到实战

文章目录简介注册中心核心功能高可用配置服务调用RestTemplateRestTemplateRibbonFegin负载策略超时&重试服务熔断降级机制隔离机制线程池隔离信号量隔离Hystrix仪表板服务路由启用Zuul路由配置参考文档代码仓库通过本文可以给你带来什么&#xff1f;熟悉掌握Spring Cloud&…

关于OPCUA的配套规范

OPC UA中的信息建模能力足够强大&#xff0c;使OPC UA成为定义从简单的数据&#xff08;如工程单位和传感器或设备生成的最大/最小范围&#xff09;到大型复杂关系的理想选择&#xff0c;其中包括涉及数据结构&#xff0c;方法和状态机的复杂对象类型的实例化。也就是说&#x…

mysql数据库的基础操作(一)

一、导入/导出sql脚本 1.1 导入sql脚本 1.1.1 终端导入sql脚本 在mysql中&#xff0c;执行source命令 mysql> source /chenshuai/cs.sql 1.1.2 可视化工具导入sql脚本 在Navicat Premium中&#xff0c;右键这个数据库&#xff0c;然后Execute SQL File 1.2 导出sql脚本…

Redis主从、哨兵、集群模式

众所周知,redis是目前非常流行的缓存中间件之一。在redis官网有这么一段话: redis有着丰富的数据结构&#xff0c;如 字符串&#xff08;strings&#xff09;&#xff0c; 散列&#xff08;hashes&#xff09;&#xff0c; 列表&#xff08;lists&#xff09;&#xff0c; 集合…

Please restart this script from an administrative PowerShell!

执行 npm install --global --vs2019 --production windows-build-tools报一下错误信息 Downloading python-2.7.15.amd64.msi Downloading Python failed. Error: Error: getaddrinfo ENOTFOUND cdn.npmmirror.com at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:…