微众银行 TiDB HTAP 和自动化运维实践

本文根据微众银行资深数据库架构师黄蔚在 DevCon 2022 上的分享整理,主要讲述了微众银行对于 HTAP 架构的探索和实践情况,以及提升大规模分布式数据库运维效率的经验。

内容将从四个方面展开:HTAP 技术的演进历程、微众银行在 HTAP 技术的选型以及实践、在大规模分布式数据库自动化运维的优化实践、TiDB 在微众银行的未来规划。

TiDB HTAP 架构的演进

我们知道一项新技术的出现和发展,其背后往往有两个原因:一是因为业务驱动,追求客户的极致体验;二就是技术的发展,通过一些新技术的创新和应用,进一步降低硬件成本、开发成本或整体维护成本。HTAP 其实也是在这样背景下诞生的。

我们首先来看传统的数据架构有哪些瓶颈或者有哪些优化点。我们知道,按照负载类型划分,系统一般分为 OLTP 和 OLAP,OLTP 在金融场景一般是包括像交易、转账、营销等,面向的是客户,追求的是极致体验,如果有问题很可能就会影响用户体验,甚至造成用户损失。所以 OLTP 要求的是耗时短,并且处理的数据量相对小。

而我们还要基于这些用户产生的数据做商业分析、数据挖掘,根据分析结果来进行决策,比如进行战略方向上的调整。所以衍生出来了 OLAP,通常专门用来做一些分析。而 OLTP 和 OLAP 的负载不一样,也就意味着技术底座是不一样的,所以一般是将两者分开,这个时候就需要通过 ETL 的方式把数据传输到 OLAP 上做分析,但是这个传输的过程在时效性上会比较差,同时架构也会比较复杂,但优势是这套架构非常成熟,尤其是自从大数据三驾马车的论文出来之后,大数据的整个生态变得更加成熟,使用也更广泛。

1.png

随着业务的发展,业务对于时效性的要求越来越高,比如希望实时对用户进行客群圈选、画像分析、实时洞察,或者做金融场景的风控,这时候就诞生出了 Kappa 架构。

Kappa 架构的核心就是流式处理, OLTP 系统产生的 CDC 或者 Message 通过 Kafka 消息队列传输到常见的流处理技术组件比如 Flink、Spark Streaming 进行处理,最终到 Serving DB 来存放这些数据并实时对外提供服务。而对于 Serving DB 的要求首先是扩展性要好,同时受限于流式处理暂时没法完全取代批处理,那就意味着在 Serving DB 上还需要做一定的 OLAP 分析。其实 TiDB 在这个架构里也有一定的使用量,比如 Flink 要存放一些中间态数据或者进行维表关联,对于 DB 也需要一定的扩展性,此时 TiDB 的扩展能力正好可以满足。

这个架构的核心特点就是准实时处理,而且在工程实践上非常丰富。而这个架构的劣势是组件很多,学习的成本相对高,并且整个链路很长,意味着在数据一致性的保证上会比较困难。所以,大家就在想能不能在一个数据库同时去承载 OLTP 跟 OLAP 业务呢?不需要去做额外的数据同步,不需要去学习额外的组件,所以就衍生出了 HTAP 数据库的概念。

它的架构很简洁,但是实现技术难度也非常高。虽然这几年 HTAP 非常火,但是工程实践相对较少,像传统的 Oracle 12c In-Memory Column Store、Google Spanner PAX 其实都算是行列混存的架构,TiDB 也有自己的 HTAP 实现。HTAP 架构的难度是怎样做资源隔离,怎样做一致性保证,如何做 OLTP 和 OLAP 的负载平衡等等。

接下来谈谈 TiDB HTAP 架构的演进,我们如何基于业务需求去做选型以及对应的实践情况。

图中,我们看到 TiKV 为了让数据均衡,容易做分布式调度,会把数据分成很多小片,也就是 Region,Region 在 TiKV 这一侧是强同步的,我们可以看到绿色线条是实线。而 TiFlash 的创新点就是没有打破原来 TiKV 的架构,而是新增一个列式引擎,直接通过 Raft Log 的方式同步到 TiFlash,因为列式存储天然对于 OLAP 场景是比较友好的,所以还要做一个行转列的处理。我们可以看到 TiKV 到 TiFlash 的同步线是一条虚线,意味着这是一个异步过程。那么又如何保证在 TiFlash 上的查询是强一致的呢?这里其实做了一些优化,每次收到读取请求,TiFlash 中的 Region 副本会向 Leader 副本发起进度校对(一个非常轻的 RPC 请求),只有当进度确保至少所包含读取请求时间戳所覆盖的数据之后才响应读取,所以如果有同步延迟,就会需要等待,甚至有可能在 TiFlash 的查询会超时,在实践中我们发现有些场景对于 OLAP 的一致性要求并没那么高,而在 6.0 版本的 TiFlash 提供了 Fast Scan 这个功能,降低一致性的保障,但可以提升读写速度。

2.png

我们看到 TiDB HTAP 架构隔离性非常好,因为列存跟行存完全独立,同时 TiFlash 借助了 MPP 并行计算框架,并且是基于 Clickhouse 底座,所以天然具备向量化计算引擎的一些 OLAP 特性。同时,TiDB HTAP 架构创新性地通过 Raft Log 来同步保证了一致性,同时也可以通过 Fast Scan 功能来降低一致性,提高读写速度。进一步的,TiDB 的产品迭代非常快,有一些特性是我们也非常期待,比如说低成本的硬盘支持、更准确的优化器等。

微服务分布式链路追踪和微服务治理场景下的 HTAP 实践

在银行场景下我们怎样选型 HTAP 技术呢?微众银行的基础架构是基于 DCN 的分布式架构,也就是单元化,一笔简单的交易可能涉及到几十甚至上百个微服务在背后支撑,所以微服务的调用量很大。那么我们怎样快速地进行定位异常问题呢?比如说一笔交易或者一个系统如果有异常,怎样快速地知道哪里出问题了?这里就需要借助可观测的方式。可观测一般都会谈到 Trace、Metrics、Log 这三个基本元素。

基于微众银行 DCN 的分布式架构,如果两个用户分属不同的 DCN,要进行交互比如转账,就需要通过 RMB 可靠消息总线来进行交互。我们为了保存完整全量的微服务调用关系,会旁路地消费一份服务之间的调用消息,把这些信息存到 TiDB。为什么存到 TiDB 呢?我们行内交易量特别大,TiDB 正好能提供扩展性,同时 TiDB 支撑的并发量也很大,每秒达到了 20 万+ 这样一个量级。

3.png

我们可以通过这些 Trace 信息去追踪这一笔交易涉及的不同服务、不同的子系统之间调用的详细信息,比如说源端、目标端调用的耗时,调用返回的状态,有没有报错等,这是微观层面的追踪。微服务场景下,服务数量非常多,种类也多,调用关系很复杂,我们怎样从全局的角度了解整个微服务的架构是否健康,是否存在问题,比如有没有流量突增,有没有系统性的问题?所以衍生出了服务治理这个系统。服务治理的要求是能够实时知道微服务整个调用关系的信息,所以我们就把 TiKV 存储的 Trace 信息实时同步到 TiFlash,同时我们预定义很多的度量指标,比如实时分析整个服务的健康度,整个子系统调用的次数排名,是否存在流量突增,耗时的变化等。

基于这些度量指标,我们再通过决策引擎去得到一个最优的治理策略。我们的决策可以分成两部分,第一个是自动决策,通过度量指标直接把需要去治理的动作下发到生产环境的微服务的应用或者容器。第二个是辅助决策,生成一个决策值,人工进行判断,根据经验或者根据一些特定的阈值触发相应的策略,再下发到真正的生产环境。我们看到整个系统形成了一个闭环,从生产环境产生消息,到分析消息,再通过度量产生决策,最后又反向去影响我们的生产环境,让整个微服务的精细化管理越来越好,这是我们在 HTAP 选型的一个场景。

当然我们也遇到了一些挑战,第一是集群非常大,第二是在这么大规模的集群下还要跟 TiFlash 结合。所以我们形成了相关的实践经验。首先,集群很大,如何稳定运行?我们从几个方面进行入手:第一,TiDB 的组件 PD 可能会存在个别单点瓶颈,所以我们把大集群 Region 总数控制在一定范围;第二,控制单个 TiKV 实例的 Region 数量,对于一些历史归档或者相对冷的数据,心跳维持不用太频繁,所以我们开启了 Hibernate Region 功能,减轻单个实例可能产生的瓶颈问题。

4.png

其次,TiDB 架构中 OLTP 的负载使用的是 TiKV,OLTP 往往面对的是客户,直接关系到用户体验的问题,我们认为在极端情况下 TiFlash 有异常的时候,不希望它影响到 TiKV,因此我们建立了一个快速熔断机制,目的是在 TiFlash 全部异常的情况下尽可能对 TiKV 的影响最小。我们还在超大集群 POC 时做了很多暴力验证,比如说把 TiFlash 全部直接关停,比如制造一些网络拥塞,IO、CPU 资源跑满等。在验证过程中我们也发现了很多问题,也相应都做了修复,我们认为未来在超大集群的使用上,HTAP 架构的健壮性会越来越好。

刚刚提到,TiKV 跟 TiFlash 需要联动,集群很大,又要做数据的生命周期管理。TiKV 是做链路追踪,我们希望它的数据保留的时间比较长,比如 7 天,7 天之外的就删掉,TiFlash 做的是实时分析,我们希望保存数据的天数少一点,比如 3 天,这两边的清理策略是不一样的。这时候就会有一个问题,TiKV 跟 TiFlash 虽然物理上是隔离的,但 PD 调度是共用的,很可能会产生相互影响。举个简单例子,我们在超大集群下往往需要去提前规避写入热点问题进行提前打散。我们发现在打散的时候会影响正常写入,发现本质原因是打散动作首先会在一个 Region 上进行打散,最终再会去 scatter 均衡,而均衡背后有 Remove Peer 动作,就是把本地的 Peer 删掉,再调到其他节点上,而 Remove Peer 会有资源的占用。

5.png

因为写入同样也会触发分裂,同样也会需要 Remove Peer 功能,这时候就产生了互斥。我们在整个实践中发现,各个调度参数之间可能会相互影响,所以需要找到参数之间的相互干扰的因素,再找到一个最佳的平衡点。最后,我们通过右下角这张图对相关参数进行了深入研究和调试,最终实现了超大集群下 TiKV+TiFlash 的稳定联动,可以确保 20 万+ 每秒的持续写入并不会产生明显抖动。

TiFlash 实际上也是一个 OLAP 的引擎,在很多场景里会拿 TiFlash 去跟一些 OLAP 传统组件去对比,比如拿 TiFlash 跟 Clickhouse 去对比。我们在真正的业务场景中发现用户的需求场景很多,对应的技术要求也不一样,所以细分下来发现像有些分析场景,可能对于实时性要求很高,有些场景可能计算量很大,维度很固定,希望做一些预计算,还有一些交互式的,希望灵活和快速返回,所以我们通过细分业务场景以及对应的技术要求的细化,最终找到了不同的 OLAP 组件所对应的场景和最佳实践。

6.png

我们也对 TiFlash 和 Clickhouse 做了一个简单对比,可以很明显地看到 Clickhouse 在硬件成本以及单表的性能上有很大优势,而 TiFlash 在运维成本、开发成本以及实时更新有不错的优势。所以我们认为 OLAP 组件没有银弹,我们可以通过这种组合的方式,通过在各个 OLAP组件之上增加一个中间层来统一来提供服务给业务,让业务不用感知具体的引擎或组件,对用户来说,只需要去满足业务需求就好了。

TiDB HTAP 的场景推荐有哪些呢?第一个肯定是 HTAP 型的交易系统,OLTP 是一定要用的,同时我们要结合 OLTP 把数据同步到 TiFlash 进行实时分析,这是第一种最经典的场景。第二种,我们知道 TiDB 有 DM 工具,可以把多个 MySQL 的数据快速地同步汇聚到一个 TiDB 集群,多源汇聚到 TiDB 后,TiDB 可以是一个数据中台、一个数据仓库或者是一个数据集市,再结合 TiFlash 的分析能力,快速地进行业务分析或业务监控,所以多源数据的汇聚和实时分析是第二个场景。第三个场景,就是上面提到的,把 TiDB 作为一个单纯的 OLAP 组件使用,当然成本会较高,因为如果只使用用 TiFlash,还是需要从 TiKV 进行数据同步。但是 TiDB 的好处就是开发成本比较低。

7.png

基于微信机器人的 TiDB 数据库运维优化

目前 TiDB 在微众银行的集群规模越来越大,从 2021 年开始的 20 多个集群到现在已经接近 60 个集群,数据的总容量也接近 800T,同样使用 TiDB DM 的量也非常大,应用的业务类型也特别多,包括贷款、存款、理财、科技管理、基础科技,应用的场景包括联机、批量、归档、管理平台等等。在数据增长快,应用规模大,业务场景类型多,重要性高的情况下,同时还要符合合规要求,因此在 TiDB 大规模分布式数据库的运维上,我们也进行了很多探索,比如怎样更高效地运维和使用分布式数据库。

8.png

我们有三个方面的总结:第一,做标准化的 SOP,对于业务接入,日常变更和故障处理,我们都需要一些标准化的流程;第二,这么大规模的集群量,我们希望运维工作可以 Work Smart,也就是更加高效地处理遇到的问题,我们引进了微信机器人,把集群诊断、巡检这些工作都自动化了;最后,开源有一个最大的好处就是能看到源码,所以我们希望可以从源码侧去解析,这样有些疑难问题我们可以更加深入,更加快捷地去发现问题,同时提供更理想的优化方案。

接下来看看我们基于微信机器人的 Smart 运维工作。可以看到,我们的 DBA 只需要通过微信,通过一部手机就可以对一些场景进行快速处理。以往,在银行,对于遇到一些生产的告警,我们需要去登陆 VPN,输入 Token,在其他的内部系统又要做二次登录校验,整个过程耗时比较长。而针对一些比较紧急的告警,登录到服务器,已经过去了不少时间,所以我们希望针对一些特定合适的告警场景,快速地去响应,所以我们基于微信机器人的方式进行了优化,分成几个层次。

9.png

第一,通过 TiDB 自带的 TiUP 工具来做一些数据采集,包括集群信息和主机的 CMDB 信息,把这些信息全量入库。每天定时去把收集的信息进行分析巡检,输出一个报告。第二,在自动诊断这块,我们在 TiDB 上会遇到一些常见高频的问题,比如内存高、OOM、热点、慢查询、执行计划突变等,我们把这些问题处理会形成一个知识库,并且生成对应的分析引擎,如果触发了对应告警,就会自动地触发根因分析,并且生成推荐根因。在生成推荐根因的时候,我们还会模拟爬虫在 Grafana 上把最近的半小时的 Overview,包括一些监控视图、实例信息截图生成一个图片,结合刚才的推荐根因一起推送到我们的手机微信上。DBA 立马就可以看到告警发生可能的原因是什么,并且我们还可以快速地进行执行,处理相应问题。

我们在微信机器人上提供了一个交互的快速执行方式。比如可以对一些慢查询进行 Kill,比如 restart TiDB Server,当然前提一定是安全合规,我们对一些高危命令会增加预审批流程,同时我们会预定义一些白名单的命令。最终可以看到,我们从巡检、数据采集、自动诊断以及交互式的快速执行四个维度来整体提升数据库的运维效率。

这里是 Smart 运维的效果图,可以看到像 tiup display、show processlist,以及 kill 慢查询,restart server 等一系列动作,都可以通过一部手机去完成,我们内部称为微信机器人的运维方式,这种方式提升了数据库的运维效率。

10.png

最后做一个简单的展望,我们希望未来继续沉淀 HTAP 技术在金融场景的探索和落地经验,形成金融场景的最佳实践。同时,我们希望未来能够把内部的一些运维工具,比如 DM 自动化校验平台、自动诊断平台等开源出去,能够和大家进行深入的交流和共创。
最后,随着国产化的进程,我们也会推动 TiDB 在国产 ARM 服务器上的进一步扩大使用。

相关推荐

TiDB 可观测性解读(二)丨算子执行信息性能诊断案例分享

通常我们可以用 explain analyze 语句获得算子执行信息。explain analyze 会实际执行对应的 SQL 语句,同时记录其运行时信息,和执行计划一并返回出来,记录的信息包括: actRows 、 execution info 、 memory 、 disk。不同算子的 execution info 可以通过 TiDB 文档 ( https://docs.pingcap.com/zh/tidb/stable/sql-statement-explain-analyze )了解。

TiDB_PingCAP 的博客 1020

TiDB × AI :DeepSeek 时代你需要什么样的数据基座

AutoFlow 是一套 GraphRAG 框架,不仅提供了类似于 LlamaIndex 的能力,而且还内置语义化的知识图谱构建和召回,以及我们在 AutoFlow 上实践得出的一系列行之有效的领先的 RAG 能力(这些接下来会介绍)。不过需要强调的是,Dify 是一个开箱即用的非常易用的界面,而 AutoFlow 虽然功能更强却则具有比较高的使用门槛,所以这两个选择其实面向了不同的群体,用户需要依据自己的实际需求进行选择。它并非传统的基于规则的优化工具,而是利用大模型的知识来优化不同类型的数据库。

TiDB_PingCAP 的博客 1417

架构师必看!现代应用架构发展趋势与数据库选型建议丨TiDB vs MySQL 专题(一)

随着业务系统数据量的增长,早起只能无奈采取分库分表方案以及架构,这不单为运维带 来了极高的复杂度,同时对业务开发也带来的极大的入侵,SQL 只能限定按照 shard key 维度进行编写,无法任意维度的进行 SQL 查询,开发不得不牺牲业务需求,业务的发展也不得不受限,同时又需投入大量的高精尖人才进行开发维护。这对数据库的承载能力提出了极高的挑战,不但需要承载大数据量,又需要保障业务读写性能的稳定性,而在数据的承载能力上,MySQL 的极限,是 TiDB 的起点。一行命令完成扩展,无需任何的人工干预。

TiDB_PingCAP 的博客 1233

TiDB 观测性解读(一)丨索引观测:快速识别无用索引与低效索

通过识别并优化未使用或低效的索引,可以减少资源浪费,并提高系统的响应速度和稳定性。在 TiDB 中,TIDB_INDEX_USAGE 系统表提供了相对丰富的索引使用统计数据,帮助 DBA 快速发现低效索引,并通过优化或删除它们来提升数据库效率。尽管删除索引的操作相对简单,但在实施时仍需注意潜在的限制和风险,尤其是在大数据量和高并发环境下。定期检查索引使用情况,尤其是对于大规模数据库。确保用于决策的统计数据涵盖足够长的业务周期,避免误判。

TiDB_PingCAP 的博客 974

海量数据融合互通丨TiDB 在安徽省住房公积金监管服务平台的应用实践

目前安徽省住房公积金监管服务平台已具备一系列功能模块,包括首页、运营分析、统计报表、智慧大屏、数据治理、风险检查和系统管理。其中,运营分析主要用于从不同维度分析公积金业务指标,统计报表则负责生成、填报和查询住建部规定的报表,同时也支持省级用户的报表导入、核对和更新。智慧大屏提供了综合和业务两大类可视化展示,而数据治理模块则涵盖了传数统计、数据检核和人工数据核对等功能,以确保数据的质量。风险检查方面,平台不仅支持公积金中心的自我检查,也支持省厅的检查,并可以根据需要添加新的检查模型。

TiDB_PingCAP 的博客 1133

TiDB 2024 年度报告:增长的故事

TiDB 2024 年度报告:增长的故事

TiDB_PingCAP 的博客 328

TiDB Chat2Query 深度解析:我们如何打造一款更高效、准确的智能 SQL 生成工具?

上个季度的销售额是多少?“哪个产品类别表现最佳?“本月客户投诉的趋势如何?相比其他工具,Chat2Query 能够对用户上传的大规模数据集进行理解和分析, 摒弃繁杂的专业术语和查询语句,Chat2Query 使得用户能够通过自然语言直接向数据库提问,并即时获得答案。

TiDB_PingCAP 的博客 1335

4.98 亿月活背后的国产数据库:咪咕视讯携手 TiDB 攻克内容分发核心系统挑战

咪咕大概是 2018 年左右正式开始对分布式数据库进行研究的,到现在为止我们看到和测试过太多的国内产品。但是在当时,敢用 LSM 树而不是 B+ 树做存储引擎,敢做分布式存算引擎分离的,能够行列副本共存、优化器路由分流做 MPP shuffle 的,市面上真的真的非常非常地不多见。比较多的是精致的分库分表外挂,或某些知名国外产品的模仿版。TiDB 的产品给我的印象是极具冲击性的,那么大胆、不随大流。验证和使用下来,效果也是切实的。

TiDB_PingCAP 的博客 1208

53 倍性能提升!TiDB 全局索引如何优化分区表查询?

在 TiDB 中,全局索引是一种定义在分区表上的索引类型,它允许索引分区与表分区之间建立一对多的映射关系,即一个索引分区可以对应多个表分区。这与 TiDB 早期版本中的本地索引(Local Index)不同,本地索引的索引分区与表分区之间是一对一的映射关系,即一个分区对应一个局部的索引块。全局索引能覆盖整个表的数据,使得主键和唯一键在不包含分区键的情况下仍能保持全局唯一性。此外,全局索引可以在一次操作中访问多个分区的索引数据,而无需对每个分区的本地索引逐一查找,显著提升了针对非分区键的查询性能。

TiDB_PingCAP 的博客 1356

一行代码不用写,用 Autoflow + Gitee AI 搭建本地知识库问答机器人

本文详解 AutoFlow 从部署到配置的完整流程,包括数据库连接、模型设置、知识库创建及聊天引擎配置,实现了一行代码不用写的问答机器人快速搭建。轻松上手,助力开发者探索智能问答解决方案。

TiDB_PingCAP 的博客 1046

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

本文将分享某客户在 TiDB 分布式数据库中实现多业务资源隔离的实践案例。

TiDB_PingCAP 的博客 1317

攻克多版本运维难题:爱奇艺百套 TiDB 集群升级至 v7.1.5 实战宝典来袭!

本文将深入探讨爱奇艺如何通过升级,成功将百套 TiDB 集群从多个旧版本升级至 v7.1.5,攻克多版本运维挑战,获得更稳更快的 TiDB 使用体验。

TiDB_PingCAP 的博客 1157

百亿大表的实时分析:华安基金 HTAP 数据库的选型历程与 TiDB 使用体验

明确需求:首先评估业务对 TP(事务处理)和 AP(分析处理)的需求比重,确定数据量、查询速度和响应时间,确保数据库能满足业务对实时性的要求。技术特性评估:考虑数据库的实时分析能力、可扩展性、高性能、安全性和灵活性,以支持业务人员实施的场景需求,特别是后台营销人员对数据实时性的需求。集成与兼容性:评估数据库与现有数据库、应用程序和其他关键系统的集成能力,确保数据同步策略的无缝实施。安全性与可靠性:重视数据库的安全性措施、容灾备份机制、数据恢复能力和错误处理机制,保障业务连续性和数据安全。

TiDB_PingCAP 的博客 1019

TiDB 的高可用实践:一文了解代理组件 TiProxy 的原理与应用

TiDB 是一款典型的分布式存算分离架构的数据库,其中计算层由多个无状态的 TiDB Server 组成,这些 TiDB Server 同时对外承担连接请求。为了可以将连接分发到多个 TiDB Server 节点上,一般需要借助外部负载均衡组件如硬件负载均衡 F5、软件负载均衡 HAProxy 等。为了实现全链路的高可用架构,我们经常也需要考虑负载均衡组件本身的高可用性,比如通过 KeepAlived 来保证 HAProxy 的高可用。

TiDB_PingCAP 的博客 1255

你需要什么样的资源隔离?丨TiDB 资源隔离最佳实践

通过本文的学习,相信大家对 TiDB 的资源隔离能力有了更全面的理解;大家可以根据不同的场景需求,选择合适的资源隔离方案。如果您有新的资源隔离需求或场景,欢迎与我们联系。

TiDB_PingCAP 的博客 1254

狂飙 50 倍丨TiDB DDL 框架优化深度解析

前面我们介绍了 TiDB DDL 任务的整体执行流程。接下来,让我们聚焦到在线 Schema 变更的细节上。执行单步变更:Job Worker 会根据任务定义,执行一次在线 Schema 的变更。每一次变更都代表着 Schema 向目标状态迈进了一步,即进入下一个状态,可能的状态包括 write-only 和 delete-only 等。状态更新:完成单步变更后,Job Worker 会将当前的 Schema 状态更新到元数据中。

TiDB_PingCAP 的博客 1204

唐刘:TiDB 的 2024 - Cloud、SaaS 与 AI

最后再说下产品,在今年,我们发布了TiDB 8.1和8.5两个版本。在 2025 年,我们会有一个重大的改变,就是会持续的投入到 8.5 版本的质量加固,同时收敛新功能的开发,只会在 2025 年发布一个有更高质量的 LTS 版本。关于 TiDB 8 系列,我后面再写一篇文章详细的介绍一下吧。在 2024 年,我们交付了非常不错的成果,当然,能取得这样的成绩,来自于我们不断地交付优异的产品,满足客户的需求,赢得客户的信任。

TiDB_PingCAP 的博客 1054

PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”

TiDB 凭借领先的 HTAP 架构设计,支持用户在云上的数据库中同时运行关键业务交易和实时分析任务,充分享受云的弹性优势和业务连续性优势,助力企业实现数据敏捷。PingCAP 是业界领先的企业级开源分布式数据库企业,提供包括开源分布式数据库产品、解决方案与咨询、技术支持与培训认证服务,致力于为全球行业用户提供稳定高效、安全可靠、开放兼容的新型数据服务平台,解放企业生产力,加速企业数字化转型升级。

TiDB_PingCAP 的博客 705

TiDB 8.5 LTS 发版——支持无限扩展,开启 AI 就绪新时代

TiDB 8.5 扩展了Runaway Queries 的功能,新增“处理行数”和“用量(RU)”作为识别标准,实现更精确的识别,并允许将这些 Runaway Queries 放入一个资源可控的组中,确保在高负载环境下集群的稳定性。TiDB 8.5 通过实例级执行计划缓存功能,使得同一 TiDB 实例内的所有会话共享执行计划缓存,减少SQL编译时间,从而降低整体 SQL 运行时间,提高 OLTP 的性能和吞吐量,并有效地控制内存使用,提升数据库的稳定性。

TiDB_PingCAP 的博客 776

基于时间维度水平拆分的多 TiDB 集群统一数据路由/联邦查询技术的实践

通过该组件与 TiDB 分布式数据库的有效结合,可以实现近乎无容量上限的超大规模数据管理,尤其是对于重要程度高、吞吐量大、业务敏捷性强、数据冷热特征明显的业务系统。不仅能够支撑面向内外部客户业务无损的多维度、不受分片键制约的灵活高效访问,还可以有效控制和平衡单集群的负载、容量、资源利用率、稳定性等关键指标,在不增加过多复杂性的前提下实现更强的整体扩展能力。当然,组件的现有功能更多是聚焦在当前的客户场景,未来可以按需在功能性、易用性、高性能等方面进一步优化和提升。

TiDB_PingCAP 的博客 915

Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战

Rakuten 乐天是一家成立于 1997 年的日本公司,总部位于东京,员工总数超过 30,000 人,业务遍及 100 多个国家和地区。除了电商业务外,乐天还涉及电信、金融等多个行业。乐天的积分系统在日本非常普及,用户通过使用乐天的服务,如银行卡、手机卡等,可以获得积分,并在乐天商城中使用这些积分进行购物或抵扣,我们每个季度还会举办促销活动、会有大量用户高频访问积分系统,因此,乐天积分服务平台的性能、延迟和可用性要求极高。

TiDB_PingCAP 的博客 1355

平凯星辰亮相开放原子开发者大会,TiDB 荣获年度活跃开源项目奖项

12 月 20 - 21 日,以“一切为了开发者”为主题的 2024 开放原子开发者大会暨首届开源技术学术大会在武汉成功举办。平凯星辰亮相本次大会,出品 AI 时代的数据库技术发展论坛,获评“校源行”优质开源课程合作单位。由平凯星辰创立的开源分布式数据库 TiDB 获评“2024 年度数据库领域国内活跃开源项目”,7 位 TiDB 开发者获评“2024 年度数据库领域国内活跃开源开发者”,彰显了 TiDB 在开源数据库领域的卓越影响力和社区活力。

TiDB_PingCAP 的博客 607

B 站数据库负责人赵月顺:助力海内外业务增长,百套 TiDB 的选型与运维实战

B 站的 TiDB 集群规模已达到 100 多套,计算节点超过 2000 个,存储节点超过 800 个。TiDB 的应用场景非常广泛,包括视频观看、一键三连、发送弹幕、撰写评论、阅读漫画以及视频后端的存储等。B 站的 TiDB 部署采取了存算分离的策略,计算节点被部署在容器中,这种做法的优势在于能够充分发挥容器化管理无状态服务达到水平弹性拓展能力,允许根据需求随时对计算节点进行扩展或缩减,整个过程仅需一次服务发版,有效提升了效率与灵活性。存储节点则继续部署在物理机上。

TiDB_PingCAP 的博客 1234

微众银行携手平凯星辰荣膺金融科技创新奖,共同打造纳管千台服务器的大规模数据库运维平台

在过去的十年中,平凯数据库在金融行业积累了丰富的实践经验,已经在国有大型银行的 PB 级别数据服务平台、头部商业银行的核心交易系统、头部保险公司的核心保单系统、头部证券公司的核心交易系统等领域,成功完成了对国外商业数据库和 MySQL 数据库的替换升级,部署了超过 1,000 套关键业务系统,集群节点总数超过了 10,000 个。为了应对这些挑战,同时满足金融行业对高可用、高可靠、高性能数据库的需求,微众银行开发了一套完整的运维体系,打造了大规模信创原生分布式数据库智能运维平台。

TiDB_PingCAP 的博客 805

知乎 PB 级别 TiDB 数据库集群管控实践

知乎的数据库团队以“致力于提供稳定、高效和易用的数据库服务”为目标,为公司业务团队提供更好的 TiDB 存储服务来应对高并发、复杂查询和大数据存储的需求。本文详细介绍了 TiDB 的生态架构,包括核心组件、数据迁移与同步、运维与监控平台、备份与恢复、生态集成、K8s 支持、工具集和安全与审计等方面。同时探讨了知乎如何在云上和云下环境中管控 TiDB 集群,以及如何通过自研的天穹平台实现数据库平台化建设,提升业务研发团队数据库变更和 DBA 团队的资源管控效率。

TiDB_PingCAP 的博客 1180

TiDB 优化器 | 执行计划管理及实践

本文深入解析了 TiDB 优化器的执行计划生成过程及其局限性,介绍了如何通过 Hint、SQL Binding、执行计划缓存等技术手段进行执行计划管理,确保查询性能的稳定性和高效性。

TiDB_PingCAP 的博客 1315

商业银行基于容器云的分布式数据库架构设计与创新实践

本文介绍了某商业银行基于 TiDB 和 Kubernetes(简称 K8s) 构建的云化分布式数据库平台,重点解决了传统私有部署模式下的高成本、低资源利用率及运维复杂等问题。通过引入 TiDB Operator 自动化管理与容器化技术,银行能够实现多个业务系统的高可用、弹性扩展与自动化运维,极大提高了运营效率与资源利用率。本文还详细阐述了平台架构设计、面临的技术挑战及创新解决方案,展示了 TiDB 在金融行业数字化转型中的应用前景。

TiDB_PingCAP 的博客 1360

PingCAP 荣膺 2024 亚马逊云科技合作伙伴两项殊荣

近日,在 2024 亚马逊云科技 re:Invent 全球大会上,PingCAP 荣膺亚马逊云科技年度技术合作伙伴和年度亚马逊云科技 Marketplace 合作伙伴两项殊荣。这是 PingCAP 连续第二年获得亚马逊云科技年度合作伙伴奖项,彰显了 PingCAP 在与亚马逊云科技合作服务客户的过程中所展现的卓越技术实力和专业服务能力,共同推动全球用户业务取得成功。

TiDB_PingCAP 的博客 569

基于 AutoFlow 快速搭建基于 TiDB 向量搜索的本地知识库问答机器人

通过本篇文章介绍,相信大家对使用 PingCAP 开源项目 AutoFlow 实现快速搭建基于 TiDB 的本地知识库问答机器人会有一个完整的了解。如果提前准备好 Docker、TiDB 环境,整个搭建过程估计在 10 分钟左右即可完成,无须开发任何代码。文中使用一篇 TiDB 文档作为本地数据源作为示例,在实际情况中,您可以基于自己的企业环境用同样的方法快速构造企业内部知识库问答机器人。

TiDB_PingCAP 的博客 1283

TiDB 关联子查询及半连接的优化实践

TiDB 针对子查询语句会执行多种子查询相关的优化,以提升子查询的执行性能。半连接语句和关联子查询语句是常用的两类子查询,TiDB 优化器默认包含一些自动优化策略,同时 TiDB 也提供额外的 HINT 用于影响优化器在特定场景下可以选择更高效的执行计划。本文针对半连接及关联子查询语句在 TiDB 中的用法及优化技巧进行说明。

TiDB_PingCAP 的博客 1405
上一篇: PingCAP 黄东旭万字长文剖析数据库发展新趋势:脱离应用开发者的数据库,不会成功
下一篇: TiCDC 源码阅读(四)TiCDC Scheduler 工作原理解析
TiDB_PingCAP
TiDB_PingCAP 企业官方账号 企业官方账号
博客等级 码龄10年 2726粉丝 780原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值