混合负载场景
在新一代 SaaS 等混合负载场景下(见图 5.10),使用 TiDB 可以承载
OLTP 类业务,同时使用 TiFlash 加速实时报表,加速对分析业务的查询响
应。从架构上来说,以往需要有不同的数据链路去维护不同数据引擎之间的数
据流转和存储,现在对用户而言只需要一个入口,一个 APP 服务器,不同的
业务类型可以不加区分地接入这个 APP 服务器,APP 服务器向 TiDB 发送请
求,TiDB 将不同的业务向不同的引擎进行分流和加速,整套技术架构栈变得
非常简洁。这个架构对于数字原生企业非常有价值,无论是 C 端的泛电商、支
付、物流、游戏,还是 B 端的 SaaS,都可以在业务快速发展的时候不再需
要担心系统的架构修改,还能从一开始就获得强大的实时分析能力。
流式计算场景
数字时代,越来越多的业务对实时分析的需求更加迫切。在流式计算场景
(见图 5.11)下,对于传统的日志流分析的需求,大数据提供了比较成熟的解
决方案。在联机交易或者要求传统 OLTP 类数据库传输带有删改的数据,以
及带有关联数据的场景下,TiDB 就是目前最理想的方案。
在这种场景下,TiDB 可以非常方便地作为一个从库,挂接在 Oracle 或
者 MySQL 数据库后面,不需要复杂的数据同步手段,借助 Kafka 或者其他
数据管道来进行同步即可。TiDB 可以挂在 MySQL 后面作为从库或者作为
Oracle 的一个复制目的地。与此同时,如果希望做一些数据处理的话,用户
也可以随时切换到传统的数据架构上。
TiDB 本身是一个带有 OLTP 类属性的 HTAP 数据库,对于任何实时的
“删改增”落地,TiDB 可以达到实时响应,整条数据链路可以实现秒级查询。
TiDB 本身的行列混合属性也意味着,数据落地不论是明细数据的明细查询,
还是对于数据的各种不同维度的实时聚合,都可以很好地响应。
Version:0.9 StartHTML:0000000105 EndHTML:0000000321 StartFragment:0000000141 EndFragment:0000000281
数据中枢场景
Version:0.9 StartHTML:0000000105 EndHTML:0000001299 StartFragment:0000000141 EndFragment:0000001259
在数据中枢场景(见图 5.12)中,假设前端有多个业务线,每个业务线都有自
己不同的 OLTP 类数据库,例如财务、EPR、销售、仓储数据库,有 Click Stream、
User Profile,也有产品库,还有用户登录和第三方不同的数据源,这些数据存
放在各自的数据库中,可以通过 CDC 的方式或者通过 Kafka 实时集成到 TiDB
里面。这些从不同数据源、不同业务线整合过来的数据,可以放在数据中枢层。
数据中枢层是相对于离线数仓(全称数据仓库)层的一个概念。首先它只
存放一段时间内的数据,而离线数仓可能会放更久远的历史数据;数据中枢层
更倾向于存放温和热的数据,可以提供实时的数据存取和查询服务。相对于大
数据和离线数仓层而言,数据中枢层可以直接对接数据应用端,既可以承接高
并发访问,又能够以数据服务的形式来提供全量数据的存取,而离线数仓和数
据湖更倾向于离线的方式,通常提供不太新鲜的数据来进行报表与 BI 类查询。
当 TiDB 集成到整个数据平台当中,它充当了一个数据中枢的角色。即使
数据平台中已经有了离线数仓层和 Hadoop 平台,仍然可以把 TiDB 放在业务
层、Hadoop 层,或者在数据仓库层之间,作为提供一个实时数据存储和管理
的平台,用来满足越来越多的用户对实时存取与实时分析数据的需求。
从以上几个场景可以看到,TiDB 的能力已经超越了一个分布式关系数
据库本身。随着 TiDB 5.0 MPP 的引入以及多项企业级特性的增强,TiDB
已经发展成为一栈式数据服务生态。在整个数据服务生态中,并不是只有
PingCAP 在创造和建设,广大社区贡献者们也参与了这套生态的共建和迭
代,总计有 538 位贡献者提交了一万多个 PR,例如知乎就给社区贡献了多
个与大数据生态相关的组件和生态工具,对于大体量用户的业务场景极具应
用价值。




