专访 | 黄东旭:如何运用 HTAP 数据库帮到你?来听听 TiDB 的故事

日前,我司 CTO 黄东旭接受了即将开幕的 WOT2018 全球软件与运维技术峰会记者的采访,介绍了 TiDB 作为 HTAP 数据库的技术思考及应用情况,以及 PingCAP 自创立以来对开源的一些心得,以下是报道原文。Enjoy~

作者:查士加

创立 PingCAP 的理由异常简单

黄东旭提到,自己与朋友一同创业,理由很简单,源自一个需求。彼时,黄东旭与刘奇(现任 PingCAP CEO)同属豌豆荚的分布式存储团队,当时的他们开源了 Codis,解决了豌豆荚内部缓存的扩展性问题,数据库问题成了硬骨头。如何构建一个对业务端透明,兼具良好的扩展性和完整的分布式事务支持的数据库,是构建新一代微服务架构的核心问题之一。当时,团队在开源社区并没有找到比较好的方案,分库、分表、中间件,这些传统做法在涉及到业务大的改动时会带来很大的运维成本,如何彻底解决这个问题呢?

受当时 Google 发表的一系列在分布式数据库方面的论文(Spanner/F1)启发,PingCAP 的初创团队打算从头开始实现一个新一代的关系型数据库,来解决关系型数据库的扩展性问题。由此看来,PingCAP 创立的初衷很简单,就是几个工程师想要解决一个很困难的技术问题,同时想通过开源的方式帮到大家。

PingCAP 联合创始人兼 CTO 黄东旭

TiDB 研发早期经历的那些事儿

在 TiDB 研发早期,从 SQL 层开始,第一个开源的 TiDB 版本其实并没有存储引擎,后端存储是 HBase,为了加入存储层,也为了验证 SQL 的正确性,PingCAP 团队决定为 HBase 加入分布式事务的支持,直接对接在 TiDB SQL 层的后端,这种方法确实可行。但是考虑到性能和其他一些因素,PingCAP 很快决定用 Rust 重新实现一个全新的分布式存储层,也就是后来的 TiKV。彼时 Rust 还是一门比较新的语言,且以学习曲线陡峭著称,整个团队成员都没有相关经验,好在得到了 Rust 语言官方的诸多支持,PingCAP 和 Rust 语言共同成长了起来,如今,TiKV 已经是 Rust 社区的明星项目,同时 PingCAP 也是多个知名项目(如 gRPC 等)的 Rust 语言开源实现的主要维护者。黄东旭表示看到 Rust 语言越来越火,感到非常的高兴和欣慰。

PingCAP 是国内首家开源的新型分布式数据库公司,其独立研发的分布式数据库产品 TiDB 是一款定位于 HTAP(Hybrid Transactional/Analytical Processing)混合事务/分析处理数据库的融合、创新型数据库产品。为了实现这一目标,TiDB 在架构上将计算和存储层进行高度的抽象和分离,对混合负载的场景通过 IO 优先级队列,智能副本调度,行列混合存储等技术使其变为可能。另外,在 TiSpark 项目中,将 TiDB 的存储层和 Spark 的计算引擎高效地连接在一起,让用户也能够在 Spark 生态系统下实时的对数据库中的数据进行复杂分析。

黄东旭认为,HTAP 给开发者提供了一个实时数据分析方面的新思路,不需要再去维护另一个离线的数据仓库,既减轻了 ETL 的工作,又能节省很大一部分的建立数据仓库所用到的存储和计算成本,HTAP 将是未来的重要趋势。

HTAP 数据库的三类应用场景

一是大中台的场景。例如,前台的数据库已经分库分表或已水平拆分,TiDB 可以作为所有线上生产库的从库,实时将数据同步到一个大的 TiDB 集群上,在这一层将数据打通,可以直接进行复杂的跨库、跨表、跨业务的实时 SQL 查询,由于这是基于 MySQL 的协议和语法,对业务的侵入性很小,开发者无需再去学习新的查询语法。

二是为微服务提供强一致的持久化数据层(the source of truth)。其实微服务乃至后来的 Serverless 架构,一个核心的问题就是持久化数据层,要将无状态的业务逻辑容器化、服务化很方便,但是带状态的存储层在满足 SQL 和强一致甚至 ACID 的情况下实现弹性伸缩,在现有的方案下仍十分困难,而 TiDB 可以完美的在这类架构中填补这一空白。

三是 MySQL 分库分表的完美替代品。TiDB 与 MySQL 的语法、MySQL 社区的工具(如 Mydumper/PhpMyAdmin 等)完美兼容,可让 MySQL 应用无需修改便可直接运行。这让很多用了 MySQL 的业务在遇到大数据量的场景时,能够无缝的切换。

TiDB 解决 MySQL 可扩展性的实现原理

TiDB 产品的整体架构是分层的,由分布式 SQL 层(TiDB)、分布式 KV 存储引擎(TiKV)以及管理整个集群的 PD 模块组成。无限水平扩展是 TiDB 的一大特点,这里所说的水平扩展包括两方面:计算能力和存储能力。TiDB Server 负责处理 SQL 请求,随着业务的增长,可以通过简单的添加 TiDB Server 节点,在提升整体处理能力的同时,提供更高的吞吐能力。TiKV 负责存储数据,随着数据量的增长,可以部署更多的 TiKV Server 节点,解决数据 Scale 的问题。PD 会在 TiKV 节点之间以 Region 为单位进行调度,将部分数据迁移到新加的节点上。由此可见,企业在业务的早期可以只部署少量的服务实例,随着业务量的增长,能够便捷地按照需求添加 TiKV 或 TiDB 实例。

据介绍,目前,包括摩拜单车、同程旅游、饿了么、360 金融、游族网络、今日头条、盖娅互娱、猿辅导、易果集团、去哪儿网等 200 余家不同行业的领先企业已经将 TiDB 应用在实际的生产环境中,涉及互联网、游戏、金融、政府、电信、制造业等多个领域。

其中,今日头条和易果集团都是比较典型的案例。

今日头条:用 TiDB 替换原有的主从 MySQL 数据库

以今日头条为例,今日头条 APP 的自研 S3 存储系统,数据量级已近上百亿。在用 TiDB 前,今日头条的元数据存在 MySQL 2.8TB 的磁盘里,因为数据量增长迅速,导致磁盘不够用,只能用分库分表的方案,当时的方案是 MyCAT。但是分库分表带来一些问题,如:无法做 OLAP 分析;有丢数据的问题,数据虽然已经 commit,实际并没有保存下来;还有连接的问题,有些业务没有带分片键的查询,会消耗非常多的连接,造成没有连接的情况。

如今,今日头条使用 TiDB 替换了原有的主从 MySQL 数据库,上线后效果非常明显:

  • TiDB 支撑着今日头条 OLTP 系统里数据流量较大、QPS 较高的场景。例如今日头条、抖音;

  • QPS 一直在上升,目前均值十几万;

  • 已经稳定运行近半年,做过一次扩容。

典型 OLTP+OLAP 混合场景案例

易果集团是一个典型的 OLTP+OLAP 混合场景的案例。在上线 TiDB 之前,易果集团的实时系统已经遇到了瓶颈:

  • SQL Server 当数据量到达一定阶段,性能出现拐点,弹性扩展很难实现;

  • HDFS+Hive+Spark+Presto+Kylin 方案在数据量增大的情况下,ETL 越来越慢,很难满足更复杂的 OLAP 需求,与此同时,业务对实时或者准实时的需求越来越强烈。

通过对 Greenplum、Kudu、TiDB 等多个方案的选型评估,最终易果集团选择了 TiDB 的方案:使用 Flume、Syncer 数据实时同步到 TiDB,并使用 TiSpark 替换 Hadoop 进行实时数仓业务。目前,在 TiDB 的支持下,易果集团 T+1 数仓已升级为实时数仓,TiDB 天然的满足了数据量线性扩展的问题,同时还节省了大量的运维成本。TiDB 作为一款 HTAP 数据库,为易果集团创建实时、统一的混合数据库提供了可能。

基础软件选择开源社区战略更加适宜

最后,黄东旭表示,开源是一种非常先进的软件开发模式和推广模式,对于基础软件来说,开源是一种很重要的手段。他引用了开源社区里流传甚广的一句话:只要眼睛足够多,Bug 无处藏。从这个逻辑的角度来看,对于基础软件来说,用户越多,使用场景越多,见过的 Workload 越多,得到相应的反馈越多,这些来自一线的反馈能够更好的让你看清方向和产品存在的缺陷,更快的迭代以达到更加完美的状态,避免闭门造车;另外一方面,社区和生态会成为你最大的护城河,从而构建真正的商业壁垒。黄东旭总结,PingCAP 这几年发展的如此之快,与他选择了开源的战略密不可分。

相关推荐

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

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

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

TiDB_PingCAP 的博客 975

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

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

TiDB_PingCAP 的博客 1133

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

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

TiDB_PingCAP 的博客 329

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

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

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

TiDB_PingCAP 的博客 1317

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

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

TiDB_PingCAP 的博客 1157

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

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

TiDB_PingCAP 的博客 1021

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

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

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

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

在过去的十年中,平凯数据库在金融行业积累了丰富的实践经验,已经在国有大型银行的 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 的博客 1316

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

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

TiDB_PingCAP 的博客 1360

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

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

TiDB_PingCAP 的博客 570

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

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

TiDB_PingCAP 的博客 1283

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

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

TiDB_PingCAP 的博客 1405
上一篇: 刘奇:数据库市场呈现多样化趋势,20% 传统数据库在未来两年会被替代
下一篇: TiDB 2.0 GA Release
TiDB_PingCAP
TiDB_PingCAP 企业官方账号 企业官方账号
博客等级 码龄10年 2726粉丝 780原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值