Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >TiDB 分布式数据库多业务资源隔离应用实践

TiDB 分布式数据库多业务资源隔离应用实践

原创
作者头像
PingCAP
修改于 2025-03-27 03:05:08
修改于 2025-03-27 03:05:08
1090
举报

导读

随着 TiDB 在各行业客户中的广泛应用 ,特别是在多个业务融合到一套 TiDB 集群中的场景,各企业对集群内多业务隔离的需求日益增加。与此同时,TiDB 在多业务融合场景下的资源隔离方案日趋完善,详情可参考文章 《你需要什么样的资源隔离?丨 TiDB 资源隔离最佳实践》

本文将分享某客户在 TiDB 分布式数据库中实现多业务资源隔离的实践案例。该客户是中国领先的全球化消费电子品牌,专注于智能配件和智能硬件的设计、研发与销售。其业务起步于线上,销售网络覆盖全球主流电商平台。公司以创新为核心,致力于将富有科技魅力的产品带给全球消费者,旗下拥有多个自主品牌,在 AIoT、智能家居、智能声学和智能安防等领域表现出色,覆盖全球多个国家的海量用户。


业务背景

在引入 TiDB 之前,这家企业主要使用 MySQL 作为其核心业务数据库。自该公司上市以来,业务迅速扩张,数据量激增,MySQL 在一些关键业务场景中遇到了瓶颈:

  • 库存管理系统 :该系统具有高并发的读写需求,频繁进行库存的增减和查询操作,属于典型的在线事务处理(OLTP)系统。然而,随着数据量的持续增长,难以满足业务的性能要求。
  • 业财一体化系统 :此系统是一个典型的混合事务/分析处理(HTAP)系统,它不仅需要维护完整的事务一致性,还必须具备处理复杂 SQL 的分析能力。系统中的单表记录数已超过 15 亿行,且存在多表关联的分析需求。
  • 业务报表系统 :作为在线分析处理(OLAP)系统的代表,该场景经常需要处理涉及十几张表、数百行 SQL 的复杂查询,且对数据的实时性有极高要求。业务团队期望能够即时获取运营数据,以便实时分析和洞察运营状态。

基于 MySQL 的传统数据库架构难以应对上述挑战,该企业考虑引入新的数据库解决方案以更好地支撑业务发展。

充满挑战的选型测试

2022 年,这家企业与 TiDB 分布式数据库邂逅并开启了一段全新的旅程。TiDB 不仅在墨天轮数据库排行榜上稳居前列,在全球数据库排行榜 db-engines.com 上是国产数据库排名最靠前的一家,其在 GitHub 上的 Star 数也呈现出迅猛增长态势,社区的活跃度同样令人瞩目。TiDB 解决方案已经在互联网、金融、电信运营商以及新经济等多个领域展现出广泛的应用价值,这些优势吸引了他们的注意。同年 10 月,这家企业启动了对 TiDB 的评估选型工作,完成了以下几个关键环节的测试:

  • TiDB 集群部署 :通过 TiUP 工具部署 TiDB 集群的流程极为顺畅。除了初期的基础环境检查,TiDB 本身的部署过程已高度自动化,实现了一键式操作,快速完成了 TiDB 6.1.3 版本的集群搭建。
  • 数据同步链路测试 :TiDB 集群利用 TiCDC 同步工具,能够将全量和增量数据准实时地同步到下游的数据湖。由于 TiCDC 不支持直接将数据写入 Databricks,采取了间接的同步策略:首先将数据同步到 MySQL,然后通过 Fivetran 将数据传输到 Databricks。TiCDC 支持 Avro Protocol、Canal-JSON Protocol 等多种数据格式。
  • 数据备份测试 :使用 TiDB 自带的 BR 备份工具对集群数据进行了全量备份和增量备份的测试。
  • 性能测试 :针对业务报表中的复杂 SQL(涉及十余张大表 join、多次 union all 操作和嵌套子查询)进行了性能测试,同时也测试了库存系统的简单 SQL 在高并发环境下(并发数超过 600)的查询性能。由于当时测试环境中没有部署 TiFlash 节点,这些复杂 SQL 对 TiDB 集群的性能产生了一些影响,偶尔会出现集群卡顿的现象。

测试结果表明,TiDB 作为一款高度兼容 MySQL 的原生分布式数据库,提供出色的扩展性、便捷的部署、优越的性能和丰富的生态系统。在整个测试过程中,原厂工程师提供了专业且积极的技术支持,有效解决了遇到的所有问题。总体来看,TiDB 充分满足了业务场景的需求,符合选型要求。

尽管在测试中发现,当时的 v6.1.3 版本(尚未具备 Resource Control 功能)版本在处理复杂的 SQL 查询和高并发的 OLTP 业务请求时存在相互干扰的问题,但这些问题并未掩盖 TiDB 在其他方面的优势。随着 TiDB 产品的不断迭代和优化,这些问题将逐步得到解决。

多业务隔离应用实践

在与 TiDB 原厂工程师的紧密合作下,这家企业针对测试过程中遇到的问题,根据业务特征对 TiDB 集群的配置进行了精心优化,即使在不具备资源管控功能的情况下,也通过 TiDB 原有的特性成功实现了多业务的有效隔离:

  1. 数据隔离策略 :利用 Placement Rules in SQL 能力将库存业务与财务结算、业务报表的底层 TiKV 数据进行了有效隔离。库存业务作为 OLTP 的代表,被标记为 Label A,而财务结算和业务报表则被标记为 Label B,从而有效避免了 TiKV 层面的 I/O 和 CPU 资源争用。
  2. 引入 TiFlash 节点 :引入 TiFlash 节点将业务报表和财务结算中的复杂 SQL 查询转移到 TiFlash 节点执行,这一改变带来了性能的指数级提升。
  3. tidb-server 层面的业务分组 :在 tidb-server 层面实施了业务分组策略,将 tidb-server 分为三组,其中两组专门服务于库存业务,并通过 AWS 的 NLB(Network Load Balancer)进行负载均衡,另外两组服务于财务结算业务。该企业还单独分配了一个 tidb-server 用于业务报表的远程查询,实现了业务在 tidb-server 层面的隔离。
数据架构示意图
数据架构示意图

<center>图:数据架构示意图</center>

  1. 使用 TiDB Resource Control 功能进行更细粒度的资源管控 :通过将 TiDB 集群从原来的 6.1.3 版本升级到 7.1.5 版本,引入了 TiDB 在 7.1 版本中提供的 Resource Control 能力,对更细粒度的资源进行管控,通过对不同的业务分配不同的资源单位(RU,Request Unit),来实现对 CPU、IO 等更细粒度的资源隔离,同时还可以采用该功能实现对 SQL 级别的流控(QUERY_WATCH)和后台任务的资源限制。

通过实施这些针对性的优化措施,该企业不仅成功克服了测试阶段遇到的挑战,还大幅提升了系统的综合性能和稳定性。这些积极成果进一步增强了他们继续使用 TiDB 的信心。

集群优化带来的收益

  • 实现多业务隔离 :利用 Placement Rules in SQL 的能力将 tikv-server 划分为两个不同的组以实现隔离。tidb-server 则根据业务层的分组进行隔离。由于 pd-server 的负载较轻,可以实现共用。这种架构设计使得单一逻辑集群能够支持多个业务,简化了管理维护工作,同时提供了统一的 HTAP 服务。
  • 支持数据实时写入与事务特性 :数据主要通过应用程序和接口实时写入 TiDB。TiDB 不仅支持实时的 insert、update、delete、replace 等 DML 操作,还确保了事务的 ACID 特性。这一点相较于许多仅支持追加写入的数据仓库平台,TiDB 展现出了明显的优势。
  • 对接数据湖生态 :部分经过 TiDB 加工处理的数据需要实时同步到数据湖平台,通过 TiCDC 同步工具,TiDB 能够将变更数据实时同步到数据湖。当时由于环境限制,TiCDC 暂时无法直接写入 Databricks,采用了 MySQL 作为中间跳转的方案。与此同时,TiDB 也提供了 TiDB to Databricks 的同步工具:tidb2dw ( https://www.pingcap.com/blog/tidb2dw-replicate-data-to-warehouses/ ) 给该企业使用,以逐步实现 TiDB 到数据湖生态的直接对接,并以此场景为契机,不断反向推动 tidb2dw 工具功能和能力。

选择 TiDB 的理由

  1. 技术领先性 :TiDB 采用存储与计算分离的原生分布式架构,提供出色的扩展性,允许灵活地增加计算节点(tidb-server)和存储节点(tikv-server),以适应业务的不断增长和变化。
  2. 丰富的资源隔离手段 :TiDB 分布式架构,提供了从计算、存储、OLTP、OLAP 等各个组件间粗粒度的资源隔离手段、同时也提供了在集群内部的 CPU、IO、资源组 SQL 级别的、后台任务级别等更细粒度的资源隔离手段。
  3. 自动分片特性 :TiDB 的自动分片功能消除了业务开发中对表分片和分区规则的预先设计需求,使得开发过程更加直观、简便,使用体验与单机 MySQL 相似,对业务开发完全透明。
  4. 解决分库分表问题 :与 MySQL 的分库分表架构相比,TiDB 支持分布式事务和在线 DDL 操作,为业务开发提供了更高的透明度和简化的维护流程。
  5. HTAP 一体化特性 :TiDB 集群提供了面向 OLTP 的 TiKV 行式引擎和面向 OLAP 的 TiFlash 列式引擎,能够一站式提供 HTAP 服务,满足业务对实时事务处理和复杂分析的需求。
  6. 完备的 MySQL 兼容性 :TiDB 高度兼容 MySQL 5.7 和 8.0 的语法,以及 MySQL 的生态工具和开发框架,为主流应用开发提供了极高的匹配度,实现与现有系统的无缝对接。
  7. 原厂专业支持 :TiDB 的原厂工程师无论是售前还是售后工程师都展现出极高的专业度和敬业精神,能够迅速协助解决各种问题,即使在节假日也能及时提供支持。

未来展望

  • 升级 TiDB 版本,解决已知的问题

这家企业计划已经在去年 7 月底将原有的 TiDB v6.1.3 版本全面升级至 v7.1.5 版本,虽然升级过程出现一些小插曲,但是通过升级这件事看到了 TiDB 原厂的技术支撑的及时性和专业性,这是该企业从开源用户走向商业客户的价值所在。此次升级旨在提高创建索引的效率,创建索引的速度提升超过 10 倍。与此同时,该企业也在调研 TiDB 最新版本的能力,及时享受 TiDB 最新版本在功能、性能和稳定性上的技术红利。

  • 将 TiDB 应用到更多业务场景

目前,TiDB 的应用场景主要集中在库存管理和财务成本结算等后台系统。随着这家企业对 TiDB 的深入理解和应用经验的积累,后续计划将 TiDB 应用到更多的核心生产系统中,充分发挥 TiDB 在架构、性能和功能上的优势。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
干货 | 分布式数据库TiDB在携程的实践
携程自2014年左右开始全面使用MySQL数据库,随着业务增长、数据量激增,单机实例逐渐出现瓶颈,如单表行数过大导致历史数据查询耗时升高,单库容量过大导致磁盘空间不足等。为应对这些问题,我们采取了诸多措施如分库分表的水平拆分、一主多从读写分离、硬件SSD升级、增加前端Redis缓存等,但同时也使得整个业务层架构更加复杂,且无法做到透明的弹性,因此开始将目光转移到分布式数据库以解决这些痛点。
携程技术
2021/12/13
8930
干货 | 分布式数据库TiDB在携程的实践
中欧财富:分布式数据库的应用历程和 TiDB 7.1 新特性探索
中欧财富是中欧基金控股的销售子公司,旗下 APP 实现业内基金品种全覆盖,提供基金交易、大数据选基、智慧定投、理财师咨询等投资工具及服务。中欧财富致力为投资者及合作伙伴提供一站式互联网财富管理解决方案,自 2015 年成立以来业务持续保持稳健的增长。
PingCAP
2023/08/30
2630
Tidb4.0五大核心功能 及 适应场景
TiDB是开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容、缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL5.7协议和MySQL生态等重要特性。目标是为用户提供一站式OLTP(OnlineTransactionalProcessing)、OLAP(OnlineAnalyticalProcessing)、HTAP解决方案。
杨漆
2021/03/10
9120
Tidb4.0五大核心功能 及 适应场景
理想汽车 HTAP 读流量优化指南
郑赫扬(艺名:潜龙),理想汽车 DBA。负责公司分布式数据库的技术探索和业务场景落地,热爱开源。就职于金融、互联网教育、电商、新能源汽车等领域。
PingCAP
2021/11/05
6150
【DB宝54】NewSQL数据库之TiDB简介
TiDB 是 PingCAP 公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时 HTAP、云原生的分布式数据库、兼容 MySQL 5.7 协议和 MySQL 生态等重要特性。目标是为用户提供一站式 OLTP (Online Transactional Processing)、OLAP (Online Analytical Processing)、HTAP 解决方案。TiDB 适合高可用、强一致要求较高、数据规模较大等各种应用场景。
AiDBA宝典
2021/05/27
1.8K0
读 TiDB 论文有感 | 数据强一致性且资源隔离的 HTAP 数据库
陈现麟,伴鱼技术中台负责人,从 0 到 1 搭建伴鱼技术中台,对分布式架构、服务治理、稳定性建设、高并发高 QPS 系统和中台化的组织架构搭建有一定的经验,崇尚简单优雅的设计,关注云原生和分布式数据库。
PingCAP
2020/09/10
1K0
读 TiDB 论文有感 | 数据强一致性且资源隔离的 HTAP 数据库
国产分布式DB中的王者出现
我们处在一个最好的时代,有ZY高层的政策支持,未来10年国产数据库将得到空前的发展。 DB领域有位大神说:分布式数据库一定是未来,HTAP 是最好的方向,云原生是最好的舞台,然而这些优点TiDB 全都有。
杨漆
2021/03/06
4190
国产分布式DB中的王者出现
猿创征文|一文带你了解国产TiDB数据库
很多小伙伴在日常接触中接触国产数据库很少,大部分在开发应用上使用的是由甲骨文,微软等公司提供了MySQL,SQLserver。普通程序员很少能用到newSQl数据库,TiDB就是一种newSQL数据库,在大趋势下,向国际对接是避免不了的,但也存在一个问题,近期看到新闻国外某知名数据库厂商宣布称“暂停在俄罗斯的所有业务”,相信很多国内小伙伴的心情,绝不是隔岸观火,而是细思恐极。数据库产品一直都是国内人员的焦点话题,面对现如今全球的“非常时期”,国产数据库到底能不能支棱起来呢?今天呢我就带领大家认识国产数据库TiDB数据库。为什么要介绍TiDB呢,看图说话。
一个风轻云淡
2022/11/15
1.1K0
猿创征文|一文带你了解国产TiDB数据库
成为一栈式数据服务生态: TiDB 5.0 HTAP 架构设计与成为场景解
数字化转型浪潮是现在进行时,在企业数字化转型的过程中,我们看到一个普遍的趋势,企业对“海量、实时、在线”的数据需求变得更加迫切。数字化转型并不是互联网公司的专利,人工智能、大数据、物联网这些技术也不仅仅是互联网公司才会使用。事实证明,越来越多的传统企业正在应用这些新兴技术进行业务的创新。每一项新技术的应用都需要一定的技术积累,互联网公司也许会配备很多工程师来支持一个数据体系架构。但对于传统公司来说也许不具备这样的实力,他们会发现自己很难驾驭大数据技术栈。此外,传统大技术栈已经慢慢开始难以应对日新月异的业务需求和爆炸性的数据增长。企业的很多业务对数据实时性的要求越来越高,比如风控、反欺诈等,更早地识别和阻断风险可以让企业减少损失;在物流行业,更实时的数据让物流企业可以更实时地调配行车路线和各类资源,以达到更好的运营效率;公共服务也会对实时数据产生要求,如果去柜台办理一个业务,需要等很久才能查到刚刚办的上一个流程的数据,这对于用户体验来说是非常糟糕的。
PingCAP
2021/05/08
5780
成为一栈式数据服务生态: TiDB 5.0 HTAP 架构设计与成为场景解
分布式数据库的HTAP能统一OLTP和 OLAP吗?
OLAP和OLTP通过ETL衔接。为提升OLAP性能,需在ETL过程进行大量预计算,包括:
JavaEdge
2023/08/13
4400
分布式数据库的HTAP能统一OLTP和 OLAP吗?
使用 TiDB 构建实时应用
本文由 PingCAP 研发工程师雷宇分享,主要从宏观角度分析 TiDB 究竟能做什么,创造什么样的价值,以及研发过程中的一些设计立足点。 文章将从四个部分分享:
PingCAP
2021/07/21
9640
余军:分布式数据库在金融行业的创新实践
分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。余军讲师为你讲解分布式数据库在金融行业的创新实践。 余军 PingCAP 高级技术总监,金融行业首席架构师;开源软件的忠实爱好者,负责金融行业基于 TiDB 产品的解决方案、产品架构咨询和建设规划。主要工作经历:富麦信息科技有限公司 CTO ,中
企鹅号小编
2018/01/15
2K0
余军:分布式数据库在金融行业的创新实践
实战丨证券 HTAP 混合业务场景的难点问题应对
某领先的全国性大型综合证券公司,坚持以核心业务为发展重心,并积极投身于前沿科技的应用创新。本文将分享该证券公司债权开放信息平台的构建经验,深入探讨如何利用 TiDB 分布式数据库成功应对 HTAP 场景下的挑战,满足数据实时性、可靠性、资源隔离、可维护性等要求。
PingCAP
2024/11/28
870
实战丨证券 HTAP 混合业务场景的难点问题应对
别再分库分表了,试试TiDB!
TiDB 是一个分布式 NewSQL 数据库。它支持水平弹性扩展、ACID 事务、标准 SQL、MySQL 语法和 MySQL 协议,具有数据强一致的高可用特性,是一个不仅适合 OLTP 场景还适合 OLAP 场景的混合数据库。
码猿技术专栏
2023/05/01
1.3K0
别再分库分表了,试试TiDB!
TiDB HTAP 的架构演进及实践
在访问量和数据量急剧膨胀的今天,关系型数据库已经难以支撑庞大复杂的系统规模。在此背景下,备受关注的数据库新理念 HTAP,会是一条“正确”的路吗?在刚过去的 QCon 全球软件开发大会上,PingCAP 实时分析产品负责人马晓宇发表了《TiDB HTAP 的架构演进及实践》的主题演讲,它从 HTAP 的历史入手,详述了 HTAP 的技术挑战以及 TiDB 的应对方案。本文为其演讲整理文,enjoy~ 大家好,今天为大家分享以下几方面内容。首先是分享 HTAP 的历史,其次是 TP 和 AP 之间存储和计算的
深度学习与Python
2023/04/01
9940
TiDB HTAP 的架构演进及实践
TiDB Operator + Amazon Web Service,探索云原生数据库的最佳实践
如今数据库上云这一话题受到越来越多的关注,数据库作为重要的基础软件,在云原生时代将面临怎样的变革?当数据库遇上云原生,又将碰撞出什么火花?近日,在亚马逊云开发者 Meetup 上,TiDB Community 架构师王天宜分享了 TiDB 与云原生实践开发经验。
PingCAP
2021/07/14
6240
商业银行基于容器云的分布式数据库架构设计与创新实践
本文介绍了某商业银行基于 TiDB 和 Kubernetes(简称 K8s) 构建的云化分布式数据库平台,重点解决了传统私有部署模式下的高成本、低资源利用率及运维复杂等问题。
PingCAP
2024/12/09
2170
商业银行基于容器云的分布式数据库架构设计与创新实践
蔚来汽车 x TiDB丨单表超 20 亿条数据,从 MySQL 到 TiDB 的迁移思考与实践
本文来自 TiDB 社区合肥站走进蔚来汽车——吴记老师的演讲《TiDB 在新能源车企的实践:MySQL 到 TiDB 的迁移思考》。
PingCAP
2024/08/05
1880
蔚来汽车 x TiDB丨单表超 20 亿条数据,从 MySQL 到 TiDB 的迁移思考与实践
TiDB 5.1 发版,打造更流畅的企业级数据库体验
自 TiDB 5.0 发布以来,陆续在金融、互联网 & 新经济、物流等行业用户的生产环境得到应用,收获不少用户的积极评价:
PingCAP
2021/07/02
8060
TiDB 5.1 发版,打造更流畅的企业级数据库体验
TiDB x 汉口银行丨分布式数据库应用实践
汉口银行是一家城市商业银行,近年来专注科技金融、民生金融等领域。在数据库国产化改造中,汉口银行引入了 TiDB 数据库,并将其应用在重要业务系统:头寸系统中,实现了一栈式的数据服务,同时满足了高并发、低延时、数据一致性和高可用需求,解决了传统数据库的局限性。
PingCAP
2023/10/30
3120
推荐阅读
相关推荐
干货 | 分布式数据库TiDB在携程的实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档