当 TiDB 遇到图数据库 | TiDB Hackathon 2020 优秀项目分享

近日,由 TiDB 社区主办,专属于全球开发者与技术爱好者的顶级挑战赛事——TiDB Hackathon 2020 比赛圆满落幕。今年是 TiDB Hackathon 第四次举办,参赛队伍规模创历届之最,共有 45 支来自全球各地的队伍报名,首次实现全球联动。经过 2 天时间的极限挑战, 大赛涌现出不少令人激动的项目。为了让更多朋友了解这些参赛团队背后的故事, 我们将开启 TiDB Hackathon 2020 优秀项目分享系列,本篇文章将介绍 TiGraph 团队赛前幕后的精彩故事。

新冠是当下沉重的话题,科技可以帮助我们去降低疫情造成的影响,比如在发现一个病例之后,常规的措施都是按照一个地区的粒度进行隔离,如果我们有更加强大的图数据分析引擎,完全可以把防疫这件事情做得更加精准和高效。

首先,我们基于图数据库进行简单的建模:所有人都是这个图模型中的一个顶点,两个人接触之后,会生成一条联系,并新增一条对应的边。然后进行系统的快速实现:所有人都有微信或支付宝,我们在这个系统中新增一个顶点,当两个人接触距离小一个值时,可以通过两个人的坐标或者 NFC 感应来得到这个距离,小于某一个距离,我们就在系统中新增一个边,并记录两个顶点的接触时间。

基于这个模型,当我们发现一个新冠病例之后,就可以利用图数据库进行分析,快速地(秒级)找出在指定时间内接触过的人进行隔离,为防控疫情节省大量的时间和人工成本。

以上是图数据库在日常生活中的一个典型场景,图数据库是一个使用图结构进行语义查询的数据库,它使用节点、边和属性来表示和存储数据。Gartner 认为,图数据存储可以跨越数据孤岛、并有效地建模、探索和查询数据,图分析将在未来几年内高速增长,然而在关系型数据库(RDBMS)之上使用 SQL 查询实现相关分析有点不切实际。

真的是不切实际吗?请 TiGraph 给你一个全新的回答!

在 TiDB Hackathon 2020 赛事中,TiGraph 项目在 TiDB 中实现了一套新的 Key-Value 编码来引入图模式,处理传统关系型数据库难以覆盖的图数据分析场景,并使得 TiDB 在四度人脉的计算性能提升 8700 倍,一举夺得本届赛事的二等奖。

精妙的架构实现

在短短的 Hackathon 期间,要开发一个完整的图数据库显然不太可能,TiGraph 项目尝试验证在 TiDB 中无缝集成图模式:

  • 在 SQL 中扩展出一个让 DBA 一眼就能学会的图遍历语法

  • 同一个事务中操作图数据和关系型数据的能力

  • 将图遍历作为 SQL 子查询(反之亦然)

  • 对于 N 度人脉场景的性能对比

TiGraph 的技术栈从上层到下层与 TiDB 是一致的,主要做的工作有两部分:第一部分是写入,在元数据管理方面新增了 TAG/EDGE 两个图的 Schema 类型,分别表示图的点和边,写入时如果发现写入对象的 Schema 是图的 TAG/EDGE 时,就用图数据的 KV 编码,然后就走 2PC 事务提交,这和 TiDB 的流程一模一样,没有区别。

第二部分是读链路,目前主要新增了两个执行算子,一个是 GraphTagReader 算子,用于读取图数据的点的数据。另一个是 Traverse 算子,用于根据指定的边进行图的遍历。因为图计算里面包含三部分,图的遍历、子图匹配和图聚合,这次 Hackathon Demo 主要是做图的遍历,后面去落地这个项目的时候,还需要把子图匹配和图聚合这些算子也设计出来。

震撼的性能表现

因为时间有限,TiGraph 在 TiDB 里面仅实现了 Key-Value 的整套逻辑,没有时间在 TiKV 中再用 Rust 重新实现一次,所以采用 TiDB 内置用于跑测试的存储引擎 Unistore。对于数据规模的考虑,一开始计划生成 100w 顶点 + 4000w 边,发现只有 TiGraph 能跑出结果。这是由于没有使用生产级别的分布存储引擎 TiKV,而是选择用于跑单元测试的 Unistore,另外这也不是传统关系型数据库的优势场景,所以 TiDB 跑不出数据。

于是采用更小的数据集,在 10w 行数据 + 650w 条边的规模下,测试 N 度人脉场景下 TiDB + Unistore 与 TiGraph 的性能对比。从上图可以看到,TiGraph 可以跑完六度人脉的测试,但是 TiDB + Unistore 只能跑三度人脉,第四度人脉跑了 7 小时还没有出结果。随着人脉度的增加,TiGraph 的性能提升越明显,二度人脉的性能提升 190 倍,三度人脉的性能提升 347 倍,四度人脉在有限的时间内没有跑出最终结果,估算至少可以提升 8700 多倍。 TiGraph 后期采用 TiKV 存储后,在海量的图数据规模下也能弹性扩容,再配合 Coprocessor 实现图数据的计算下推,TiGraph 的查询性能还能再进一步提升。

难点攻克:TiDB 与图数据库的融合

在同一个事务中处理图数据库和关系型数据,如果一个业务同时使用一个传统关系型数据库和图数据库,那么要在两个数据库中实现事务和强一致性,几乎是基本不可能完成的任务,但是通过 TiGraph 可以出色地完成。

首先,要设计一套与 SQL 极具兼容性、优雅且高扩展的语法,以下是目前两个非常流行的图查询语法两度人脉的示例:

在一套系统中,引入两套查询语法会让用户学习成本更高,经过两天的讨论和碰撞,最终确定了如下示例的图遍历语法:

我们将上面语句拆成两部分来看:

  1. SELECT … FROM… 语句的查询结果作为图遍历(TRAVERSE 子句) 的起点

  2. 在 TRAVERSE 子句中指定想要遍历的 EDGE (边),使用图遍历查询起点的二度人脉

如果我们使用目前的 SQL 语法(假设不做任何扩展)写出来大概是:

通过以上对比我们可以看出扩展后的语法是极具表达能力的,同时也非常 SQL-style,另一个好处是将图遍历的使用 TRAVERSE 子句表述后,就可以无缝和 TiDB 关系查询中的其他子句联合使用了,这样可以复用 TiDB 已有的执行算子和表达式等所有的计算能力,并且用户的学习成本也很低。比如我们可以直接复用 WHERE/ORDER BY/LIMIT 子句(在编上加上过滤条件,将图遍历(TRAVERSE 子句)的输出结果作为后面 ORDER BY LIMIT 子句的输入):

因为 TiDB 中的算子都依赖于强 Schema 的设计,为了复用 TiDB 中这些算子,TiGraph 中的 TAG 和 EDGE 也是强 Schema 的,这样图计算相关算子输出的 Schema 就能和关系型算子的 Schema 完全兼容。TiDB 的上层算子并不需要知道底层是图还是关系型数据,只要在最底层把之前的 TableScan 算子换成 GraphScan ,对于上层来说,所有能力都是可以复用的。

在 SQL 层面有一篇学术论文做了类似的研究,把 Stream 和 Batch 这两个试着用 SQL 去结合。目前,学术界还没有把 Graph 和 RDBMS 语法结合在一起的,TiGraph 项目实现了三个方面的创新。

第一个方面是做出一套 SQL Style 的图遍历语法。第二个方面是事务能力,就是在同一个事务里面操作图和关系型数据的能力。按照以前的惯例,用户必须要使用一个图数据库加上一个关系型数据库才能解决实际问题,然而要在两个数据库之间达成强一致基本上是不可能完成的任务,现在 TiGraph 具备这个能力,这是非常有魅力的,后续像子查询只需要在易用性和性能层面做提升就好。

第三个方面就是在 TiKV 里面实现两种不同的编码模型,一种是给关系型的表编码的,一种是给 Graph 编码的。为了避免混合存储在一个 KV 的引擎里面产生冲突,通过加一个 g 的前缀使得整个KV 在 Base 层面就完全隔离,互不影响。

TiGraph 场景探索

除了上面提到的新冠防疫场景之外,TiGraph 还将在金融反欺诈、社交网络、知识图谱等场景中发挥作用。

金融反欺诈

所谓近朱者赤近墨者黑,通过用户的关系网络来检测其与风险节点的关联度,可识别出其风险程度并作为一个参考指标,比如某用户三度关系之内是否触黑(有时候看单个节点和单笔交易是很难发现问题的),利用 TiGraph 可以很好地进行关联度检测和分析:

  • 检测用户的多层社会关系是否符合正常的图谱特征,如果是孤立的子图则可能是假造的关系网络,该用户存在高风险(包括黑/灰名单、高风险评分节点)

  • 检测多层关系网络中是否包含高风险节点,比如二度触黑

  • 通过 Personal Rank、Page Rank 等算法计算关系网络中节点的风险评分

对于有组织成规模的数字金融诈骗,TiGraph 可以从复杂网络中快速进行团伙分析,为诈骗阻断提供及时的判断依据。

  1. 社交网络

大家在使用 Linkedin 的时候,发现有一个侧栏显示你的二度和三度人脉,社交平台通过分析社交网络关系,来帮助你扩展人脉圈子。TiGraph 可以在社交网络里面用作一个计算 N 度人脉的系统,在此之外,还可以将这些社交网络与你的消费记录等信息进行联合,得到一些深层次的信息,进而来帮助社交平台的推荐系统提高转化率。TiGraph 可以打破数据之间的孤岛,建立隔离数据之间的连接,产生 1 + 1 > 2 的效果。

  1. 知识图谱

知识图谱是 Google 公司在 2012 年提出来的一个概念,可以通过一定方法把知识抽取和清洗出来,然后在图数据库中提供查询。搜索引擎只能告诉用户,查询的结果与哪些页面相关,用户需要肉眼在页面里找答案,而知识图谱可以直接把答案告诉用户。举个例子,TiGraph 能直接告诉你在《权力的游戏》中坦格利安家族的伊利亚丈夫的兄妹是谁,是不是很 Cool ?

未来方向

未来想在两个方面进行尝试。首先,关于 TiGraph 项目的实现想写一篇论文,主要的方向有两个:第一个是如何在目前已有的关系型数据库(TiDB)里面去集成图模式;另外一个是具体的语法,需要去证明图计算的三个算子。

其次是 TiGraph 这个项目的工程落地,赛队小伙伴们希望能进一步做深度的开发和实现工作。主要任务就是在 TiKV 里面把这一套 Key-Value 编码实现,并在 TiKV 的 Coprocessor 中实现图计算下推,从而打通整个链路,让图查询可以直接复用 TiDB 已有的执行算子和表达式,图查询和关系型查询也可以无缝结合。

TiGraph 背后的小伙伴

TiGraph 赛队的三位小伙伴都具有比较扎实的技术功底,喜欢探讨和研究新的技术方向,其中两位都是 TiDB 社区顶级的开发者(pingcap/tidb Contributors):crazycs520 这个 GitHub ID 虽然有点土,但是位列 TiDB Contributions 总榜 Top 5,wjhuang2016 同学也是一位天才选手。

在 TiDB Hackathon 2020 期间,除了 TiGraph 项目之外,还诞生了很多前沿、有趣的项目,给 TiGraph 赛队小伙伴们留下了深刻的印象:

  • ’ or 0=0 or ’ 队伍的 UDF 实现非常优雅高效,也为这一部分的探索画上了一个句话,以后大概率没有人能做出更加好的 UDF 实现了,当然这也是为什么能拿第一名的原因。

  • B.A.D 的 VSC 扩展也是非常有创造性的,甚至在 Hachathon 期间已经发布到 VSC Market 并获得两位数下载。

  • GPU 加速计算打开了一个新世界的大门,对于 TPCH 中几个包含 JOIN Query 的性能提升是非常不可思议的。

  • T4 组由孙晓光老师 Team 做的 TTL Table 是另一个我非常喜欢的项目,极其实用。

TiDB Hackathon 2020 把小伙伴们天马行空的想法变成了现实,在获得成就感的同时多了一份感动,我们将重新出发,还有更多的惊喜值得期待!

——TiGraph 队长 龙恒

相关推荐

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 的博客 1012

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

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

TiDB_PingCAP 的博客 1408

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

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

TiDB_PingCAP 的博客 1224

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

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

TiDB_PingCAP 的博客 966

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

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

TiDB_PingCAP 的博客 1124

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

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

TiDB_PingCAP 的博客 322

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

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

TiDB_PingCAP 的博客 1332

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

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

TiDB_PingCAP 的博客 1186

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

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

TiDB_PingCAP 的博客 1346

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

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

TiDB_PingCAP 的博客 1043

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

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

TiDB_PingCAP 的博客 1309

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

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

TiDB_PingCAP 的博客 1149

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

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

TiDB_PingCAP 的博客 1012

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

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

TiDB_PingCAP 的博客 1250

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

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

TiDB_PingCAP 的博客 1240

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

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

TiDB_PingCAP 的博客 1197

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

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

TiDB_PingCAP 的博客 1050

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

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

TiDB_PingCAP 的博客 692

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

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

TiDB_PingCAP 的博客 770

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

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

TiDB_PingCAP 的博客 908

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

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

TiDB_PingCAP 的博客 1348

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

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

TiDB_PingCAP 的博客 602

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

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

TiDB_PingCAP 的博客 1224

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

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

TiDB_PingCAP 的博客 799

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

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

TiDB_PingCAP 的博客 1173

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

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

TiDB_PingCAP 的博客 1307

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

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

TiDB_PingCAP 的博客 1353

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

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

TiDB_PingCAP 的博客 561

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

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

TiDB_PingCAP 的博客 1278

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

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

TiDB_PingCAP 的博客 1400
上一篇: 昆仑万维 X TiDB | 从 MySQL Cluster 到 TiDB 的升级之路
下一篇: 神器 TiDE 在手,一键快速上车 TiDB | TiDB Hackathon 2020 优秀项目分享
TiDB_PingCAP
TiDB_PingCAP 企业官方账号 企业官方账号
博客等级 码龄10年 2724粉丝 780原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值