---
title: 'TiDB x 老虎国际 | 降低架构复杂性，保障全球用户安全可靠投资'
date: '2023-06-30T06:32:07+08:00'
status: publish
permalink: /case/user-case-tiger-brokers
author: xuliwen
excerpt: '出于对开源技术的信任和认同，老虎国际很早就在数据中台业务中应用了 TiDB 3.0 版本，此后一路升级到 TiDB 5.0，解决了业务挑战与数据安全挑战。'
type: case
id: 1255
thumbnail: https://img1.pingcap.com/files/2023/02/老虎国际.png
industry:
    - 金融
scene:
    - '实时 HTAP'
company_desc:
    - '老虎国际是一家全球知名的国际化券商，在新加坡、美国、中国香港、澳大利亚等地持有 59 张牌照或资质，在全球多地开展业务。投资者在老虎国际可通过一个账户交易美股、港股、A 股（沪港通/深港通）、星股（新加坡股）、澳股（澳大利亚股）、期货、基金等全球主要市场的金融产品，享受一流的投资体验。'
white_paper_link:
    - ''
banner_image:
    - ''
---
券商是一个古老的行业，发展至今已经历了三个时代：第一代券商为传统券商，在线下交易大厅进行买卖；第二代券商开始了电子化进程，从线下到线上进行了浅层服务的转移，改善了用户体验，提高了金融服务的效率；第三代券商更多强调“科技赋能”，在功能业务上更创新、更多样，且存在完整的互联网基因，业务依靠线上平台，拥有底层自研能力，如交易、风控等系统。

老虎国际自主研发的交易平台 TigerTrade，累计交易规模在三年内突破 10000 亿人民币，创下互联网券商冲击万亿交易规模最短用时。2019 年 3 月，老虎国际在美国纳斯达克挂牌上市，目前拥有全球近 900 万用户，年交易规模超 2000 亿美元。

业务挑战
----

作为一家全球化的券商，每个国家证券行业发展情况不同，数据合规要求也存在差异，比如新加坡有 PDPA，欧盟有 GDPR，美国有 CCPA 等，甚至不同国家业务特点也大为迥异。在每个国家/地区都本地部署业务系统显然并不现实，老虎国际采用跨地区的混合云架构为全球用户提供支撑，解决在数据架构、数据安全、数据合规等方面所面临的的全球挑战。

同时，老虎国际的数据架构复杂度非常高，底层系统包含 Java、Python、Go 等不同的语言，中间件、数据库、大数据等都是异构场景，导致维护成本和研发效能都大打折扣。

此外，在老虎国际证券业务发展过程中，业务波动性是常态，这也使得其核心业务--后台账本系统，经常面临数据库的性能挑战。后台账本是用户在老虎国际参与证券交易时，如产品购买、出入金、IPO 打新、公司行动、被收费等各个业务版块，针对用户行为明细数据记录的系统。账本每天需要记录大量的用户流水，并根据用户行为生成用户每日账单。如果账本出现问题，直接关系到用户体验和投资收入。

2020 年 3 月，美股遭遇了前所未有的震荡，开盘即暴跌，触发一级熔断机制，暂停交易 15 分钟。老虎国际的数据库也经历了前所未有的数据查询量，查询数量曲线呈指数级增长，原有的 MySQL 遇到了极大瓶颈。证券交易还要求数据库具有金融级数据强一致性，并具备灾备能力，一旦某个机房宕机，另一个机房可以立刻启用。

数据安全性、数据可用性和数据架构复杂度成为老虎国际国际化业务的三大挑战。出于对开源技术的信任和认同，老虎国际很早就在数据中台业务中应用了 TiDB 3.0 版本，此后一路升级到 TiDB 5.0，解决了业务挑战与数据安全挑战。

解决方案
----

老虎国际的后台账本底层数据架构由多套集群组成，单集群数据量接近 2TB，MySQL 数据库虽然具有较好的稳定性和负载能力，但为了应对不断增长的数据量只能采取分库分表方案，难以保证跨分片的事务一致性，跨库的 Join 关联查询性能较差，数据库多次扩展难度和维护量极大。2021 年，老虎国际的运维与研发团队对主流的冷热数据分离、分库分表、分布式数据库等方案进行选型与性能压测。在压测中，TiDB 在 P95 延迟、TPS 事务指标、QPS 等方面整体性能都强于 MySQL，并且 TiDB 的性能可以随着节点水平扩展线性提升，解决性能和单机资源瓶颈问题。压测增强了老虎国际技术团队的信心，最终决定将后台账本的 MySQL 集群也迁移到分布式数据库 TiDB 上。

![1.png](https://img1.pingcap.com/prod/1_a58bbd14db.png)![2.png](https://img1.pingcap.com/prod/2_e3f05f3e78.png)由于 TiDB 拥有非常丰富的生态组件，整个迁移过程十分顺利。为了保障业务稳定，老虎国际采用了新旧数据库同时写入的方式，通过 DM 将 MySQL 数据同步至 TiDB 集群，逐渐切换一部分读流量到 TiDB，整个迁移历经近 3 个月，最终全部切换到 TiDB。同时，老虎国际也制定了“逃生方案”，通过 TiCDC 将数据同步到下游的一个 MySQL 集群，一旦发现 TiDB 有问题可以随时切换。在经过半年多业务的考验后，最终技术团队将该 MySQL 集群关闭。

![3.png](https://img1.pingcap.com/prod/3_495dd8df9f.png)不同国家对于监管、数据可用性，以及 SLA（服务级别协议）要求非常高。在同城，老虎国际还利用 TiDB 的灾备架构，通过 TiCDC 在灾备机房部署了一个 TiDB 集群作为灾备方案，当主机房发生故障时，服务器负载均衡自动切换到备用机房，保证数据服务高可用，整体延迟达到分钟级甚至更低。

为什么选择 TiDB？
-----------

对于券商而言，数据处理速度与成本是紧密相关的。MySQL 的分库分表维护成本较高，对业务的限制也比较多。而 TiDB 的分布式架构无需分库分表，大大简化技术栈，降低了运维难度，通过在线水平扩展有效解决底层数据存储扩容难题；TiDB 的金融级高可用特性，可靠的灾备、数据恢复方案保障了老虎国际证券业务稳定运行；TiDB 高度兼容 MySQL，有着成熟的 MySQL 迁移方案，研发侧大部分代码无需改动，即可顺利完成整个迁移工作，大大降低迁移成本。

业务收益
----

现在，老虎国际的数据架构整体可以分为三部分：第一，将分布在各业务系统甚至 APP 内的数据进行收集；第二，进行数据处理；第三，将数据持久化存储。非敏感数据通过 DM 和 CDC 快速同步到 TiDB，敏感数据通过 Flink 进行脱敏后输入 TiDB，利用 TiDB HTAP 的能力构建数据中台和实时数仓，既保证 OLTP 查询时系统的稳定性，又保证 OLAP 的快速分析，两者同时存在又保证隔离，兼顾安全和稳定。最后，老虎国际还将 TiDB 作为类似数据湖的概念提供数据源给下游的 HDFS 使用，对外提供更多数据服务。

![4.png](https://img1.pingcap.com/prod/4_fa7f31dbc7.png)过去，老虎国际的数仓只能满足 T+1 的数据分析，通过 TiDB ，老虎国际实现了实时同步、实时分析，将延迟降低到了 5 秒钟；同时，TiDB 的性能实现了比较快的数据接入，之前 Hbase 中只有 4,000+ 表，TiDB 目前已经达到 80,000+ 表；此外，使用 TiDB 后，老虎国际将数据的全量同步变成增量同步，极大减少了网络带宽压力。TiDB 统一了两个大数据分析场景，提升了易用性，并节省了 40% 的资源，实现了降本增效。