博客

案例实践

最佳实践:TiDB 业务写变慢分析处理

在日常业务使用或运维管理 TiDB 的过程中,每个开发人员或数据库管理员都或多或少遇到过 SQL 变慢的问题。本文针对写 TiDB 集群的场景,总结业务 SQL 在写突然变慢时的分析和排查思路,旨在沉淀经验、共享与社区。

李文杰
2023-09-12
案例实践

专访中欧财富伍春兰:财富管理行业数字化转型升级,数据库如何选型?

本文采访了中欧财富技术总监伍春兰,探讨了财富管理行业数字化转型面临的挑战,包括人才、安全和技术基础架构。

社区动态

AI 时代的向量数据库、关系型数据库与 Serverless 技术丨TiDB Hackathon 2023 随想

AI 时代,向量数据库的身影无处不在。向量数据库到底跟传统的关系型数据库有什么不同,为什么 AI 应用常常需要依赖于向量数据库,基础软件 Serverless 化能带来哪些效率提升?

案例实践

TiDB x 安能物流丨打造一栈式物流数据平台

本文以安能物流作为案例,探讨了在数字化转型中,企业如何利用 TiDB 分布式数据库来应对复杂的业务需求和挑战。

李家林
2023-08-30
案例实践

最佳实践:TiDB 业务读变慢分析处理

本文针对读 TiDB 集群的场景,总结业务 SQL 在查询突然变慢时的分析和排查思路,旨在沉淀经验、共享与社区。

李文杰
2023-08-24
案例实践

中欧财富:分布式数据库的应用历程和 TiDB 7.1 新特性探索

本文介绍了中欧财富在分布式数据库领域的探索历程,以及如何成功将业务系统迁移到 TiDB 平台的实践。此外,文章还特别强调了 TiDB 7.1 LTS 版本所带来的新特性,包括资源管控、Partitioned Raft KV 等,这些创新极大地提升了中欧财富的业务效益和性能水平。

案例实践

漱玉平民大药房:多元化药店变革的前夜

本文介绍了漱玉平民大药房在药品零售领域的数字化转型和发展历程。通过技术创新,漱玉平民建设了覆盖医药全生命周期的大健康生态圈,采用混合云架构和国产分布式数据库 TiDB,应对庞大的会员数据处理需求,实现了精准营销、高并发处理等目标。

王聪彬
2023-08-17
观点洞察

AI 时代数据库如何 Ready?TiDB 率先给出答案

本文转载自微信公众号“大数据在线”。作者认为大模型所呈现出的强大能力,让 Data+AI 成为数据库领域的大势所趋。大模型与数据的同频共振,不仅会对当前的数据库技术架构带来根源性重构,更有望让数据库市场形成差异化的竞争,带来无限可能。

观点洞察

飞得更高,扎得更深:数据新生态的突围之路

本文转载自微信公众号“科技商业”。作者认为,只有不断探索数据技术边界,将先进技术融入到产品特性,并落实到千行百业的应用场景,才能达成助力企业业务创新的最终目标。从这个角度而言,数据新生态的市场突围,将永远在路上。

产品技术解读

TiDB Serverless Branching:通过数据库分支简化应用开发流程

TiDB Serverless Branching 功能使用户能够为其 TiDB Serverless 集群创建分支。这些分支可以实现并行开发,促进新功能快速迭代,排查故障,开发者无需中断生产数据库的运行。该功能不仅简化了开发和部署过程,还保持了生产环境中数据库的稳定性和可靠性。

案例实践

TiDB v7.1.0 跨业务系统多租户解决方案

本文介绍了 TiDB 数据库的资源管控技术,并通过业务测试验证了效果。资源管控技术旨在解决多业务共用一个集群时的资源隔离和负载问题,通过资源组概念,可以限制不同业务的计算和 I/O 资源,实现资源隔离和优先级调度,提高系统利用率和稳定性。

产品技术解读

TiDB Bot:用 Generative AI 构建企业专属的用户助手机器人

本文介绍了 PingCAP 是如何用 Generative AI 构建一个使用企业专属知识库的用户助手机器人。除了使用业界常用的基于知识库的回答方法外,还尝试使用模型在 few shot 方法下判断毒性。目前该机器人已经应用到了 TiDB 面向全球客户的各种渠道中。

观点洞察

唐刘:TiDB 研发工程实践及 TiDB 人才观丨CCF 中国数据库暑期学校

在刚刚结束的 CCF 中国数据库暑期学校上, PingCAP 的研发副总裁唐刘分享了在 TiDB 研发过程中的工程实践经验和人才培养方法。

公司动态

TiDB Serverless 正式商用,全托管的云服务带来数据管理和应用程序开发的全新体验

TiDB Serverless 已经正式商用。作为一款完全托管的 DBaaS 服务,TiDB Serverless 提供了一种功能强大、高性价比的数据管理方案,它可以根据你的需求自动扩展,消除了预设集群规模、资源负载平衡和资源闲置造成的麻烦和浪费,赋能全球企业和开发者。

观点洞察

黄东旭:The Future of Database,掀开 TiDB Serverless 的引擎盖

PingCAP 联合创始人兼 CTO 黄东旭分介绍了 TiDB Serverless 作为未来一代数据库的核心设计理念,同时探讨了 TiDB Serverless 对于中国用户的价值。

观点洞察

PingCAP 陈煜琦:深耕中国市场,构建客户成功生态

在 PingCAP 用户峰会 2023 上,PingCAP 副总裁陈煜琦分享了“激流入海,PingCAP 中国业务发展策略”的演讲,介绍了 PingCAP 在技术层面的发展方向,强调了 PingCAP 服务于中国企业客户的重要性,并介绍了 PingCAP 助力客户长期业务发展的目标和方向。

观点洞察

倪光南院士在 PingCAP 用户峰会的现场致辞

在PingCAP用户峰会2023上,中国工程院院士倪光南亲临现场,为大会致辞。

产品技术解读

TiDB 7.2 - 更平滑的操作体验

TiDB 7.2 致力于简化数据管理,引入了暂停和恢复 DDL 操作、资源组控制查询影响以及将 TiDB Lightning 导入服务整合到 TiDB 中的功能。

观点洞察

PingCAP 唐刘:携手中国用户,打造世界级产品

PingCAP 研发副总裁唐刘、PingCAP 首席科学家丁岩分别从 TiDB 7.x 版本内核的演进方向、面向中国企业级用户的新品平凯数据库的发版策略和产品路线图两个角度,解析 TiDB 产品家族协同演进路径。

观点洞察

刘奇:经典数据库亟需跃迁,TiDB 不是“平替”

在刚刚结束的 PingCAP 用户峰会 2023 上,PingCAP 创始人兼 CEO 刘奇全面解析了 AI 时代 TiDB 的演进方向,宣布 TiDB Serverless 正式商用,并发布了面向中国企业级用户的平凯数据库。

观点洞察

是时候了!MySQL 5.7 的下一站,不如试试 TiDB?

随着 MySQL 5.7 EOL 到来,升级到一个更高版本、且有官方支持的 MySQL 似乎是最直接的方案,但是否有其他选择呢?我们是否可以找到一个既能满足当下不断发展的数据处理需求,又能克服当前 MySQL 技术限制的完美替代方案?

社区动态

开战在即!与全球伙伴一起打造你的数据应用,TiDB Future App Hackathon 2023 来啦!

报名即日开启,接受这份来自 TiDB 的邀请,和我们一起在代码世界中创新,体验 Serverless 的魅力,打造专属你的 Data Application!

公司动态

TiDB 7.1 LTS 发版:为关键业务提供业务稳定性和多租户场景支持

TiDB 7.1 是 2023 年度发布的首个 LTS 版本,汇集了来自 20+ 个真实场景带来的功能增强,累计优化和修复 140+ 功能,旨在提升关键业务的稳定性和性能,帮助开发人员和数据库管理员提高生产力并进一步降低总体拥有成本。

案例实践

从 Oracle 迁移到 TiDB 的方案设计与用户实践

本文以中国人寿财险公司为例,详述其从 Oracle 到 TiDB 分布式数据库的四个阶段的迁移,展示了金融行业对数据库的高要求和国产数据库的价值应用。

案例实践

一名开发者眼中的 TiDB 与 MySQL 的选择丨TiDB Community

随着 MySQL 8.0 的发布和即将到来的 5.7 版本的停止支持,许多 MySQL 用户正面临升级和转型的抉择。本文为 TiDB 社区用户撰写,以一名开发者的视角,深入探讨和比较了 TiDB 和 MySQL 的差异。

产品技术解读

TiKV 新架构:Partitioned Raft KV 原理解析

在上一篇文章中,我们介绍了 Partitioned Raft KV 这一新实验特性带来的性能和可伸缩性大幅提升。本文我们将为大家介绍这一功能的实现原理。

案例实践

基于 TiDB + Flink 实现的滑动窗口实时累计指标算法

当前的市场环境对产品运营提出了更高的要求,特别是对数据指标实时性的要求日益严格。为了能够实时监测数据动态和特征用户的状态,我们采用了分布式数据库 TiDB 和计算框架 Flink 的组合,提出了一种基于滑动窗口的实时累计指标算法。

案例实践

从 MySQL 到 Oracle 再到全面 TiDB ,云盛海宏的数据库架构实践

这样一家零售领域的老牌企业是如何一步步转向原生分布式数据库的?整体的架构变迁思路是怎样的?实践过后又是如何从成本视角评价 Oracle 和国产分布式数据库的......本文就上述问题逐一进行了探讨。

产品技术解读

新特性解析丨TiDB 资源管控的设计思路与场景解析

资源管控技术是 TiDB 7.0 版本中优化提升的重要能力之一,不仅可以在负载剧烈变化时,保证服务质量,同时提供了数据库的多租户隔离能力,能够有效地降低数据库运行成本,帮助企业节省信息化管理开支,提升企业的竞争力。

产品技术解读

方案精讲丨TiDB 在社交场景的解决方案实践

本文介绍了 TiDB 数据库在社交应用出海中的应用。文章通过几个社交应用企业的实践案例,具体说明了 TiDB 的优势和应用场景。

产品技术解读

TiDB Raft KV 新引擎:更高级别的可扩展性和写性能

TiDB 6.6 之前已经成功容纳超过 200 TB 的数据,开启新功能后,TiDB 的可扩展性能够提高到 PB 级别。本文将深入介绍 TiKV “partitioned-raft-kv”功能的用户价值、应用实践以及使用方式。

徐奇
2023-04-11
公司动态

TiDB 7.0 发版

TiDB 7.0 聚焦于帮助用户通过可靠性能和简化数据库操作来快速响应业务需求,从而满足客户的高期望值,并提升开发人员和 IT 运维人员的生产力。

产品技术解读

方案精讲丨TiDB 助力 Fintech 构建新一代数据服务平台

本文讨论了金融科技(Fintech)行业在数据基础设施建设上所面临的挑战,以及 TiDB 数据库在解决这些挑战方面的天然优势。

产品技术解读

TiCDC 源码阅读(七)TiCDC Sorter 模块揭秘

本文聚焦CDC 的 Sorter 模块,内容包括 Sorter 的价值、Sorter 的默认排序引擎选择,以及针对 LSM 树的读、写放大,Sorter 中做出的优化。

屈鹏
2023-03-29
案例实践

TiDB x 云盛海宏丨加速精细化运营,云海零售系统的架构演进

本文介绍了云盛海宏云海零售系统所使用的数据库架构从集中式到分布式的演进历程,并根据使用的经验和体验,阐述了为什么选择 TiDB 数据库来支撑其业务,详细讲述了 TiDB 如何在实际使用中助力精细化运营。

徐婷
2023-03-28
产品技术解读

方案精讲丨电商数据技术栈,在海量数据增长下如何实现实时与全量兼得?

在跨境电商领域中,TiDB 得到了广泛的应用。本文分析了电商出海的现状与挑战,同时介绍了 TiDB 的产品能力,并结合实际案例介绍了对应的解决方案。

产品技术解读

TiDB 6.5 新特性解析丨解锁 TiDB + 数据仓库的新形态

从 v6.5.0 开始,TiCDC 支持将行变更事件保存至存储服务,这给 TiDB + 数据仓库带来了更多可能。本文将结合生产中的实际需求和测试结果,分享 TiDB + 数据仓库共建的构想。

案例实践

TiDB in SaaS丨TiDB 在 Moka BI 场景下的应用

在综合考虑兼容性、稳定性,简介性,高可用,易用性等因素后,Moka BI选择了TiDB作为支撑新架构的数据库,解决了数据壁垒,降低业务复杂度,实现了全面的性能提升。

产品技术解读

TiCDC 源码阅读(六)TiCDC Puller 模块介绍

TiCDC中的拉通过创建KV-Client向TiKV发送请求,在 TiCDC 中实现从 TiKV 接收变更数据功能。本期将详细分享 Puller 模块的功能实现原理。

蒋建元
2023-03-16
观点洞察

黄东旭:狂飙的 ChatGPT ,如何颠覆数据库交互形态?

AI、Serverless 和 HTAP 的结合将是数据库发展的新里程碑,ChatGPT 只是个开始,接下来肯定会有更多更强的产品,在通向真正的 AGI 这条路上涌现。

产品技术解读

TiDB 6.5 新特性解析丨他山之石,可以攻玉:从磁盘快照到备份恢复

本文分享了 TiDB 运用 AWS EBS 快照技术实现备份恢复功能的原理和实践,以及如何解决传统数据库备份恢复特性无法克服的问题,让备份恢复特性向前迈进了坚实的一步。

产品技术解读

TiCDC 源码阅读(五)TiCDC 对 DDL 的处理和 Filter 解析

本文是 TiCDC 源码阅读的第五篇,将介绍 TiCDC 对 DDL 的处理方式和 Filter 功能的实现(基于 TiCDC v6.5.0 版本代码)。

江宗其
2023-03-08
案例实践

携程 x TiDB丨应对全球业务海量数据增长,一栈式 HTAP 实现架构革新

本文介绍了携程数据库架构从 SQL Server 到 MySQL 再到 TiDB 的革新历程,从痛点分析、选型思考到部署实践,介绍了 TiDB 如何支撑携程的酒店和度假场景以及全球化业务,以一栈式 HTAP 支持携程全球业务海量数据增长。

产品技术解读

坚如磐石: TiDB 基于时间点的恢复特性优化之路

对于数据库产品而言,基于时间点的恢复是非常重要的基础能力,它允许用户根据需要,将数据库恢复到特定时间点,以帮助客户的数据库免受意外损坏或错误操作的影响。例如,数据库在某个时间点之后的数据遭受了意外的删除或损坏,则可以使用 PiTR 功能将数据库恢复到该时间点之前的状态,从而避免丢失重要数据。

案例实践

技术出海|TiDB 在智能制造中的应用实践

文章通过案例解析,展示了 TiDB 在智能制造的各个数据流动环节中都可以发挥其独特的价值,包括数据获取、集成和应用展示等。随着 TiDB 整体产品形态不断丰富和完善,TiDB 在智能制造行业将会发挥出更大的价值。

观点洞察

PingCAP 唐刘:一个咨询顾问对 TiDB Chat2Query Demo 提出的脑洞

本文分享了唐刘在展示 Chat2Query demo 过程中的一些思考。探讨了想打造一款好的产品,从用户角度出发的思考方式以及与用户交流的重要性。

案例实践

浅谈 HTAP 混合技术和金融业应用场景

本文由中国银行软件中心(西安)个人业务研发部对客交易综合查询开发团队撰写。近年来,随着大数据应用场景的快速普及与多样化发展,传统的数据处理方案已愈发难以满足海量数据实时分析的数据处理需求,HTAP 具有明显的技术优势。

中国银行软件中心
2023-02-24
产品技术解读

天下武功唯快不破:在线 DDL 性能提升 10 倍

“天下武功唯快不破”,解决 DDL 带来的问题,本质上只需要做到一点:降低 DDL 的执行耗时。

黄潇 Bear. C 谢腾进 庄培培 胡海峰
2023-02-23
观点洞察

技术出海丨数字原生企业的出海趋势和技术选择

本文将以全球化的视野观察中国数字原生企业出海的新趋势,包括 DNB( 数字原生企业)主要行业的发展特点,目前发展阶段的热点和未来转向,再从这些行业趋势来看中国出海企业面临的技术挑战。

公司动态

TiDB 6.6 版本发布

我们很高兴地宣布,TiDB 6.6 版本已经发布了。在这个版本中,TiDB 一如既往地沿着更省心、更便捷、更快的方向前进。

产品技术解读

TiDB Serverless 和技术生态全景

本次分享在介绍 Serverless Tier 的技术细节之余,全面解析了 TiDB 的技术生态全景和在生态构建中所做的努力。阅读本文,了解有关 Serverless 的更多信息,以及 PingCAP 在技术领域的最新进展。

案例实践

建设 TiDB 自动化平台:转转 DBA 团队实践

本文将分享转转实现 TiDB 自动化的历程。从遇到问题开始,到解决问题,以及平台做成什么样,也是对过去的工作做一个总结和梳理。

产品技术解读

方案精讲丨降低架构复杂度、实现成本节约:TiDB 多业务融合方案(下)

在《多业务融合方案 - 上篇》中介绍了基础多业务融合方案,在本文中继续介绍多业务融合方案以下能力:多业务融合能力与 HTAP 结合;多业务融合在基础架构上通过修改 Leader 分布进一步提升整体隔离性;如何在线调整业务资源组。

案例实践

网易游戏实时 HTAP 计费风控平台建设

本文整理自网易互娱资深工程师, Flink Contributor, CDC Contributor 林佳,在 FFA 实时风控专场的分享。

案例实践

TiDB 在安信证券资产中心与极速交易场景的实践

本文将分享 TiDB 在安信证券的资产中心与极速交易场景的实践经验。

李轲 蔡茂捷 徐凯
2023-02-07
产品技术解读

TiCDC 源码阅读(四)TiCDC Scheduler 工作原理解析

本文是 TiCDC 源码解读的第四篇,主要内容是讲述 TiCDC 中 Scheduler 模块的工作原理。

金灵
2023-02-06
案例实践

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

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

产品技术解读

TiDB 6.5 新特性解析丨过去一年,我们是如何让 TiFlash 高效又稳定地榨干 CPU?

TiDB 6.5 新特性解析系列文章由 PingCAP 产研团队重磅打造,从原理分析、技术实现、和产品体验几个层面展示了 6.5 版本的多项功能优化,旨在帮助读者更简单、更全面的体验 6.5 版本。本文介绍了 TiFlash 在高并发场景下的稳定性和资源利用率的优化原理。

观点洞察

PingCAP 黄东旭万字长文剖析数据库发展新趋势:脱离应用开发者的数据库,不会成功

本文由 PingCAP 联合创始人兼 CTO 黄东旭撰写,基于亲身经历的数据库行业,深度总结过去一年数据库发展的重要趋势,以及展望 2023 年数据库新方向,希望对更多的行业从业者有所启发。

产品技术解读

TiCDC 源码阅读(三)TiCDC 集群工作过程解析

本文是 TiCDC 源码解读的第三篇,主要内容是讲述 TiCDC 集群的启动及基本工作过程。

金灵
2023-01-17
公司动态

TiDB 中标杭州银行核心系统数据库项目

近日,平凯星辰 TiDB 分布式数据库成功中标杭州银行核心系统数据库项目。平凯星辰凭借前瞻的产品技术方案、金融领域的经验积累、专业快速的服务保障及高度活跃的开源社区,在竞争中脱颖而出。此次中标再次印证了 TiDB 新一代分布式数据库在银行核心系统建设、确保业务连续性以及支持业务敏捷高效创新等方面具备关键的服务能力。

PingCAP
2023-01-10
产品技术解读

方案精讲丨TiDB 多业务融合方案(上)

多业务融合即将多个业务系统部署在同一套 TiDB 集群中,如何提高资源隔离能力确保不同业务之间不相互影响是多业务融合方案设计要点。本文主要介绍如何使用单 TiDB 集群支持多业务,并且保证业务之间隔离性。

案例实践

同盾科技 x TiDB丨实时数据架构为风控智能决策保驾护航

同盾科技是中国领先的人工智能科技企业。为了确保服务的低延迟和高可用性,同盾的技术团队不断寻找最佳的技术架构。经过长时间调研,他们最终选择了新一代分布式数据库 TiDB 作为离线层的核心数据库,基于 TiDB 打造的实时数据架构为风控智能决策保驾护航。

公司动态

TiDB 6.5 LTS 版本发布

在 2023 伊始,我们很高兴向大家宣布,TiDB 6.5 LTS 版本已经发布了。

产品技术解读

TiCDC MQ 吞吐性能提升报告

TiCDC 是 TiDB 生态圈的一员,为 TiDB 提供数据同步服务,它订阅上游集群中的 TiKV 节点事务执行过程中产生的数据变更事件,输出到下游目标数据系统(如 TiDB / Kafka / MySQL)。

金灵
2022-12-28
案例实践

LiveMe x TiDB丨单表数据量 39 亿条,简化架构新体验

LiveMe 是一个全球直播和社交平台,目前已在全球积累了超过 1 亿用户和超过 300 万的主播,面临新的业务挑战,LiveMe 经过一系列技术选型后最终选择了 TiDB 数据库。

产品技术解读

TiCDC 源码阅读(二)TiKV CDC 模块介绍

本文是 TiCDC 源码解读的第二篇,将介绍 TiCDC 的重要组成部分,TiKV 中的 CDC 模块。

沈泰宁
2022-12-22
案例实践

数益工联 x TiDB丨如何运用 HTAP 挖掘工业数据价值?

本文将以数益工联数字化工厂为例,介绍“离散型”制造业面临的数据挑战,以及分布式 HTAP 数据库 TiDB 如何助力工业数据价值的挖掘。

公司动态

TiDB 首批通过信通院 HTAP 数据库基础能力评测

2022 年 12 月 15 - 16 日,在中国信通院组织的第十五批数据库产品能力评测中,平凯星辰(北京)科技有限公司的分布式数据库 TiDB 成为国内首个完成并顺利通过 HTAP 数据库基础能力测评的产品。

PingCAP
2022-12-20
产品技术解读

TiCDC 源码阅读(一)TiCDC 架构概览

本篇文章是 TiCDC 源码阅读系列文章的第一期,主要叙述了 TiCDC 的目的、架构和数据同步链路,旨在让读者能够初步了解 TiCDC,为阅读其他源码文章起到一个引子的作用。

江宗其
2022-12-15
公司动态

PingCAP 与 Wisconsin-Madison 大学建立科研合作,探索 Key-Value 存储系统的智能管理与自动调整

近日,企业级开源分布式数据库厂商 PingCAP 宣布与美国著名公立大学 Wisconsin-Madison 建立科研合作。

PingCAP
2022-12-14
案例实践

案例故事丨老虎国际 x TiDB ,降低架构复杂性,保障全球用户安全可靠投资

数据安全性、数据可用性和数据架构复杂度成为老虎国际国际化业务的三大挑战。出于对开源技术的信任和认同,老虎国际很早就在数据中台业务中应用了 TiDB 3.0 版本,此后一路升级到 TiDB 5.0,解决了业务挑战与数据安全挑战。

观点洞察

圆桌实录:技术无感化成为 2023 年最值得开发者和企业用户关注的技术趋势丨PingCAP DevCon 2022

在 2022 年中,HTAP、Serverless、云原生、智能化成为全球数据技术的热门趋势。在刚刚结束的 PingCAP DevCon 2022 上,PingCAP 联合创始人兼 CTO 黄东旭、中国信息通信研究院云计算与大数据研究所副所长魏凯、云和恩墨创始人& CTO 盖国强、联易融副总裁沈旸、云启资本合伙人陈昱等嘉宾,与主持人 PingCAP 副总裁刘松进行了圆桌讨论。

公司动态

PingCAP 成为中国唯一入选 Forrester Wave 数据库厂商,被评为卓越表现者

2022 年 12 月 6 日,国际权威研究机构 Forrester 发布了「Forrester Wave™: Translytical Data Platforms, Q4 2022 」报告,企业级开源分布式数据库厂商 PingCAP 作为中国唯一入围的数据库厂商,首次参评该报告即获评“卓越表现者(Strong Performers)”。

公司动态

黄东旭:开发者的“技术无感化”时代,从 Serverless HTAP 数据库开始 | PingCAP DevCon 2022

12 月 1 日,以"去发现,去挑战"为主题的 PingCAP DevCon 2022 主论坛在线上成功举办,为数万观众带来一场技术盛宴。PingCAP 联合创始人兼 CTO 黄东旭,在大会上分享了 “The Future of Database”的主题演讲,分享了他对云原生、开发者生产力的理解,介绍了 Serverless HTAP 的意义以及未来的”技术无感化“发展方向。

社区动态

让迁移不再开盲盒,让云也能省钱丨Hackathon 项目背后的故事第一期回顾

TiDB Hackathon 2022 已经完美收官,我们在赛后策划了一系列「 TiDB Hackathon 2022 非正式会谈」 —— Hackathon 项目背后的故事 ,邀请大赛评委老师与优秀项目团队一起共话 Hackathon 那些脑洞大开的项目创意。本文为第一期回顾

产品技术解读

TiKV 源码阅读三部曲(三)写流程

本文是 TiKV 源码阅读三部曲第三篇,主要介绍了 TiKV 中一条写请求的全链路流程。

案例实践

MySQL or TiDB?HTAP 数据库在中国 SaaS 行业头部服务商的应用实践

CRM 并不是简单的销售和客户服务的效率工具。本质上,CRM 是以平台化思维实现业务管理和数据的打通,为 360 度客户旅程提供数字化支撑。

PingCAP
2022-10-27
产品技术解读

TiKV 源码阅读三部曲(二)读流程

本文是 TiKV 源码阅读三部曲第二篇,主要介绍 TiKV 中一条读请求的全链路流程。

社区动态

鏖战 48 小时,TiDB Hackathon 都诞生了哪些硬核创意?

TiDB Hackathon 2022 决赛刚好在 1024 程序员节前夜完美收官,48 小时的 Happy Hacking,参赛项目有趣、有料,精彩不断!

社区动态

TiDB Hackathon 2022 决赛入围名单出炉,哪些项目值得关注?快来围观吧!

TiDB Hackathon 2022 初赛结果出炉,哪些项目值得关注,快来看看吧!

产品技术解读

TiKV 源码阅读三部曲(一)重要模块

本篇博客介绍了 TiKV 的基本概念,TiKV 读写路径上的三个重要模块(KVService,Storage,RaftStore)和断点调试 TiKV 学习源码的方案,希望能够帮助对 TiKV 开发感兴趣的新同学尽快了解 TiKV 的 codebase。

社区动态

老朋友新朋友,抱紧“大腿”,冲击第一名! | TiDB Hackathon 选手访谈

TiDB Hackathon 2022 已经进入倒计时,距离决赛日还有不到一周时间,今年由于赛制的变化,初赛提前到了赛前(10 月 17 日),你已经准备好自己项目的 RFC 了吗?

产品技术解读

我们如何消除两个开源项目之间长达 4 年的分叉

本文以 TiFlash Proxy 与 TiKV 的解耦为例,从目标确定、方案设计、实施过程及测试设计等方面分享了如何消除两个开源项目间的分叉。

观点洞察

中国赛宝实验室李冬:中国数据库产业发展研究丨PingCAP 用户峰会回顾

在 9 月 22 日举办的 PingCAP 用户峰会上,中国赛宝实验室李冬(博士)分享了主题为「中国数据库产业发展研究」的议题,本文为分享实录。

李冬
2022-10-12
社区动态

单刷 3 届 Hackathon,朝着理想中的数据库出发丨TiDB Hackathon 选手访谈

在等待比赛日的这段时间,TiDB 社区采访了多维 Hackathon 参赛选手,通过访谈为大家分享一下他们对 Hackathon 的理解和感悟,同时探讨开源给他们的个人生活和工作带来了哪些改变。

观点洞察

唐刘:透明一切,是我们在复杂环境下与客户建立信任的最佳途径

PingCAP 研发副总裁唐刘、PingCAP 中国区技术服务总经理李超群分享了 PingCAP 如何通过产品研发和服务体系将产品价值“又快又稳”地交付给客户,获得客户的信任,并帮助客户实现成功。

唐刘
2022-10-10
社区动态

Hackathon 实用指南丨快速给 TiDB 新增一个功能

TiDB Hackathon 2022 即将到来,你有 idea 了吗!不够了解 TiDB,不知道如何开始?本文将通过 step-by-step 的方式,介绍如何快速给 TiDB 新增加一个功能。

产品技术解读

PingCAP Clinic 服务:TiDB 集群诊断助理,打开智能诊断之门

本篇以数据库管理员的视角,讲述在典型的集群运维场景中,Clinic 如何帮助管理员更清晰地了解集群健康状态,如何以智能的方式提前发现问题、快速解决问题,提升 TiDB 集群的性能和稳定性。

PingCAP
2022-09-30
案例实践

TiDB 分布式数据库在保险行业关键应用场景的探索与实践丨中国财险科技应用高峰论坛

本文为 PingCAP 副总裁刘松在“中国财险科技应用高峰论坛”中所做的《TiDB 分布式数据库在保险行业关键应用场景的探索与实践》的演讲实录。

刘松
2022-09-30
案例实践

多元生态|云和恩墨 zCloud 最新支持 TiDB,助力可管理性提升

zCloud是云和恩墨公司打造的面向多元混合数据库环境,提供跨多云架构,跨多类数据库的一站式智能数据库管理平台。本文将详细介绍 zCloud 中 TiDB 相关管理组件的使用技巧。

PingCAP
2022-09-30
公司动态

打造友邻式多元生态,支撑工商银行、平安科技、中国人寿财险、杭州银行的创新实践

9 月 22 日的用户峰会上,PingCAP 副总裁陈煜琦发表了以“深耕行业场景,构建多元生态”为主题的演讲,工商银行、杭州银行、中国人寿财险、平安科技分享了在他们的关键业务中如何借助 TiDB 深挖行业场景,来自神州数码、中电金信、天翼云、东软集团、云徙科技、嘉和美康的生态伙伴分享了他们与 TiDB 的共建经验。本文为分享回顾。

PingCAP
2022-09-29
观点洞察

刘奇:能否掌控复杂性,决定着分布式数据库的生死存亡

9 月 22 日 PingCAP 用户峰会上,PingCAP 创始人兼 CEO 刘奇和来自建信金科、百胜中国、传音控股、老虎国际的用户共同分享了 PingCAP 在技术演进、用户价值、数据库技术趋势、国际化、社会价值等方面的思考与实践。

刘奇
2022-09-27
社区动态

Hackathon idea 清单出炉,总有一款适合你

一年一度黑客们的狂欢——TiDB Hackathon 2022 报名已开启,万元奖金等你来拿,还有技术专家、顶级投资人全程坐镇,你的实力将被更多人看到。

产品技术解读

TiFlash 源码阅读(九)TiFlash 中常用算子的设计与实现

本文主要介绍了数据库系统中常用的算子 Join 和 Aggregation 在 TiFlash 中的执行情况,包括查询计划生成、编译阶段与执行阶段,以期望读者对 TiFlash 的算子有初步的了解。

社区动态

TiDB Hackathon 2022丨总奖金池超 35 万!邀你唤醒代码世界的更多可能性!

一年一度的 TiDB Hackathon 又来啦!TiDB Hackathon 2022 主题为「Possibility at Scale」,9 月 13 日正式开启,线下决赛将在 2022 年 10 月 22 日 23 日举行。

产品技术解读

TiFlash 源码阅读(八)TiFlash 表达式的实现与设计

本文主要介绍的是 TiFlash 表达式的实现与设计,系统性地介绍了 TiFlash 表达式的基本概念,包括表达式体系,标量函数、聚合函数等,以期望读者能够对 TiFlash 的表达式计算有一个初步的了解。

产品技术解读

TiFlash 源码阅读(七)TiFlash Proxy 模块

本文主要介绍的是 TiFlash Proxy 模块的实现,即 TiFlash 副本是如何被添加以及获取数据的 。

公司动态

TiDB v6.2 发版

TiDB v6.2 于 8 月 23 日发布。在全新的版本中,TiDB 提供了诸多方面的提升,主要集中于:可观测性、性能、稳定性、数据生态加强以及 MySQL 兼容几个领域。

观点洞察

DynamoDB 2022 论文解读

本文是 PingCAP 联合创始人兼 CTO 黄东旭对论文 Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service 的解读,同时也对比了 TiDB 的一些设计。

产品技术解读

TiFlash 源码阅读(六)DeltaTree Index 的设计和实现分析

本文对 DeltaTree Index 在读取时的作用以及如何维护 DeltaTree Index 进行了讲解。

产品技术解读

TiSpark 原理之下推丨TiDB 工具分享

TiSpark 是 PingCAP 为解决用户复杂 OLAP 需求而推出的产品,本文将详细介绍 TiSpark 中下推相关的知识,包括 Spark 中的下推含义,实现原理,及其拓展接口、TiSpark 下推策略和下推支持列表。

案例实践

TiDB Placement Rules in SQL 使用实践丨TiDB Book Rush

本文简要介绍了 Placement Rules in SQL 的应用场景,并通过一个例子详细介绍了 placement policy 的使用方法。

吴永健
2022-08-04
案例实践

TiKV & TiFlash 加速复杂业务查询丨TiFlash 应用实践

本文根据 TUG 用户边城元元在 TiDB 社区技术交流石家庄站的分享整理,详细介绍了 TiKV & TiFlash 加速复杂业务查询的原理及实践方案。

产品技术解读

如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南

本文主要介绍如何创建 TiDB Cloud Developer Tier 集群、如何将 TiDB 对接到 Databricks,以及如何使用 Databricks 处理 TiDB 中的数据。

社区动态

《TiDB 6.x in Action》发布,凝聚社区集体智慧的 6.x 实践汇总!

为了帮助更多的用户把 TiDB 6.x 新版本中那些“好用”的特性用起来,我们集结社区的集体智慧,共同创作了《TiDB 6.x in Action》。今天,这本书正式发布啦!

PingCAP
2022-07-25
产品技术解读

化繁为简,PingCAP 与阿里云计算巢联合方案深度解析

近日,阿里云计算巢与 PingCAP 合作,融合双方技术优势的云数据库 TiDB 正式上线阿里云,这正是双方为用户“删繁就简”愿景中的坚实一步。本文将深入剖析 PingCAP 和阿里云计算巢的联合解决方案,探索软件在云端私有化部署的新形态。

PingCAP
2022-07-21
产品技术解读

TiFlash 源码阅读(五)DeltaTree 存储引擎设计及实现分析 - Part 2

在 Part1 中我们主要对 DeltaTree 引擎的结构和写入相关流程进行了介绍,本文将对读取流程进行介绍。

产品技术解读

手把手教你实现 TiFlash 向量化函数丨十分钟成为 TiFlash Contributor

之前我们介绍了 TiDB 下推函数到 TiFlash 的开发过程,在本篇,我们会沿着用户旅程,手把手教你具体怎么在 TiFlash 里实现一个向量化函数。

产品技术解读

TiFlash 面向编译器的自动向量化加速

SIMD 是重要的程序加速手段。本文简要介绍了一些在 TiFlash 中使用编译器进行自动向量化所需要的入门知识,包括 SIMD、SIMD 函数派发方案以及面向编译器的优化。

案例实践

TiDB 在多点数字化零售场景下的应用

本文根据多点 Dmall 数据库团队负责人冯光普在 TUG 企业行成都站的分享整理而成,介绍了在数字化零售场景下,TiDB 在多点的使用情况、核心业务场景支撑、价值分析、及经验总结。

产品技术解读

TiFlash 源码阅读(四)TiFlash DDL 模块设计及实现分析

在上一期源码阅读中,我们介绍了 TiFlash 的存储引擎,本文将介绍 TiFlash DDL 模块的相关内容,包括 DDL 模块的设计思路, 以及具体代码实现的方式。

产品技术解读

TiDB 可观测性 UP!UP!UP! Performance Overview 面板开启 TiDB 性能调优自助服务时代

Performance Overview 面板在 TiDB v6.1.0 正式发布,为所有 TiDB 用户提供一个系统级别的总体性能诊断入口。本文详细介绍了 Performance Overview 面板的设计理念及应用实践。

案例实践

TiDB v6.0.0 (DMR) :缓存表初试丨TiDB Book Rush

TiDB v6.0.0 (DMR) 版本推出了缓存表的功能,以应对很少新增记录项的小表上频繁的读请求。在金融场景的订单表、汇率表,银行分行或者网点信息表,物流行业的城市、仓号库房号表,电商行业的地区、品类相关的字典表等等场景下能够很大程度地提高效率。本文通过测试验证了 TiDB 缓存表的性能表现。

啦啦啦啦啦
2022-06-27
案例实践

TiDB 6.0:让 TSO 更高效丨TiDB Book Rush

TSO 是 TiDB 中一个单调递增的时间戳,由 PD leader 分配。TiDB 在事务开始时会获取 TSO 作为 start_ts、提交时获取 TSO 作为 commit_ts,依靠 TSO 实现事务的 MVCC。本文介绍了 TiDB 6.0 版本中对 TSO 分配优化的原理和验证。

h5n1
2022-06-23
社区动态

应用开发者专属的 TiDB 使用指南发布啦!丨TiDB Community

对于使用 TiDB 的应用开发者来说,需要一份告诉大家如何能像使用 MySQL 一样使用 TiDB 的操作手册。我们编写了全新的 Developer Guide,这份文档可以帮助应用开发者,在最短时间内上手 TiDB。

PingCAP
2022-06-22
观点洞察

观点丨从 TiDB 上线阿里云的背后,如何看待云数据库的变革趋势

本文转载自公众号“全球云观察”。作者从 TiDB 上线阿里云这一事件,分析了云和数据库领域的三个重要趋势变化。

Aming
2022-06-22
产品技术解读

TiFlash 函数下推必知必会 | 十分钟成为 TiFlash Contributor

本文特别筛选了 TiFlash 中一些入门级别的 issue,希望通过下文的介绍,帮助大家无门槛地参与到大型开源项目中来。

公司动态

TiDB 6.1发版:LTS版本来了

TiDB 6.1 于 6 月 13 日发布,这是 TiDB 6 系版本的第一个长期支持版(Long Term Support,简称 LTS)。

产品技术解读

TiFlash 源码阅读(三)TiFlash DeltaTree 存储引擎设计及实现分析 - Part 1

本文分为两部分,主要介绍 TiFlash DeltaTree 存储引擎的设计细节及对应的代码实现。Part 1 部分主要涉及写入流程,Part 2 主要涉及读取流程,本次分享为 Part 1。

案例实践

Chaos Mesh 在每刻科技实际场景的使用

本文介绍了 Chaos Mesh 在杭州每刻科技有限公司的实际使用场景,通过引进这一混沌测试平台,提升了该公司对微服务系统的健壮性测试能力。

产品技术解读

深入解析 TiFlash丨多并发下线程创建、释放的阻塞问题

本文详细介绍了 TiFlash 研发过程中,多并发下线程创建和释放阻塞问题的排查复现、原理解析和优化方案。

产品技术解读

TiDB 查询优化及调优系列(五)调优案例实践

本文为「TiDB 查询优化及调优」系列文章的第五篇,也是最终篇。通过这个系列文章,我们详细介绍了 TiDB 优化器、查询计划、慢查询以及调优的理论知识,并在本章节中进行了实战的分享。希望通过这个系列文章,大家能够更加深入地理解 TiDB 优化器,并通过这些调优技巧更好地提升系统性能。

产品技术解读

TiFlash 源码阅读(二)计算层概览

本文将对 TiFlash 计算层进行介绍,包括架构的演进,DAGRequest 协议、dag request 在 TiFlash 侧的处理流程以及 MPP 基本原理。

观点洞察

金融业分布式数据库选型及 HTAP 场景实践

本文转载自公众号:韩锋频道(hanfeng_channel)。文章从金融用户角度入手,对如何选择分布式数据库及选型后的最优实践进行了阐述。

产品技术解读

PingCAP Clinic 服务:贯穿云上云下的 TiDB 集群诊断服务

伴随着 TiDB 6.0 的发布,PingCAP Clinic 服务也揭开了她的面纱,提供 Tech Preview 版本给广大用户试用。本文介绍了 Clinic 在 TiDB Cloud 中的应用及助力云下本地部署集群的问题诊断,并描述了 Clinic 服务后续发展的方向。

产品技术解读

TiDB 查询优化及调优系列(四)查询执行计划的调整及优化原理

本文为「TiDB 查询优化及调优」系列文章的第四篇,详细介绍了如何通过 TiDB HINT 和 SPM 对查询执行计划进行调整和优化,简要列举了其他优化器开发或规划中的诊断调优功能等。

公司动态

TiDB Cloud GA,助力全球企业在云上构建新一代云原生应用

PingCAP 宣布 TiDB Cloud 正式商用,助力全球企业在云上构建新一代云原生应用。

产品技术解读

如何让 TiDB 集群管理“更省心”?丨TiEM 使用教程来了

TiDB 企业级数据库管理平台( TiDB Enterprise Manager,简称 TiEM) 覆盖的管理运维场景众多,本文主要介绍了最新发布的 1.0.0 版本中的几个重点功能。

PingCAP
2022-05-10
案例实践

TiDB 6.0 新特性解读丨Collation 规则

本文对 Collation 特性在 TiDB 6.0 中的变更进行了汇总阐释及举例说明。当前 TiDB 所提供的几种 Collation 已经可以支撑大部分业务场景,和大部分系统迁移需求。

Shawn Yan
2022-05-09
产品技术解读

TiDB 查询优化及调优系列(三)慢查询诊断监控及排查

本章节介绍如何利用 TiDB 提供的系统监控诊断工具,对运行负载中的慢查询进行排查和诊断。

产品技术解读

DM 是如何处理 DML 的丨TiDB 工具分享

本篇文章将介绍 DM 核心处理单元 Sync,内容包含 binlog 读取、过滤、路由、转换,优化以及执行等逻辑。本文仅描述 DML 的处理逻辑,DDL 相关内容可参考《DM 分库分表 DDL “悲观协调” 模式介绍》、《DM 分库分表 DDL “悲观协调” 模式介绍》。

郭铭浩
2022-04-27
DM
产品技术解读

TiFlash 源码阅读(一)TiFlash 存储层概览

TiFlash 是 TiDB 的分析引擎,是 TiDB HTAP 形态的关键组件。TiFlash 源码阅读系列文章将从源码层面介绍 TiFlash 的内部实现。本文为系列文章的第一篇,将对 TiDB HTAP 的整体形态进行介绍,并详细解析存储层 DeltaTree 引擎进行优化的设计思路以及其子模块

产品技术解读

TiDB 查询优化及调优系列(二)TiDB 查询计划简介

查询计划(execution plan)展现了数据库执行 SQL 语句的具体步骤,例如通过索引还是全表扫描访问表中的数据,连接查询的实现方式和连接的顺序等。查阅及理解 TiDB 的查询计划是查询调优的基础。本文为系列文章的第二篇,将着重介绍 TiDB 查询计划以及如何查看。

公司动态

Talent Plan 学习营初体验:交流+坚持 开源协作课程学习的不二路径

Talent Plan 是 PingCAP 联合华东师范大学、华中科技大学、中国科学技术大学、武汉大学和神州数码面向高校和工程师的未来数据库内核人才培养计划。本文是对 Talent Plan KV 2021 学习营一等奖获奖战队的专访,分享了他们在学习营中的收获以及获奖经验。

产品技术解读

TiDB 6.0 的元功能:Placement Rules in SQL 是什么?

TiDB 有一些功能和其它功能不一样,这类功能可以作为构建其它功能的基础,组合出新的特性,这类功能称之为:Meta Feature。

PingCAP
2022-04-18
案例实践

TiUP:TiDBAer 必备利器

本文主要介绍构成 TiDB 可管理性的重要组件之一:TiUP,一款从 TiDB 4.0 版本开始投入使用的 TiDB 部署工具。

Shawn Yan
2022-04-14
产品技术解读

TiDB 查询优化及调优系列(一)TiDB 优化器简介

与其它主流商业数据库一样,TiDB 的查询优化器负责用户及系统查询的优化,生成有效且高效的执行计划由执行器来执行。而优化器生成的执行计划的优劣直接影响查询的执行效率和性能。本文将简要介绍 TiDB 查询优化器的优化流程。

产品技术解读

当 TiDB 遇见 dbt丨让数据价值清晰可见

TiDB 社区在近日推出了 dbt-tidb 插件,实现了 TiDB 和 dbt 的兼容适配。本文将通过一个简单的案例介绍如何通过 dbt 实现 TiDB 中数据的简单分析。

PingCAP
2022-04-12
社区动态

TiDB 6.0 发版:向企业级云数据库迈进

2022 年 4 月 7 日,TiDB 6.0 发版。在该版本中,我们大幅度加强了作为企业级产品的可管理性,与此同时也加入了诸多云原生数据库所需的基础设施,让 TiDB 在成熟的企业级云数据库维度更向前迈进。

公司动态

TiFlash 开源了

TiFlash 终于开源了,我们选了这个特别的节日开源并做出承诺,希望能显得更加真诚。

案例实践

Chaos Mesh 实战分享丨通过混沌工程验证 GreatDB 分布式部署模式的稳定性

Chaos Mesh 最初作为开源分布式数据库 TiDB 的测试平台而创建,是一个多功能混沌工程平台,通过混沌测试验证分布式系统的稳定性。本文以万里安全数据库软件 GreatDB 分布式部署模式为例,介绍了通过 Chaos Mesh 进行混沌测试的全流程。

案例实践

Facebook 开源 Golang 实体框架 Ent 现已支持 TiDB

对于后端开发者来说,一款好用的框架能够大大提升应用的开发效率。为了降低开发者使用 TiDB 的门槛,方便开发者快速连接到 TiDB,我们也在和合作伙伴一起,逐步完善面向主流开发语言和框架的连接支持。

PingCAP
2022-03-24
案例实践

造好新能源车需要想象力和技术,而要卖好新能源车则需要实时分析能力

快速扩张、快速应变对造车新势力的生存和发展至关重要,需要更快、更强的数据技术架构才能实现。通过部署新一代 TiDB 分布式数据库,该车企使用自己编写的前端及 SQL 语句构建了一套性能强大、能够服务多种角色的实时数据分析平台。

案例实践

快餐给我们带来快乐,而快餐企业的快乐却源自 DTC —— TiDB 数据库成就快餐巨头 DTC 转型

在忙碌的工作中,一顿口味不错、能量满满、质量可靠且快速方便的汉堡、薯条、炸鸡的确是不错的选择。快餐企业在运营成百上千家门店的同时是如何做到线上买券、线下提货,在家下单、快递上门、手机下单、门店取货等一系列高级别数字化操作的?

案例实践

您有多点会员吗——数据库渐进式创新助力多点稳步推进经营大脑实践

多点是面向新零售的数字解决方案提供商,旗下拳头产品 Dmall OS 是物美、麦德龙等超市顾客每天都会用到的系统,也是 CFO 和 CEO 每天都会关注的系统,在底层帮助 Dmall OS 实现“业财一体化”关键转型的赋能工具正是 TiDB。

观点洞察

观点丨新经济 DTC 转型,一个简单而强大的数据平台至关重要

新经济 DTC 转型过程中,大多数企业无法参考大型互联网公司的复杂架构,也没有规模化的技术和运维团队来支撑业务变化,采用一个简单、强大、一栈式的数据服务平台应对 DTC 的挑战是越来越多新经济企业的选择。

社区动态

TiDB Hackathon 2021 — TPC TiKV:这可能是本届比赛中最硬核的项目 | TPC 战队访谈

本篇文章将介绍 TiDB Hackathon 2021 TPC 战队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — TiDB 可观测性方案落地探索 | “我们这么菜评委不会生气吧”团队访谈

本篇文章将介绍 TiDB Hackathon 2021 “我们这么菜评委不会生气吧”团队赛前幕后的精彩故事。

观点洞察

我眼中的 TiDB 5.x:关于基础软件产品价值的思考方式

TiDB 让我们第一次得以「设计者」的视角参与其中:每一个功能特性的设置背后的思考,对基础软件产品的价值呈现,体验还是很不一样的。

社区动态

TiDB Hackathon 2021 — MVCC 时光机:在 TiDB 的时空自由穿梭丨渡渡鸟复兴会赛队访谈

本篇文章将介绍 TiDB Hackathon 2021 渡渡鸟复兴会团队赛前幕后的精彩故事。

产品技术解读

TiDB Online DDL 在 TiCDC 中的应用丨TiDB 工具分享

本文主要通过对 TiDB Online DDL 机制原理和实现的分析,引出对当前 TiCDC 数据解析实现的讨论。

黄国豪
2022-03-02
产品技术解读

DM 中 relay log 性能优化实践丨TiDB 工具分享

本文介绍了在新的 DM 版本中,对 relay log 做的一些性能优化实践。

居佳佳、李淳竹
2022-03-01
DM
案例实践

vivo 数据库与存储平台的建设和探索

本文根据 vivo 存储技术团队研发总监肖博在 2021 vivo 开发者大会上的分享整理而成,从数据库与存储平台的建设背景、能力介绍、探索思考、未来展望四个角度进行了整体的介绍。

肖博
2022-02-28
社区动态

TiDB Hackathon 2021 — pCloud : 做数据库上的 iCloud丨pCloud 团队访谈

本篇文章将介绍 TiDB Hackathon 2021 pCloud 团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — 去掉中间商赚差价,TiDB 添加索引性能提升 10 倍!丨黑马警长团队采访

本篇文章将介绍 TiDB Hackathon 2021 黑马警长团队赛前幕后的精彩故事。

案例实践

TiDB 在 WPS丨分享业务双机房建设实践

本文介绍了 WPS 分享业务从 TiDB-v2 升级至 TiDB-v4 版本的过程,以及数据迁移、双机房落地实施的相关实践。

曹鹏、肖尚武、庾俊
2022-02-16
公司动态

TiDB 5.4 发版丨新功能解读

TiDB 5.4 作为 2022 年开山之作,于 2 月 15 日正式发版,5.4 版本包含了许多有用有益的新功能和持续性的性能/稳定性提升。本文着重介绍重要新增功能和特性所带给用户的新体验和价值。

案例实践

TiDB 在个推丨掌握这两个调优技巧,让 TiDB 性能提速千倍!

个推是一家数据智能企业,为数十万 APP 提供消息推送等开发者服务,同时为众多行业客户提供专业的数字化解决方案。本文分享了个推的 TiDB 优化经验,首发于“个推技术实践” 。

社区动态

TiDB Hackathon 2021 — 当 TiDB 遇上 Flink:TiDB 高效入湖“新玩法” | TiLaker 团队访谈

本篇文章将介绍 TiDB Hackathon 2021 TiLaker 团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — Ti-Click:通过浏览器快速搭建 TiDB 在线实验室 | Ti-可立刻团队访谈

本篇文章将介绍 TiDB Hackathon 2021 Ti-可立刻团队赛前幕后的精彩故事。

案例实践

平安科技从 Oracle 迁移到 UbiSQL 的实践

本篇文章将介绍平安科技从 Oracle 迁移到 UbiSQL (平安集团内部打造的分布式数据库产品,代码基于 TiDB,完全兼容 TiBD 4.0 版本) 的实践。

社区动态

TiDB Hackathon 2021 — ChaosCraft:和女朋友一起来 Hackathon 表演绝活丨滑滑蛋团队访谈

本篇文章将介绍 TiDB Hackathon 2021 滑滑蛋团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — 把复杂交给我们,把简单还给你丨TiVP 让 SQL 执行计划可视化

本篇文章将介绍 TiDB Hackathon 2021 TiVP 团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — 极简实现 TiDB 冷热数据分层存储 | He3 团队访谈

本篇文章将介绍 TiDB Hackathon 2021 He3 团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — 为数据库性能调优插上 AI 的翅膀 | 调优测试框架 Matrix 团队访谈

本篇文章将介绍 TiDB Hackathon 2021 Matrix 团队赛前幕后的精彩故事。

社区动态

TiDB Hackathon 2021 — 只有天空才是你的极限,我们热爱探索的过程并沉浸其中丨图数据库 TiMatch 团队访谈

本篇文章将介绍 TiDB Hackathon 2021 图数据库 TiMatch 团队赛前幕后的精彩故事。

案例实践

TiDB 在国信证券海量数据高并发场景中的实践

本文讲述了 TiDB 在国信证券海量数据高并发场景中的实践。国信证券从 2020 年 6 月开始接触 TiDB,从技术预研到第一个业务上线大约花了半年时间。第一个上线的业务是金太阳帐单,后面陆续在数据中台、服务观测等系统中应用。

社区动态

“爆到天际线” - TiDB 2021 Hackathon 决赛不负责任点评

本篇文章将介绍 TiDB Hackathon 2021 特邀评委,PingCAP 研发副总裁唐刘对决赛各项目的点评。

案例实践

有关 TiDB 升级的二三事——教你如何快乐升级

TiDB 技术团队提供了一组功能完善的升级工具包,从简单的参数比对到全场景的模拟重放,完全可以根据实际需求和成本考量自主选择一种最佳的搭配方案,为升级操作保驾护航。这套工具包实际上也已成功应用在了一款使用量过亿的用户 K8s 集群升级上,本文将会介绍这个用户案例。

张粲宇,荣毅龙
2022-01-10
产品技术解读

Dumpling 导出表内并发优化丨 TiDB 工具

之前的文章对 Dumpling 进阶使用进行了介绍,本文接下来将会介绍 Dumpling 内部表内并发的优化逻辑,从而帮助大家更深刻地理解 Dumpling 工作原理。

产品技术解读

DM 分库分表 DDL “乐观协调”模式介绍丨 TiDB 工具

本文主要介绍 TiDB DM 分库分表 DDL 协调的“乐观协调”模式。乐观协调模式适用于上游灰度更新、发布的场景,或者是对上游数据库表结构变更过程中同步延迟比较敏感的场景。

产品技术解读

DM 分库分表 DDL “悲观协调” 模式介绍丨 TiDB 工具

本文主要介绍 TiDB DM 分库分表 DDL 协调的“悲观协调”模式。后续文章会介绍“乐观协调”模式。

产品技术解读

备份的 “算子下推”:TiDB BR 简介

本文将会详细描述 BR 备份侧的具体实现。简单来讲,BR 就是备份的“算子下推”:通过 gRPC 接口,将任务下发给 TiKV,然后让 TiKV 自己将数据转储到外部存储中。

产品技术解读

发生即看见,一切可回溯 | TiDB 故障诊断与性能排查探讨

本文首先详细讲述了一次海量数据场景下的性能排查经历,其次介绍了在刚刚发布的 TiDB 5.3 版本中,PingCAP 率先在数据库领域推出的 “持续性能分析” 这一功能,在文章最后列举了一些主要应用场景。

案例实践

使用 KubeSphere 快速部署 Chaos Mesh

本篇文章作为教程演示了如何在 KubeSphere 上部署 Chaos Mesh 进行混沌实验。

产品技术解读

带你重走 TiDB TPS 提升 1000 倍的性能优化之旅

本文将分为两个部分介绍数据库的性能优化,第一部分是性能优化的通用方法,第二部分我们讲一个实际案例。

案例实践

网易云音乐 DBA 谈 TiDB 选型:效率的选择

本文摘自网易 DBA 团队撰写的《效率的选择——分布式数据库 TiDB 网易内部选型介绍》一文,对比了以 TiDB 为基础的创新架构和 MySQL + DDB 传统架构的差异,从业务适配、降本增效、技术创新等多个维度阐释了网易考虑引入 TiDB 的原因。

倪山三
2021-12-03
产品技术解读

带着问题读 TiDB 源码:Power BI Desktop 以 MySQL 驱动连接 TiDB 报错

本文从一个 Power BI Desktop 在 TiDB 上表现异常的问题为例,介绍从问题的发现、定位,到通过开源社区提 issue、写 PR 解决问题的流程,从代码实现的角度来做 trouble shooting,希望能够帮助大家更好地了解 TiDB 源码。

公司动态

TiDB 5.3 发版 —— 跨越可观测性鸿沟,实现 HTAP 性能和稳定性的新飞跃

2021 年 11 月 30 日,TiDB 5.3.0 版本正式上线,该版本推出持续性能分析 (Continuous Profiling) 功能(目前为实验特性),跨越可观测性的鸿沟,为用户带来数据库源码水平的性能洞察,彻底解答每一个数据库问题。

案例实践

Chaos Mesh + SkyWalking,打造可观测的混沌工程

本篇文章将分享如何通过将 SkyWalking 和 Chaos Mesh 结合,运用 Event 信息监控,实时了解混沌实验对应用服务性能造成的影响。

产品技术解读

带着问题读 TiDB 源码:Hive 元数据使用 TiDB 启动报错

本文是《带着问题读源码系列》的第一次尝试,在定位并解决用户所遇到的一个简单问题的过程中,对相关的代码一并进行介绍。希望能够从不同的视角,以不同的问题颗粒度来帮助大家更好的学习 TiDB 和 TiKV 的源码。

案例实践

TiDB 数据一致性校验实现:Sync-diff-inspector 优化方案

本篇文章主要分享了 TiDB 数据通过 Sync-diff-inspector 优化方案更好的校验实现一致性。

产品技术解读

内存泄漏的定位与排查:Heap Profiling 原理解析

本文将介绍一些常见的 Heap Profiler 的实现原理及使用方法,帮助读者更容易地理解 TiKV 中相关实现,或将这类分析手段更好地运用到自己项目中。

案例实践

数据引擎助力车娱融合新业态 让秒杀狂欢更从容丨大促背后的 TiDB

在汽车之家的 818 全球汽车夜活动中,直播环节通过台网互动的形式与观众互动,这要求前台、后台要以秒级的精度同步配合,在这个过程中,数据库不仅要解决实时交易问题,还要将实时分析数据反馈给现场,这对晚会的气氛烘托起着重要的关键作用。

案例实践

技术升级&行业升级 TiDB 助力易车打造超级汽车狂欢节

作为一台综合汽车、明星的车界“春晚”,易车网的超级 818 汽车狂欢夜全平台观看直播人次达 2.24亿,数据库的压力提升十倍之多,TiDB 在这个过程中体现出了分布式数据库的诸多优势,非常适合实时数据大屏、秒杀活动支持。

案例实践

TiDB + 京东云数据库打造极速秒杀体验

对于京东来说,一年中有 2 个比较大的业务高峰期,一个是 618,一个是 11.11。这期间数据负荷变化极大,尤其当发生抢购、秒杀时,用户访问、数据流量就会非常密集,数据负荷的水平会达到平时的 10 倍以上…

案例实践

中通大数据平台在大促中的进化 丨大促背后的 TiDB

大促中,大家买买买后最期盼的事情就是收到快递。去年双十一期间,中通订单量突破 8.2 亿,整个业务规模突破 7.6 亿,双十一当天的 QPS 峰值达到 35 万 +。TiDB 同时支撑中通快递线上 OLTP 和 OLAP 的业务,完美保障了双十一中通快递 IT 服务的稳定运行…

案例实践

理想汽车 HTAP 读流量优化指南丨 TiDB 优化实践

“没有任何一种数据库是银弹,业务场景的适配和降本增效永远是最重要的。” 数据库的性能优化能够帮助企业最大限度地利用系统资源,提高业务支撑能力和用户体验。本文为 TiDB 性能调优专题的第一篇,在这个专题中,我们将邀请更多 TiDBer 从实际的业务场景出发,分享 TiDB 优化的最佳实践。

案例实践

携程国际业务动态实时标签处理平台实践

本文由携程技术团队撰写,介绍了携程自研的国际业务动态实时标签处理平台。其中标签持久化的场景需要解决业务标签的持久化存储、更新、查询服务,TiDB 通过对于不同场景查询特性的支持满足了不同业务场景访问业务特征数据的需要。

携程技术
2021-11-01
产品技术解读

TiDB HTAP 上手指南丨添加 TiFlash 副本的工作原理

本文将会介绍在目前所有 release 的 4.x, 5.x 版本下给 TiDB 中的表添加 TiFlash 副本的工作原理。DBA 同学们在排查相关的问题时,可以从中获取参考。

案例实践

TiFlink: 使用 TiKV 和 Flink 实现强一致的物化视图

本文为 TiDB Hackathon 2020 比赛中 TiFlink 项目最新进展的介绍,实现了通过 Flink 为 TiDB 添加物化视图的功能。作者张茄子,算法、分布式技术和函数式编程爱好者。

观点洞察

一文看懂开源许可证丨开源知识科普

PingCAP 从第一行代码开源,六年里积累了一些经验和教训,在《开源知识科普》栏目中,我们将与大家分享和交流在开源成长路径中的思考和感受,以及参与开源项目的正确姿势。本期话题就从开源的基础——开源许可证开始,希望对大家了解开源、参与开源有一定帮助。

观点洞察

做出让人爱不释手的基础软件:可观测性和可交互性

很多时候「品味」之所以被称为「品味」,就是因为说不清道不明,这固然是软件开发艺术性的一种体现,但是这也意味着它不可复制,不易被习得。本系列文章会试着总结一下好的基础软件体验到底从哪里来。作为第一篇,本文将围绕可观测性和可交互性两个比较重要的话题来谈。

案例实践

TiDB 在微众银行核心批量场景的实践

本文根据 PingCAP DevCon 2021 上来自微众银行资深数据库架构师黄蔚的分享整理而成,主要阐述 TiDB 在微众银行的应用实践,包括微众银行选择 TiDB 的背景和 TiDB 的部署架构,以及 TiDB 在贷款核心批量场景的应用,最后分享了基于 TiDB 优化方案的最佳实践和未来规划。

案例实践

端到端的实时计算:TiDB + Flink 最佳实践

本篇文章主要分享了知乎在 TiDB x Flink 批流一体方面的部分工作,并以实际业务为例介绍如何充分利用两者的特点完成端对端实时计算的闭环交付。

案例实践

TiDB 在茄子科技的应用实践及演进

本文根据茄子科技存储负责人闫林林在【PingCAP DevCon 2021】上的演讲整理而成,介绍了茄子科技面向不同业态的数据库选型、TiDB 在 APM 场景的应用实践及茄子科技基于 TiKV 打造分布式 KV 系统的历程。

产品技术解读

TiDB Operator 源码阅读 (五) 备份与恢复

本篇文章主要介绍了 TiDB Operator 提供的备份与恢复功能的实现与设计。本文为本系列文章的第五篇。

产品技术解读

事务前沿研究丨事务并发控制

本次我们将学习一些常用的并发控制方法,最后对 VLDB 2020 的 best paper “Opportunities for Optimism in Contended Main-Memory Multicore Transactions” 进行解读,来看看有哪些办法能够提升事务的并行度。

案例实践

没 K8s 用不了 Chaos Mesh?试试 Chaosd

本文描述了Chaosd作为Chaos Mesh 提供的一款混沌工程测试工具,用于在物理机环境上注入故障,并提供故障恢复功能。

案例实践

当大数据架构遇上 TiDB

本文将介绍分布式 NewSQL 数据库 TiDB 应用到了大数据架构的其他场景下,如:Hive 大查询报警,NameNode RPC 加速。

胡梦宇
2021-07-29
案例实践

使用 TiDB 构建实时应用

本文将从宏观角度分析 TiDB 究竟能做什么,创造什么样的价值,以及研发过程中的一些设计立足点。

雷宇
2021-07-21
产品技术解读

事务前沿研究丨确定性事务

本篇文章将讲解学术上不同的确定性事务和特点,并综合说说他们的优点和面临的问题。

公司动态

TiDB 5.1 发版,打造更流畅的企业级数据库体验

TiDB 5.1 拥有更加稳定的响应延迟表现,更优的 MPP 性能与稳定性,更便捷的可运维性,开发者和 DBA 可以轻松地基于 TiDB 5.1 构建任意规模的关键业务应用。

产品技术解读

TiDB Operator 源码阅读 (四) 组件的控制循环

本篇文章将以 PD 为例详细介绍组件生命周期管理的实现过程和相关代码,并且以 PD 的介绍为基础,介绍其他组件的部分差异。

产品技术解读

事务前沿研究丨事务测试体系解析

本篇文章将继续在第一讲的事务隔离级别的基础上,对数据库事务的测试进行研究,主要讲述我们在 PingCAP 是如何保证事务的正确性的。

观点洞察

数字化加速,如何做到数据保鲜和数据价值变现? — TiDB 行业应用场景及案例解读

本文将分享企业级分布式数据库产品 TiDB 如何帮助企业用户完成数字化转型。

余军
2021-05-13
产品技术解读

成为一栈式数据服务生态: TiDB 5.0 HTAP 架构设计与场景解析

本文将从用户角度出发,介绍 TiDB 5.0 HTAP 架构设计及应用场景。

马晓宇
2021-05-08
产品技术解读

Async Commit 原理介绍丨 TiDB 5.0 新特性

本文将向大家介绍 Async Commit 的设计思路、原理以及关键的实现细节。

公司动态

PingCAP 发布 TiDB 5.0 里程碑版本 构建一栈式数据服务平台

PingCAP 联合创始人兼 CTO 黄东旭在 TiDB 5.0 发布会上进行了《What’s Next? 新一代数据库的构想》的精彩演讲,讲述了 TiDB 作为一款企业级数据库的成长史,并分享 PingCAP 对于企业级数据库的思考与内外功修炼。

PingCAP
2021-04-28
产品技术解读

TiDB Operator 源码阅读 (三) 编排组件控制循环

本篇文章将介绍组件控制循环的编排设计。我们将会了解到完成 TiDB 集群的生命周期管理过程中,各种控制循环事件经过了怎样的编排,这些事件中又完成了哪些资源管理操作。

产品技术解读

Behind TiDB 5.0 - 聊聊 PingCAP 的工程体系(1)

本文介绍了我们是通过什么样的方式来打造 TiDB 5.0 的。

唐刘
2021-04-19
产品技术解读

迈向企业级核心场景的TiDB 5.0

TiDB 5.0 的性能和稳定性得到显著提升,从而具备更强大的 OLTP 金融级核心场景的服务能力;在原有 HTAP 引擎 TiFlash 的基础上引入 MPP 架构,TiDB 使得众多企业的实时/交互式 BI 成为现实。

PingCAP
2021-04-08
社区动态

TiFS 能存数据,为什么不能存文件?

本篇文章的作者为龙姐姐说的都对的李晨曦,他们团队在本次Hackathon 比赛中构建了一个基于 TiKV 的分布式 POSIX 文件系统 TiFS,继承了 TiKV 强大的分区容错和严格一致性特性,为 TiKV 生态开辟了一个新的领域。

李晨曦
2021-04-01
产品技术解读

事务前沿研究 | 隔离级别的追溯与究明,带你读懂 TiDB 的隔离级别(下篇)

本文将继续讨论隔离级别的问题,讲述实现无关的隔离级别定义和 TiDB 的表现和隔离级别。

产品技术解读

TiDB Operator 源码阅读 (二) Operator 模式

本文讨论了 Operator 模式,并从 Operator 模式的视角介绍 TiDB Operator 的代码的执行逻辑。

产品技术解读

事务前沿研究 | 隔离级别的追溯与究明,带你读懂 TiDB 的隔离级别(上篇)

本篇文章将介绍在两阶段锁理解下,人们对隔离级别的理解。

产品技术解读

如何在 TiDB 上高效运行序列号生成服务

本文将介绍如何应对写入热点问题高效运行序列号服务。

秦天爽,魏巍
2021-03-12
产品技术解读

TiDB Operator 源码阅读 (一) 序

本文作为 TiDB Operator 源码阅读系列的开篇,介绍了 TiDB Operator 的应用场景和能力定位,并谈到了之后源码阅读系列文章的规划,我们希望能通过这一系列文章扫清 TiDB Operator 理解的障碍,让更多的创意在社区中萌发。

社区动态

Chaos Mesh 的 Chaos Engineering as a Service 探索之路

本篇文章的作者为 CAAS 团队的王相与于畅,他们在本次 Hackathon 比赛中基于 Chaos Engineering as a Service 的理念,对 Chaos Mesh 进行改造,以下就来看看他们的探索历程。

产品技术解读

TiKV 高性能追踪的实现解析

本文介绍了对性能要求非常苛刻的分布式 KV 数据库 TiKV 如何以不到 5% 的性能影响实现所有请求的耗时追踪 。

钟镇炽
2021-03-03
产品技术解读

TiDB 5.0 跨中心部署能力初探 | 中心化还是去中心化?揭秘 TiDB 5.0 事务分布式授时模块

本文将会从 TiDB 现有的授时服务出发,一步步阐释新分布式授时服务的改造思路和本地事务的性能表现,最后会分享一个应用场景与上手步骤。

耿海直
2021-03-02
社区动态

大力出奇迹,GPU 加速 TiDB | TiDB Hackathon 2020 优秀项目分享

本篇文章将通过 Mods 团队与云启资本合伙人陈昱的对话,揭秘团队赛前幕后的精彩故事。

社区动态

TiKV + Flink = 最佳人气流批一体库|TiDB Hackathon 2020 优秀项目分享

本篇文章将介绍 TiFlink 团队赛前幕后的精彩故事。

社区动态

中文文档规范化,zh.md 来帮你!|TiDB Hackathon 2020 优秀项目分享

本篇文章将介绍 zh.md 团队赛前幕后的精彩故事。

社区动态

基于 AWS 的一站式分布式数据库测试体系,简单易上手|TiDB Hackathon 2020 优秀项目分享

本篇文章将通过 Ti-Improve 团队与华创资本企业软件投资负责人谢佳的对话,揭秘团队赛前幕后的精彩故事。

社区动态

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

本篇文章将介绍TiGraph团队赛前幕后的精彩故事。

社区动态

通过 WASM 实现优雅高效的 TiDB UDF

本篇文章将介绍 ' or 0=0 or ' 团队赛前幕后的精彩故事。

社区动态

神器 TiDE 在手,一键快速上车 TiDB | TiDB Hackathon 2020 优秀项目分享

本篇文章将介绍 B.A.D 团队赛前幕后的精彩故事。

公司动态

TiDB 5.0 RC Release Notes

本文将介绍 TiDB 5.0.0-rc 版本中的性能提升与新特性。

PingCAP
2021-01-21
公司动态

2020,Chaos Mesh 开源第一年:扬帆起航的一年

本文将从多个方面和大家一起回顾 Chaos Mesh 在这一年中的变化与成长,畅谈一些 Chaos Mesh 未来的目标与计划。

观点洞察

「我的工作是制造混沌」,我与 Chaos Mesh 的故事

本文将向大家介绍自己与 Chaos Mesh 一起成长的点滴。

观点洞察

云原生数据库设计新思路

本文将向大家分享分布式数据库的发展趋势以及云原生数据库设计的新思路。

黄东旭
2021-01-14
案例实践

TiDB 常⻅架构应⽤场景

本文将向大家介绍TiDB 的常见架构应用场景,以下内容整理自当天活动分享实录。

黄潇
2021-01-12
产品技术解读

Go Dumpling! 让导出数据更稳定丨TiDB 工具

在本文中,我们将会介绍一些 Dumpling 的进阶使用方法,帮助大家更稳定高效地导出数据。

案例实践

使用 go-randgen 测试 TiDB join 查询

本文将向大家介绍在过去的几个月,使用go-randgen框架对TiDB进行测试。

陈朋
2020-12-25
产品技术解读

TiKV 源码解析系列文章(二十一)Region Merge 源码解析

本文接下来将会解开 Region Merge 的神秘面纱。

产品技术解读

Linux 内核 VS 内存碎片 (下)

本文将重点描述随着时间的推移,当内存碎片过多,无法满足连续物理内存需求时,将会引起性能问题。因此仅仅依靠此功能还不够,所以内核又引入了内存规整等功能。

张文博
2020-12-16
产品技术解读

Linux 内核 VS 内存碎片 (上)

本文将重点描述当前常用的 3.10 版本内核在伙伴分配器的预防内存碎片的扩展,内存规整原理,如何查看碎片指数,以及如何量化内存规整带来的延迟开销等。

张文博
2020-12-10
案例实践

TiDB 在金融行业关键业务场景的实践(上篇)

本篇文章将为大家介绍分布式关系型数据库 TiDB 在金融行业关键应用领域的实践。

产品技术解读

混沌网技术内幕|如何注入I / O故障呢?

随着 Chaos Mesh 1.0 的发布,提供了运行时注入文件系统错误的功能,使得 IOChaos 的使用和其他所有类型的 Chaos 一样简单方便。这篇文章将会介绍它的实现方式。

产品技术解读

看不懂监控怎么办?TiDB 新推出了耗时关系图

本文将向大家介绍 TiDB 4.0.7 提供的一个新功能,可以将数据库各个内部流程的耗时监控按父子关系绘制为关系图,帮助用户快速以另一种维度了解集群状态。

陈霜
2020-12-02
社区动态

感受开源的魅力,TiDB Committer 白珅的数据库探索之路

今天我们就来看看 TiDB Committer 白珅的贡献历程吧~

观点洞察

TiDB的现在和未来

本文根据黄东旭在 PingCAP D 轮融资线上发布会的演讲实录进行整理。

黄东旭
2020-11-30
社区动态

TiDB Committer | 男友力 max 的典型工程师马钰杰

本篇文章将介绍拥有多个身份的他成为了 TiDB 新晋 Committer:mmyj。

社区动态

做一切为了好玩的极客,TiDB Committer 王贺的心路历程

本篇文章将介绍王贺 TiDB Committer,DDL SIG 的 xhebox 的贡献之路。

公司动态

PingCAP 完成 D 轮 2.7 亿美元融资,创造全球数据库历史新的里程碑

企业级开源分布式数据库厂商 PingCAP 日前宣布完成 2.7 亿美元的 D 轮融资,创造全球数据库历史新的里程碑。

产品技术解读

TiDB DM 2.0 GA,数据迁移不用愁

DM 2.0 版本已正式发布,新增高可用、乐观协调模式下的分库分表合并迁移等企业级特性,同时带来一系列易用性的提升,确保用户的原数据库可以平滑地切换到 TiDB,完全不用担心迁移带来的故障与数据丢失。

产品技术解读

当 TiDB 与 Flink 相结合:高效、易用的实时数仓

本文将向大家介绍 Flink 和 TiDB 的联合实时数仓方案。

产品技术解读

我们为什么要禁用 THP 丨TiDB 应用实践

本文将和大家分享 THP 引起性能抖动的原因、典型的现象,分析方法等,在文章的最后给出使用 THP 时的配置建议及关闭方法。

产品技术解读

基于 TiSpark 的海量数据批量处理技术丨TiDB 工具

本文将向大家介绍我们是怎样使用 TiSpark 去实现海量数据批处理,然后写入到 TiDB 里面去的。

案例实践

线上环境 Linux 系统调用追踪丨TiDB 应用实践

本文将向大家分享两款如何在线上环境分析系统调用的工具,方便大家需要时查阅。

公司动态

Chaos Mesh 1.0 GA,让混沌工程变得简单!

从开源到现在近一年的时间里,Chaos Mesh 在所有贡献者的共同努力下,在不断完善新功能的同时,在易用性和稳定性上也都取得了阶段性的成果,今天,我们自豪的宣布 Chaos Mesh 1.0 正式发布!

产品技术解读

TiCDC 首个 GA 版本发布,特性与场景全揭秘丨TiDB 工具

本文将向大家介绍 TiCDC,一个通过拉取 TiKV 日志实现的 TiDB 增量数据同步工具,具有还原数据到与上游任意 TSO 一致状态的能力,同时提供开放数据协议,支持其他系统订阅数据变更。

案例实践

TiDB on Kubernetes 最佳实践

本文将向大家分享介绍 TiDB 在 K8s 上的运维管理系统 TiDB Operator,再从各类故障场景入手剖析 TiDB on K8s 如何实现高效的故障自愈并保障数据安全。

产品技术解读

TiKV 源码解析系列文章(十九)read index 和 local read 情景分析

这篇文章尝试向大家较为完整的介绍下 TiKV 中的 Raft 读流程的实现,特别是 read index 和 lease read。

案例实践

Chaos Mesh X GitHub Actions —— 把混沌工程集成到你的 CI 中

本文将介绍如何在 GitHub Actions 的 workflow 中使用 Chaos Mesh,从而将混沌工程集成到系统开发的 CI 中。

案例实践

使用 Horoscope 测试 TiDB 优化器

本文将向大家阐述如何使用 Horoscope 测试 TiDB 优化器。

产品技术解读

Libbpf-tools —— 让 Tracing 工具身轻如燕

本篇文章概述了 BPF 的主要应用,重点描述了 libbpf-tools 解决了哪些 BCC 痛点以及在 PingCAP 内部的相关实践。

产品技术解读

TiDB 的列式存储引擎是如何实现的?

本文将为大家详细解释 Delta Tree 的设计思路。

产品技术解读

Why HTAP Matters丨TiDB 4.0

说到 Why HTAP Matters,其实包含两部分,一部分是说为什么我们叫 HTAP,另外一部分是说 TiDB 怎样在 HTAP 架构下发挥它的优势。

产品技术解读

TiDB 4.0 为解决热点问题做了哪些改进?

热点处理是分布式数据库亘古不变的话题,经过四个大版本的演进,目前 TiDB 4.0 通过 AutoRandom、新热点调度器、热点可视化这几个方面进行了大幅度的优化。这些变化将以润物细无声的方式影响用户的体验。

观点洞察

为什么你需要混沌工程以及 Chaos Mesh

本文介绍了帮助我们在复杂的分布式系统环境下保证系统正常稳定运行的办法 —— Chaos Engineering,以及基于 Kubernetes 的云原生混沌工程平台 Chaos Mesh。

案例实践

基于 Chaos Mesh 和 Argo 打造分布式测试平台

本文介绍我们是如何在 Chaos Mesh 和 Argo 的基础上打造自己的自动化测试平台 TiPocket],实现完全自动化的混沌测试,构成混沌测试完整闭环。

公司动态

基于 TiDB 开源社区的友邻合作伙伴体系构建

2020 年 PingCAP 合作伙伴生态体系构建全面启动,基于 TiDB 社区,秉承开放平等的全新社区化合作伙伴生态理念,产业生态合作、解决方案合作、联合技术中心等众多计划百花齐放。

案例实践

TiDB 异构数据库复制最佳实践

纵观现有业务系统的分布式改造,其中一个难点在于数据库的迁移,本文将分享我司在多年的实践中积攒的大量异构平台迁移经验,以及数据库复制技术的更多应用场景。

产品技术解读

TiDB 金融级备份及多中心容灾

依托于整个工程研发团队、QA 测试团队,以及所打造和拥有的强大的测试体系、TiDB 产品的容灾灾备一系列高可用及灾备容灾机制,我们能够为银行、保险、证券等金融客户提供完善的、可靠的、放心的、金融级的分布式数据库服务。

产品技术解读

从马车到电动车,TiDB 部署工具变形记

在部署易用性方面,TiDB 开发者经过诸多探索和尝试,经过了命令行时代、Ansible 时代,终于在 TiDB 4.0 发布了新一代具有里程碑意义的解决方案——TiUP。

观点洞察

刘奇:当今一切都要更实时、更弹性、更简单,TiDB 就是这样的基础设施

TiDB 发展到今天,已经不仅仅是一个数据库产品,它已经是很多系统的基石,作为一个基础设施的存在。

产品技术解读

TiDB 4.0:The Leading Real-Time HTAP Database is Ready for Cloud

TiDB 4.0 终于迎来 GA 版本,这是 TiDB「面向未来的数据库」道路上面的一个重要的里程碑。

社区动态

开发者 x 用户联手“打怪升级”,TiDB 易用性挑战赛& 4.0 捉“虫”竞赛完结!

所有参赛选手的点滴成果都已经汇聚到了 TiDB 产品中,TiDB 因你们的贡献而变得更好、更强大!

社区动态

TiKV Committer 聂殿辉:开源不仅仅是开放源代码,更是一种态度和沟通方式

“我对 TiDB 社区的整体印象用一句话概括就是:很专业,又很有人情味。”

社区动态

打造未来的数据库,不一定要写代码? TiDB 4.0 捉“虫”竞赛等你来战

赛程即将进入下半场,战况愈发激烈,我们总结了上半场的大事件快来看看吧~

社区动态

赛程过半,谁在让 TiDB 变得更好用?

三月初,围绕着这 20 个呼声最高的需求,我们在社区启动了 TiDB 易用性挑战赛。赛事开启后,大家可是百花齐放,百家争鸣。目前赛程已经过半,我们先来看看战绩吧!

产品技术解读

为啥 TiFlash 又变快了?丨TiDB 工具

短短几周时间,每次 TiFlash 的版本更新都会带来新的性能的改进,速度越来越快

观点洞察

未来数据库应具备什么核心能力?

上周六,我们开启了 The Future of Database 系列的第一期直播,我司 CTO 黄东旭及 Engineering VP 申砾畅聊了“未来的数据库会是什么样?”这个颇具想象力的话题。这是第一期直播的部分文字&视频回顾。

社区动态

左手尝鲜、右手周边?TiDB 4.0 捉“虫"竞赛来袭!

邀请社区小伙伴参与一起为 TiDB 全球社区建设添砖加瓦,让 TiDB 新版本给大家带来更好的体验!

产品技术解读

TiDB 4.0 新特性尝鲜指南

在 TiDB 4.0 中我们实现了 很多具有里程碑意义的功能,这里为大家列一份「新特性尝鲜指南」。

产品技术解读

The Overview of TiDB 4.0

4 月 8 日是 PingCAP 成立五周年的日子,我们也在这一天发布了具有里程碑意义的 TiDB 4.0 首个 RC 版本。

观点洞察

聊聊数据库的未来,写在 PingCAP 成立五周年之际

我们要造的是一个真正能作为整个系统的 Single Source of Truth 的基础软件。

产品技术解读

TiDB 4.0 新特性前瞻(四)图形化诊断界面

TiDB 4.0 新提供 TiDB Dashboard 图形化界面,内置各种有力工具方便 DBA 同学诊断、监视和管理集群。

产品技术解读

TiDB 4.0 新特性前瞻(三)再也不用担心我的 SQL 突然变慢了

一条本来跑得好好的 SQL 突然变成了慢查询,怎么办?

产品技术解读

TiKV 源码解析系列文章(十八)Raft Propose 的 Commit 和 Apply 情景分析

raft-rs 实现了 Raft Leader election 和 Log replication 等核心功能,而消息的发送、接收、应用到状态机等操作则需要使用者自行实现,本文将要介绍的就是 TiKV 中这些部分的处理过程。

产品技术解读

TiFlash:并非另一个 T + 1 列存数据库丨TiDB工具

TiFlash 是配合 TiDB 体系的列存引擎,它和 TiDB 无缝结合,在线 DDL、无缝扩容、自动容错等等方便运维的特点也在 TiFlash 中得到继承,此外,TiFlash 可以实时与行存保持同步。

产品技术解读

TiDB 4.0 新特性前瞻(二)白话“悲观锁”

如果说在 TiDB 3.0 中,悲观锁是 “千呼万唤始出来,犹抱琵琶半遮面”。那么在 TiDB 4.0 中,悲观锁在经历了市场与时光的考验后,无论是性能还是稳定性都能够 “轻拢慢撚抹复挑,初为《霓裳》后《六幺》”。

社区动态

TiKV Committer 庄天翼:只要能提升 Codebase 质量,就值得提交 PR

“参与社区贡献,除了增加了 Rust 使用经验和真正用于生产的数据库开发经验,同时也认识了很多人,扩大了社交圈,让我学到了很多东西。”

社区动态

Hi,你有一份 TiDB 易用性挑战赛「捞分指南」请查收

我们简单总结了一些捞分技巧,希望能够帮助大家快速上手,追上这些排名靠前的参赛选手们。

产品技术解读

What’s New in TiDB 4.0.0

TiDB 4.0 版本是一个让人兴奋的版本,我们提供了非常多有用、有趣的特性,本文将带领大家对这些有用、有趣的特性作一个概括性的讲述。

社区动态

历时 48 小时,开源电子书《TiDB in Action》第一版完成!

从上周五晚 21:00 开始,历时 48 小时,共有 102 位来自社区的作者参与,截止周日 21:00,总计产生了 421 次 Commit,199 个 PR,最终开源电子书 第一版诞生。

案例实践

一位 Rust 开发者的 Go 初体验

Go 是一种简单、小巧、令人愉悦的语言。它也有一些犄角旮旯,但绝大部分是经过精心设计的。它的学习速度令人难以置信,并且规避了其他语言中一些不那么广为人知的特性。

Nick Cameron
2020-03-05
社区动态

TiDB Contributor 人数突破 400,有关开源理想,我们同在!

和一群志同道合的朋友一起做酷且正确的事情,哪怕它是困难的、甚至曾被人认为是不可能的。但,让世界变得更美好,不正是我们踏入开源世界的初衷吗?

社区动态

一个疯狂的念头:48 小时写一本书,来一次 TiDB 开源社区的行为艺术

既然都是做分布式系统的,为什么不尝试下「分布式写书」?TiDB 的社区里有那么多身怀绝技的朋友,社区里也积赞了无数的内容,我们只是需要一个契机将这些内容串联起来。

社区动态

TiDB 易用性挑战赛开启:解决用户的痛点,让 TiDB 更易用!

TiDB 挑战赛第二季今天正式开启,赛程持续 3 个月,本赛季将围绕“提升 TiDB 的易用性”展开。考虑到用户们对 TiDB 落地实操中的“易用性”有深刻的体验,我们特地征求了一波 TiDB User Group(TUG)的意见。

产品技术解读

Rust 编译模型之殇

许多人抱怨构建的时间太长。有时,在开发模式下完全重新构建需要花费 15 分钟,而在发布模式则需要 30 分钟。

社区动态

积聚 TiDB 社区力量,让 Talent Plan 来一次升级吧!

欢迎大家来“试玩”并提供建议、贡献自己的智慧,一起来打造这门课程,帮助更多社区伙伴们学习、成长!

产品技术解读

如何做到 10T 集群数据安全备份、1GB/s 快速恢复?丨TiDB 工具

TiDB 目前可以满足超大集群的备份恢复的需求,经过测试,10T 数据的备份恢复速度可以达到 GB/s 级别。这得益于我们研发的分布式备份恢复工具 Backup&Restore That Scales (BR)。

产品技术解读

TiDB Binlog 源码阅读系列文章 (九)同步数据到下游

同步数据这一步重要操作由 Drainer 模块支持,它可以将 binlog 同步到 TiDB / MySQL / Kafka / File (增量备份)等下游组件

观点洞察

我眼中的分布式系统可观测性

在 Cloud Native 和微服务的世界里,大家正在将“系统的可观测性”放在更高的位置。

产品技术解读

TiDB 4.0 新特性前瞻(一)拍个 CT 诊断集群热点问题

在 4.0 版本中 TiDB 也实现了 Key Visualizer 功能。现在,我们可以很轻松地给集群拍个 “CT”,快速直观地观察集群整体热点及流量分布情况。

社区动态

原来提升一个数据库的性能并没有那么难!TiDB 性能挑战赛完结撒花

性能挑战赛已经圆满落幕,最终的积分排行也新鲜出炉,选手们的参赛成果让人非常惊喜,让我们回顾一下选手们是如何在“TiDB 性能提升”之路上,过五关斩六将的吧~

产品技术解读

为了证明它的速度,我们一口气对比了 Oracle、MySQL、MariaDB、Greenplum、Apache Spark

借助 TiFlash 的一致性数据同步特型,用户可否以一个优异的速度直接对实时数据进行分析呢?

产品技术解读

一两个节点、一两条命令,轻松让 TiDB 分析场景无痛提速十倍

TiDB 3.1 推出的 TiFlash 产品,可以让你的 AP 查询提升数倍,不需要复杂的操作,无需多少节点,轻轻松松。

产品技术解读

TiDB Binlog 源码阅读系列文章(八)Loader Package 介绍

本文将从 Loader 的接口定义开始,由上至下的介绍 Loader 将 binlog 写入下游数据库的过程。

产品技术解读

TiLightning —— Lightning + TiSpark 轻松解除数据导入限制 丨TiDB 工具

TiLightning 可以轻松解除数据导入限制,解决了大数据生态系统和 TiDB 之间的鸿沟。

产品技术解读

TiKV 源码解析系列文章(十七)raftstore 概览

本文以 3.0 版本代码为例,讲述 raftstore 源码中的关键定义和设计。

观点洞察

分布式系统 in 2010s :测试和运维

本文为「分布式系统 in 2010s」 系列最终篇,这次我们来聊一聊测试和运维。

社区动态

TiExciting —— 让 TiDB 部署轻松简单

本篇文章将介绍在 Hackathon 获得三等奖的 TiExciting 项目,它可以帮助更多人用上 TiDB 并改善运维的复杂度。

观点洞察

分布式系统 in 2010s :硬件的进化

本文为「分布式系统 in 2010s」 系列第三篇,这次我们来聊一聊硬件的进化。

社区动态

汇聚能量,元气弹发射 | PingCAP Special Week - Tools matter 有感

2019 年第四季度,PingCAP Special Week 的主题是 Tools matter,本篇文章将介绍本次 SW 都有哪些不错的成果。

唐刘
2020-01-06
产品技术解读

Chaos Mesh - 让应用跟混沌在 Kubernetes 上共舞

我们将混沌相关实现从自动化测试平台中抽离出来,作为 Chaos Mesh 的最初原型,并经过重新设计和完善,最终于 Github 上开源。

观点洞察

分布式系统 in 2010s :软件构建方式和演化

本文为「分布式系统 in 2010s」系列第二篇,内容为软件构建的方式和演化。

观点洞察

分布式系统 in 2010s :存储之数据库篇

无论哪个时代,存储都是一个重要的话题,今天先聊聊数据库。

案例实践

效率 10x!打造运维 TiDB 的瑞士军刀

为解决分布式数据库的运维难题,本文将介绍如何用 SQL 管理整个 TiDB 集群。

案例实践

直击备份恢复的痛点:基于 TiDB Binlog 的快速时间点恢复

基于 TiDB Binlog 的 Fast-PITR (Fast point in time recovery),即基于 TiDB Binlog 的快速时间点恢复,实现了基于 TiDB Binlog 的逐级 merge,以最小的代价实现快速 PITR,解决了现有 TiDB 原生备份恢复方案的一些痛点问题。

观点洞察

从大数据到数据库

作为一个从大数据转行做数据库的人,我自以为能感受到两个世界的异同。本篇文章,斗胆聊下这个话题,以及对未来的看法。

产品技术解读

TiKV 源码解析系列文章(十六)TiKV Coprocessor Executor 源码解析

本文将介绍下推算子的执行流程并分析下推算子的部分实现细节,加深大家对 TiKV Coprocessor 的理解。

社区动态

拥抱 Elasticsearch:给 TiDB 插上全文检索的翅膀

我们尝试为 TiDB 引入“全文检索”功能,为存储在 TiDB 中的文本数据提供随时随地搜索的能力。

社区动态

赛程刚过 1/3,什么操作让性能提升 150+ 倍?丨TiDB 性能挑战赛

TiDB 性能挑战赛的赛程刚过 1/3,参赛选手们已经取得了十分耀眼的阶段性成果~让我们来看看吧!

社区动态

TiDB Hackathon 2019 — 你呼呼大睡,机器人却在找 bug?

复杂系统的测试是一件艰难、艰苦和艰巨的事情,可不可以让程序自动帮我们查 bug?

产品技术解读

TiDB Binlog 源码阅读系列文章(六)Pump Storage 介绍(下)

本文介绍了 Pump Storage 的两个重要组件 `valueLog`,`slowChaser` 的主要功能与具体实现。

社区动态

TiDB Hackathon 2019 — 流量和延迟减半!挑战 TiDB 跨数据中心难题

我们针对 TiDB 跨数据中心方案做了一些优化,使得跨地域 SQL 查询延迟下降 50%,跨节点消息数减半,即网络流量减半。

社区动态

TiKV Engine SIG 成立,硬核玩家们看过来!

TiKV Engine SIG 主要职责是对 TiKV 的存储引擎的未来发展进行讨论和规划,并进行相关开发和维护。期待社区伙伴们的支持和贡献~

社区动态

开源社区怎么玩?明星项目 TiKV 的 Maintainer 这样说……

“当你持续的认真投入到开源后,项目和社区就会产生双向的交流,不再只是你单向的投入,社区也会给予你反哺,这时就会形成正向循环,对项目发展会起到非常大的推动作用。”

产品技术解读

揭秘 TiDB 新优化器:Cascades Planner 原理解析

本文将为大家深入介绍 TiDB 新的优化器——Cascades Planner 的框架及原理。

社区动态

十分钟成为 Contributor 系列 | 为 Cascades Planner 添加优化规则

我们将这个系列再向着数据库的核心前进一步,挑战一下“为TiDB的优化器增加优化规则”,带大家初步体验一下可以对查询的执行时间产生数量级影响的优化器的魅力。

案例实践

TiDB 最佳实践系列(六)HAProxy 的使用

TiDB Server 作为无限水平扩展的无状态计算节点,需要能提供稳定且高性能的负载均衡组件用对外统一的接口地址来提供服务,而 HAProxy 在负载均衡的生态中占有很大的市场。本文将介绍在 TiDB 下使用 HAProxy 的最佳实践。

产品技术解读

TiKV 源码解析系列文章(十五)表达式计算框架

本文将介绍 Coprocessor 中表达式计算框架的源码架构,带大家看看 SQL 中的表达式是如何在 Coprocessor 中执行的。

社区动态

Unified Thread Pool | TiDB Hackathon 2019 优秀项目介绍

Unified Thread Pool 项目实现了在 TiKV 中使用一个统一的自适应线程池处理读请求,能够显著提升性能,并可预测性地限制大查询对小请求的干扰,最终在 TiDB Hackathon 2019 中斩获一等奖。

社区动态

TiDB-Wasm 原理与实现 | TiDB Hackathon 2019 优秀项目介绍

TiDB-Wasm 项目实现了将 TiDB 编译成 Wasm 运行在浏览器里,让用户无需安装就可以使用 TiDB,最终获得了 TiDB Hackathon 2019 的二等奖。

社区动态

如何玩转 TiDB 性能挑战赛?本文教你 30 分钟快速上手拿积分!

本文以 TiKV 性能挑战赛 Easy 级别任务“PCP:Migrate functions from TiDB”为例,教大家如何快速又正确地完成这个任务。

案例实践

TiDB 最佳实践系列(五)Java 数据库应用开发指南

本文将从 Java 数据库交互组件开发的角度出发,介绍各组件的推荐配置和推荐使用方式,希望能帮助 Java 开发者在使用 TiDB 时能更好的发挥数据库性能。

社区动态

让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案

今天的 TiDB 可以直接运行在浏览器本地。打开浏览器,你可以直接创建数据库,对数据进行增删改查。关掉浏览器,一切都消失了,干净绿色环保。

产品技术解读

TiKV 源码解析系列文章(十四)Coprocessor 概览

本文将简要介绍 TiKV Coprocessor 的基本原理,面向想要了解 TiKV 数据读取执行过程的同学,同时也面向想对该模块贡献代码的同学。

观点洞察

高效编排有状态应用——TiDB 的云原生实践与思考

本文将以 TiDB 与 Kubernetes 的“爱恨情仇”为例,总结有状态应用走向云原生的工程最佳实践。

社区动态

TiKV 项目首个 SIG 成立,一起走上 Contributor 进阶之路吧!

今天是 1024 程序员节,我们正式成立 TiKV 项目的首个 SIG —— Coprocessor SIG,希望对 TiKV 项目感兴趣的小伙伴们都能加入进来,探索硬核的前沿技术,交流切磋,一起走上 Contributor 的进阶之路!

案例实践

TiDB 最佳实践系列(四)海量 Region 集群调优

本文将介绍 TiKV 核心模块 Raftstore 的处理流程以使大家更好得理解海量 Region 导致性能问题的根源,以及针对这种情况的一些优化手段。

社区动态

新架构、新角色:TiDB Community Upgrade!

TiDB 社区已经逐渐成熟,但是随着社区的发展壮大,我们逐渐感受到了现在社区架构上的一些不足。经过一系列的思考和总结,我们决定升级和调整目前社区组织架构,引入更多的社区角色和社区组织,以便更好的激发社区活力,维护积极健康的社区环境。

案例实践

TiDB 最佳实践系列(三)乐观锁事务

本文我们将深入浅出介绍 TiDB 乐观事务原理,并给出多种场景下的最佳实践,希望大家能够从中受益。同时,也欢迎大家给我们提供相关的优化建议,参与到我们的优化工作中来。

产品技术解读

Hands-on! 如何给 TiDB 添加新系统表

“TiDB,你已经是一个成熟的数据库了,该学会用自己的 SQL 查自己的状态了。”

案例实践

TiDB 最佳实践系列(二)PD 调度策略最佳实践

本文将详细介绍 PD 调度系统的原理,并通过几个典型场景的分析和处理方式,分享调度策略的最佳实践和调优方法,帮助大家在使用过程中快速定位问题。

案例实践

AutoTiKV:基于机器学习的数据库调优

如果有一个自动 tuning 的方案就可以大大减少调优的人力成本,同时也可能在调优的过程中,发现一些人工想不到的信息。我们从 AutoML 中得到启发,希望能用 Automated Hyper-parameter Tuning 中的一些方法来对数据库参数进行自动调优。

产品技术解读

TiDB Binlog 源码阅读系列文章(五)Pump Storage 介绍(上)

在上篇文章中,我们主要介绍了 Pump Server 的上线过程、gRPC API 实现、以及下线过程和相关辅助机制,其中反复提到了 Pump Storage 这个实体。本文就将介绍 Pump Storage 的实现。

社区动态

十分钟成为 Contributor 系列 | TiDB 向量化表达式活动第二弹

在上篇文章中,我们介绍了 TiDB 如何实现表达式的向量化优化,以及社区同学如何参与这项工程。两周过去了,我们收到了很多来自社区小伙伴们的建议和反馈,今天在这里和大家分享一下活动进展和这些建议及反馈。

案例实践

TiKV Rust Client 迁移记 - futures 0.1 至 0.3

最近我将一个中小型的 crate 从 futures 库的 0.1 迁移至了 0.3 版本。过程本身不是特别麻烦,但还是有些地方或是微妙棘手,或是没有很好的文档说明。这篇文章里,我会把迁移经验总结分享给大家。

社区动态

十分钟成为 Contributor 系列 | 助力 TiDB 表达式计算性能提升 10 倍

最近我们扩展了 TiDB 表达式计算框架,增加了向量化计算接口,初期的性能测试显示,多数表达式计算性能可大幅提升,部分甚至可提升 1~2 个数量级。为了让所有的表达式都能受益,我们需要为所有内建函数实现向量化计算。

社区动态

从使用者到开发者,知乎参与 TiDB 社区背后的故事

“从前我们更多是站在使用者的角度从开源社区汲取养分,随着知乎技术架构和内部工程能力的成长,未来我们希望能够以更加积极主动的状态参与开源项目,回馈社区。”

产品技术解读

如何高效利用 Grafana 监控分析 TiDB 指标

使用 TiDB Ansible 部署 TiDB 集群,会同时部署一套 Grafana + Prometheus 的监控平台,这套监控用来收集和展示 TiDB 集群各个组件和机器的 metric 信息,这些 metric 信息非常丰富,可以帮助使用者分析 TiDB 集群的状态以及 Trouble shooting。

产品技术解读

一体化数据同步平台DM 1.0 GA发布丨TiDB工具

DM 在 TiDB DevCon 2019 上正式开源,经过半年多时间在大量用户、开发者的支持和反馈下,今天我们宣布 DM 1.0 GA 正式发布。

案例实践

TiDB 最佳实践系列(一)高并发写入常见热点问题及规避方法

本文通过阐述一个高并发批量写入数据到 TiDB 的典型场景中,TiDB 中常见的问题,给出一个业务的最佳实践,避免业务在开发的时候陷入 TiDB 使用的 “反模式”。

产品技术解读

TiKV 源码解析系列文章(十三)MVCC 数据读取

本文将介绍数据读取的流程。

产品技术解读

TiDB + TiFlash : 朝着真 HTAP 平台演进

本篇文章介绍了关于 HTAP 数据库的一些思考,以及新组件 TiFlash 给 TiDB 带来的变化。

产品技术解读

TiDB Binlog 源码阅读系列文章(四)Pump server 介绍

本文将继续介绍 Pump server 的实现,对应的源码主要集中在 TiDB Binlog 仓库的 pump/server.go 文件中。

产品技术解读

TiDB 新特性漫谈:悲观事务

TiDB 在 3.0 中引入了一个实验性的新功能:悲观事务模型。这个功能也是千呼万唤始出来的一个功能。

产品技术解读

TiDB 新特性漫谈:从 Follower Read 说起

关注 TiDB 的同学,最近可能注意到 TiKV 这边合并了一个不大不小的 PR,支持了一个特性叫做 Follower Read,看到这个功能被合并进主干我确实有点百感交集,还发了条朋友圈庆祝,因为我实在很喜欢这个特性。

产品技术解读

TiKV 源码解析系列文章(十二)分布式事务

本文将更加深入地讲解 TiKV 的事务算法的原理和实现细节。

社区动态

三十分钟成为 Contributor | 提升 TiDB Parser 对 MySQL 8.0 语法的兼容性

本次活动聚焦于语法兼容,提升 TiDB SQL Parser 对 MySQL 8.0 的语法支持。对于新的贡献者而言,除了能将理论知识运用到实践上以外,还可以从中体验参与一个开源项目的整体流程与规范。

产品技术解读

TiDB Binlog 源码阅读系列文章(三)Pump client 介绍

本篇将介绍 Pump client,希望大家了解 TiDB 把 binlog 写到 Pump,以及输出数据的过程。

公司动态

云上 TiDB 管理「利器」,TiDB Operator 1.0 GA 发布

开源后到现在的近一年内,我们一方面基于用户反馈不断打磨项目的易用性,另一方面通过严苛的稳定性测试持续提升可靠性。今天,我们自豪地宣布 TiDB Operator 1.0 GA 正式发布!

产品技术解读

TiKV 源码解析系列文章(十一)Storage - 事务控制层

本文将为大家介绍 TiKV 源码中的 Storage 模块,它位于 Service 与底层 KV 存储引擎之间,主要负责事务的并发控制。TiKV 端事务相关的实现都在 Storage 模块中。

产品技术解读

DM 源码阅读系列文章(十)测试框架的实现丨TiDB 工具

本篇文章将从质量保证的角度来介绍 DM 测试框架的设计和实现,探讨如何通过多维度的的测试方法保证 DM 的正确性和稳定性。

产品技术解读

DM 源码阅读系列文章(九)shard DDL 与 checkpoint 机制的实现丨TiDB 工具

在本篇文章中,我们将对切分DDL同步机制以及检查点机制等进行详细的介绍,内容包括 shard group 的定义、shard DDL 的同步协调处理流程、checkpoint 机制以及与之相关的 safe mode 机制。

产品技术解读

TiKV 源码解析系列文章(十)Snapshot 的发送和接收

TiKV 针对 Snapshot 收发场景做了特殊处理,解决了消息包过大会导致的一系列问题。

产品技术解读

TiKV 源码解析系列文章(九)Service 层处理流程解析

之前的 TiKV 源码解析系列文章介绍了 TiKV 依赖的周边库,从本篇文章开始,我们将开始介绍 TiKV 自身的代码。本文重点介绍 TiKV 最外面的一层——Service 层。

产品技术解读

TiDB Binlog 源码阅读系列文章(二)初识 TiDB Binlog 源码

本文介绍了 TiDB Binlog 相关源码仓库:tidb-tools 和 tidb-binlog,以及其中的目录,并且展示了如何启动测试集群。

公司动态

TiDB 3.0 GA,稳定性和性能大幅提升

2019 年 6 月 28 日,TiDB 3.0 GA 正式发布,请跟随我们的脚步看看 TiDB 3.0 有什么样的惊喜。

产品技术解读

DM 源码阅读系列文章(八)Online Schema Change 迁移支持丨TiDB 工具

本篇文章将会以 gh-ost 为例,详细地介绍 DM 是如何支持一些 MySQL 上的第三方 online schema change 方案迁移,内容包括 online schema change 方案的简单介绍,online schema change 迁移方案,以及迁移实现细节。

产品技术解读

TiDB Binlog 源码阅读系列文章(一)序

TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如 TiDB、MySQL 等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。

产品技术解读

TiKV 源码解析系列文章(八)grpc-rs 的封装与实现

本篇将带大家深入到 grpc-rs 这个库里,查看 RPC 请求是如何被封装和派发的,以及它是怎么和 Rust Future 进行结合的。

产品技术解读

DM 源码阅读系列文章(七)定制化数据同步功能的实现丨TiDB 工具

本篇文章介绍了 DM 的定制化数据同步功能中库表路由(Table routing)、黑白名单(Black & white table lists)、列值转化(Column mapping)、binlog 过滤(Binlog event filter)四个主要功能的实现。

产品技术解读

DM 源码阅读系列文章(六)relay log 的实现丨TiDB 工具

本篇文章的内容包括 relay log 目录结构定义、relay log 数据的处理流程、主从切换支持、relay log 的读取等逻辑。

观点洞察

势高,则围广:TiDB 的架构演进哲学

我们更多时候是站在哲学层面思考整个公司的运转和 TiDB 这个产品的演进的思路。这些思路很多时候是大家看不见的,因为不是一个纯粹的技术层面或者算法层面的事情。

案例实践

诊断修复 TiDB Operator 在 K8s 测试中遇到的 Linux 内核问题

我们在 K8s 中测试 TiDB Operator 时发现了两个 Linux 内核错误,这些错误已经困扰我们很长一段时间,并没有在整个 K8s 社区中彻底修复。经过广泛的调查和诊断,我们已经确定了处理这些问题的方法。

产品技术解读

TiKV 源码解析系列文章(七)gRPC Server 的初始化和启动流程

本篇 TiKV 源码解析将为大家介绍 TiKV 的另一周边组件—— grpc-rs。grpc-rs 是 PingCAP 实现的一个 gRPC 的 Rust 绑定,其 Server/Client 端的代码框架都基于 Future,事件驱动的 EventLoop 被隐藏在了库的内部,所以非常易于使用。

产品技术解读

What’s New in TiDB 3.0.0-rc.1

2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,该版本对系统稳定性,性能,安全性,易用性等做了较多的改进,本文会逐一介绍。

段兵
2019-05-10
产品技术解读

DM 源码阅读系列文章(五)Binlog replication 实现丨TiDB 工具

本篇文章将会详细地介绍 DM 核心处理单元 Binlog replication,内容包含 binlog 读取、过滤、路由、转换,以及执行等逻辑。

公司动态

TiDB Binlog 组件正式开源

为方便用户和开发者更加深入理解和使用 TiDB Binlog 组件,以及基于 TiDB Binlog 组件做二次开发用于更多的业务场景, TiDB 团队决定于 2019 年 5 月 6 日正式开源 TiDB Binlog 组件。

产品技术解读

Golang Failpoint 的设计与实现

Failpoint 项目是 FreeBSD Failpoints 的 Golang 实现,允许在代码中注入错误或异常行为,并由环境变量或代码动态激活来触发这些异常行为。Failpoint 能用于各种复杂系统中模拟错误处理来提高系统的容错性、正确性和稳定性。

产品技术解读

DM 源码阅读系列文章(四)dump/load 全量同步的实现丨TiDB 工具

本文将详细介绍 dump 和 load 两个数据同步处理单元的设计实现,重点关注数据同步处理单元 interface 的实现,数据导入并发模型的设计,以及导入任务在暂停或出现异常后如何恢复。

产品技术解读

TiKV 源码解析系列文章(六)raft-rs 日志复制过程分析

本文将对数据冗余复制的过程进行详细展开,特别是关于 snapshot 及流量控制的机制,帮助读者更深刻地理解 Raft 的原理。

产品技术解读

DM 源码阅读系列文章(三)数据同步处理单元介绍丨TiDB 工具

本篇文章将详细地介绍 DM 数据同步处理单元(DM-worker 内部用来同步数据的逻辑单元),包括数据同步处理单元实现了什么功能,数据同步流程、运行逻辑,以及数据同步处理单元的 interface 设计。

产品技术解读

Kubernetes 中如何保证优雅地停止 Pod丨TiDB 应用实践

很多场景下 PreStop Hook 并不能很好地完成需求,这篇文章就简单分析一下“优雅地停止 Pod”这回事儿。

产品技术解读

TiKV 源码解析系列文章(五)fail-rs 介绍

本文为 TiKV 源码解析系列的第五篇,为大家介绍 TiKV 在测试中使用的周边库 fail-rs。

产品技术解读

What’s New in TiDB 3.0.0 Beta.1

今年 1 月份,我们发布了 TiDB 3.0.0 Beta 版本,DevCon 上也对这个版本做了介绍,经过两个月的努力,今天推出了下一个 Beta 版本 3.0.0 Beta.1。

申砾
2019-03-26
产品技术解读

DM 源码阅读系列文章(二)整体架构介绍丨TiDB 工具

本篇文章主要介绍 TiDB Data Migration (TiDB DM) 的整体架构,包括 TiDB DM 有哪些组件、各组件分别实现什么功能、组件之间交互的数据模型和 RPC 实现。

产品技术解读

DM 源码阅读系列文章(一)序丨TiDB 工具

本篇文章主要介绍了 DM 源码阅读的目的和源码阅读的规划,简单介绍了 DM 的源码结构和工具链。本文为本系列文章的第一篇。

产品技术解读

TiKV 源码解析系列文章(四)Prometheus(下)

本篇将为大家介绍 rust-prometheus 的更多高级功能的实现原理。

产品技术解读

TiKV 源码解析系列文章(三)Prometheus(上)

本篇将为大家介绍 rust-prometheus 的基础知识以及最基本的几个指标的内部工作机制。

观点洞察

The (Near) Future of Database — TiDB DevCon 2019

在 TiDB DevCon 2019 上,我司联合创始人兼 CTO 黄东旭分享了对数据库行业大趋势以及未来数据库技术的看法。

产品技术解读

TiKV 源码解析系列文章(二)raft-rs proposal 示例情景分析

本文将以 raft-rs 的公共 API 作为切入点,介绍一般 proposal 过程的实现原理,让用户可以深刻理解并掌握 raft-rs API 的使用,以便用户开发自己的分布式应用,或者优化、定制 TiKV。

产品技术解读

TiKV 源码解析系列文章(一)序

在 TiDB DevCon 2019 上,我们宣布启动 TiKV 源码系列分享,帮助大家理解 TiKV 的技术细节。本文为本系列文章的第一篇。

产品技术解读

Titan 的设计与实现

Titan 是由 PinCAP 研发的一个基于 RocksDB 的高性能单机 key-value 存储引擎。我们的基准测试结果显示,当 value 较大的时候,Titan 在写、更新和点读等场景下性能都优于 RocksDB。

产品技术解读

TiDB 源码阅读系列文章(二十四)TiDB Binlog 源码解析

本文将为大家介绍 TiDB 在执行 DML/DDL 语句过程中,如何将 binlog 数据发送给 TiDB Binlog 集群的 Pump 组件。

产品技术解读

TiDB 源码阅读系列文章(二十三)Prepare/Execute 请求处理

在《(三)SQL 的一生》中,我们介绍了 TiDB 在收到客户端请求包时,最常见的 `Command --- COM_QUERY` 的请求处理流程。本文我们将介绍另外一种大家经常使用的 `Command --- Prepare/Execute` 请求在 TiDB 中的处理过程。

社区动态

写给社区的回顾和展望:TiDB 2019, Level Up!

2018 年对于 TiDB 和 PingCAP 来说是一个由少年向成年的转换的一年,如果用一个关键字来概括就是「蜕变」。

产品技术解读

TiDB Ecosystem Tools 原理解读系列(三)TiDB Data Migration 架构设计与实现原理

TiDB Data Migration 是用于将数据从 MySQL/MariaDB 迁移到 TiDB 的工具。该工具既支持以全量备份文件的方式将 MySQL/MariaDB 的数据导入到 TiDB,也支持通过解析执行 MySQL/MariaDB binlog 的方式将数据增量同步到 TiDB。

产品技术解读

TiDB 源码阅读系列文章(二十二)Hash Aggregation

本篇文章将介绍 TiDB 中 Hash Aggregation 的实现原理和细节。

社区动态

十分钟成为 Contributor 系列 | 支持 AST 还原为 SQL

为了实现一些新特性,我们需要为 AST 实现可以还原为 SQL 文本的功能,这篇教程描述如何为 AST 节点添加该功能。首先介绍一些必需的背景知识,然后介绍实现 Restore() 函数的流程,最后会展示一个例子。

产品技术解读

TiDB Ecosystem Tools 原理解读系列(二)TiDB-Lightning Toolset 介绍

TiDB-Lightning Toolset 是一套快速全量导入 SQL dump 文件到 TiDB 集群的工具集,适合在上线前用作迁移现有的大型数据库到全新的 TiDB 集群。

产品技术解读

TiDB 源码阅读系列文章(二十一)基于规则的优化 II

本篇文章将介绍聚合消除、外连接消除和子查询优化等优化规则。

产品技术解读

TiDB Ecosystem Tools 原理解读系列(一):TiDB Binlog 架构演进与实现原理

TiDB Binlog 组件用于收集 TiDB 的 binlog,并提供实时备份和同步功能。本文主要介绍了 TiDB Binlog 的架构演进之路和实现原理。

产品技术解读

TiDB 2.1:Battle-Tested for an Unpredictable World

TiDB 是由 PingCAP 开发的分布式关系型数据库,今天我们很高兴地推出 TiDB 2.1 正式版,提供更丰富的功能、更好的性能以及更高的可靠性。

公司动态

TiDB 2.1 GA Release Notes

2018年11月30日,TiDB发布2.1 GA版。相比2.0版本,该版本对系统稳定性、性能、兼容性、易用性做了大量改进。

PingCAP
2018-11-30
社区动态

TiDB 开源社区指南(上)

本系列文章旨在帮助社区开发者了解 TiDB 项目的全貌,更好的参与 TiDB 项目开发。上篇会聚焦在社区参与者的角度,描述如何更好的参与 TiDB 项目开发。

产品技术解读

TiDB 源码阅读系列文章(二十)Table Partition

本篇文章主要介绍 Table Partition 在 TiDB 中的实现。

产品技术解读

线性一致性和 Raft

本篇文章会讨论一下线性一致性和 Raft,以及 TiKV 针对前者的一些优化。

产品技术解读

TiKV 是如何存取数据的

本文会详细的介绍 TiKV 是如何处理读写请求的。通过该文档,同学们会知道 TiKV 是如何将一个写请求包含的数据更改存储到系统,并且能读出对应的数据的。

产品技术解读

TiDB 源码阅读系列文章(十九)tikv-client(下)

本文将继续介绍 tikv-client 里的两个主要的模块——负责处理分布式计算的 copIterator 和执行二阶段提交的 twoPhaseCommitter。

案例实践

TiKV 集群版本的安全迁移

本文会详细介绍 TiKV 集群版本迁移的实现步骤,enjoy~

案例实践

使用 TiKV 构建分布式类 Redis 服务

本文将介绍 Redis 的特性与不足,以及使用 TiKV 构建分布式类 Redis 服务的

产品技术解读

TiDB 源码阅读系列文章(十八)tikv-client(上)

本文会详细介绍数据读写过程中 tikv-client 需要解决的几个具体问题,enjoy~

产品技术解读

TiDB 源码阅读系列文章(十七)DDL 源码解析

本文首先会介绍 TiDB DDL 组件的总体设计,以及如何在分布式场景下支持无锁 schema 变更,并描述这套算法的大致流程,然后详细介绍一些常见的 DDL 语句的源码实现。Enjoy~

产品技术解读

TiDB Operator,让 TiDB 成为真正的 Cloud-Native 数据库

TiDB Operator 已经正式开源,本文将详细介绍 TiDB Operator 开源的细节,希望大家深入了解这个新的开源项目之后,能够速来贡献代码、成为 Contributor!Enjoy~

产品技术解读

TiDB 源码阅读系列文章(十六)INSERT 语句详解

本文将首先介绍在 TiDB 中的 INSERT 语句的分类,以及各语句的语法和语义,然后分别介绍五种 INSERT 语句的源码实现,enjoy~

产品技术解读

TiDB源码阅读系列文章(十五)排序合并连接

本篇文章主要介绍 Sort Merge Join 在 TiDB 中的实现,enjoy~

社区动态

三十分钟成为贡献者|为TiKV添加内置函数

手把手教你如何在三十分钟内成为 TiKV 项目的 Contributor。

产品技术解读

TiDB 源码阅读系列文章(十四)统计信息(下)

本篇文章将介绍直方图和 Count-Min(CM) Sketch 的数据结构,然后介绍 TiDB 是如何实现统计信息的查询、收集以及更新的。

产品技术解读

TiDB 源码阅读系列文章(十三)索引范围计算简介

本文将详细介绍 TiDB 是如何分析复杂的筛选条件,来得到这些条件在对应的索引上的逻辑区间范围(range)。

产品技术解读

TiDB 源码阅读系列文章(十二)统计信息(上)

本篇文章将介绍统计信息基本概念、TiDB 的统计信息收集/更新机制以及如何用统计信息来估计算子代价。上篇侧重于介绍原理,下篇会结合原理介绍 TiDB 的源码实现。

产品技术解读

TiDB 源码阅读系列文章(十一)Index Lookup Join

前两篇文章中介绍了 Chunk 和 Hash Join,本篇将继续介绍 TiDB 中 Index Lookup Join 具体实现方法和执行流程。Enjoy~

案例实践

TiDB 混沌工程实践:如何打造健壮的分布式系统?

本文分享了 TiDB 应用混沌工程的方法,介绍基于 K8s 自研的自动化测试平台 Schrodinger,并通过实际例子说明如何在 Schrodinger 里应用混沌来测试系统。

观点洞察

十问 TiDB :关于架构设计的一些思考

这篇文章是关于 TiDB 代表性“为什么”的 TOP 10,希望大家在了解了我们这些背后的选择之后,能更加纯熟的使用 TiDB,让它在适合的环境里更好的发挥价值。

产品技术解读

TiDB 源码阅读系列文章(十)Chunk 和执行框架简介

本文详细介绍了在 TiDB 2.0 中引入的 Chunk 及执行框架,enjoy~

产品技术解读

TiDB 源码阅读系列文章(九)Hash Join

本文是 TiDB 源码阅读系列文章的第九篇。内文详细介绍了 TiDB Hash Join 的实现以及几种常见的问题,enjoy~

产品技术解读

TiDB 源码阅读系列文章(八)基于代价的优化

本文是 TiDB 源码阅读系列文章的第八篇。内文会先简单介绍制定查询计划以及优化的过程,然后用较大篇幅详述在得到逻辑计划后的 Cost-Based Optimization(CBO)过程。

公司动态

TiDB 2.0 GA Release

2018 年 4 月 27 日,TiDB 发布 2.0 GA 版。相比 1.0 版本,对 MySQL 兼容性、系统稳定性、优化器和执行器做了很多改进。

产品技术解读

详解 | TiDB 2.0 GA is here!

经过半年时间,6 个 RC 版本,今天 TiDB 2.0 GA 版本正式发布。

产品技术解读

TiDB 源码阅读系列文章(七)基于规则的优化

本文是 TiDB 源码阅读系列文章的第七篇。在 TiDB 中,SQL 优化的过程可以分为逻辑优化和物理优化两个部分。本篇将主要关注逻辑优化。Enjoy ~

产品技术解读

TiDB 源码阅读系列文章(六)Select 语句概览

在先前的 TiDB 源码阅读系列文章(四)中,我们介绍了 Insert 语句,想必大家已经了解了 TiDB 是如何写入数据,本篇文章介绍一下 Select 语句是如何执行的。Enjoy~

产品技术解读

刘寅:TiDB 工具链和生态

本文为今年年初 PingCAP 商业产品团队负责人刘寅在 TiDB DevCon2018 上分享的 《 TiDB 工具链和生态》实录内容,文内详细介绍了 TiDB 的周边工具以及生态系统。enjoy~

产品技术解读

TiDB 源码阅读系列文章(五)TiDB SQL Parser 的实现

本文为 TiDB 源码阅读系列文章的第五篇,主要对 SQL Parser 功能的实现进行了讲解。内容来自社区小伙伴——马震(GitHub ID:mz1999 )的投稿。

产品技术解读

TiDB 源码阅读系列文章(四)Insert 语句概览

本文为 TiDB 源码阅读系列文章的第四篇。本篇文章会以 Insert 语句为例进行讲解,帮助读者理解前一篇文章。

产品技术解读

TiDB 源码阅读系列文章(三)SQL 的一生

本文为 TiDB 源码阅读系列文章的第三篇。本篇文章从 SQL 处理流程出发,介绍哪里是入口,对 SQL 需要做哪些操作,知道一个 SQL 是从哪里进来的,在哪里处理,并从哪里返回。

产品技术解读

TiDB 源码阅读系列文章(二)初识 TiDB 源码

本文为 TiDB 源码阅读系列文章的第二篇,第一篇文章介绍了 TiDB 整体的架构,本篇文章是一篇入门文档 enjoy~

产品技术解读

TiDB 源码阅读系列文章(一)序

在 TiDB DevCon2018 上,我们对外宣布了 TiDB 源码阅读分享活动,承诺对外发布一系列文章以及视频帮助大家理解 TiDB 源码。本文为本系列文章第一篇。

公司动态

TiDB 1.1 Beta Release

2018 年 2 月 24 日,TiDB 发布 1.1 Beta 版。该版本在 1.1 Alpha 版的基础上,对 MySQL 兼容性、系统稳定性做了很多改进。

公司动态

TiDB 1.1 Alpha Release

2018 年 1 月 19 日,TiDB 发布 1.1 Alpha 版。该版本对 MySQL 兼容性、SQL 优化器、系统稳定性、性能做了大量的工作。

案例实践

使用 Rust 构建分布式 Key-Value Store

构建一个分布式 Key-Value Store 并不是一件容易的事情,我们需要考虑很多的问题,首先就是我们的系统到底需要提供什么样的功能。本文将以我们开发的分布式 Key-Value TiKV 作为实际例子,来说明下我们是如何取舍并实现的。

观点洞察

写在 TiDB 1.0 发布之际 | 预测未来最好的方式就是创造未来

1.0 版本只是个开始,是新的起点,愿我们一路相扶,不负远途。

观点洞察

谈谈开源(一)

很多人的『开源』是一个比较时髦且有情怀的词汇,不少公司也把开源当做 KPI 或者是技术宣传的手段。但是在我们看来,大多数人开源做的并不好,大多数开源项目也没有被很好的维护。比如前一段时间微博上流传关于 Tengine 的讨论,一个优秀的开源项目不止是公布源代码就 OK 了,还需要后续大量的精力去维护,包括制定 RoadMap、开发新功能、和社区交流、推动项目在社区中的使用、对使用者提供一定程度的支持,等等。

产品技术解读

When TiDB Meets Spark

本文整理自 TiSpark 项目发起人马晓宇在 Strata Data Conference 上分享的《When TiDB Meets Spark》演讲实录。

产品技术解读

Linearizability 一致性验证

上篇文章介绍了 TiDB 如何使用 Jepsen 来进行一致性验证,并且介绍了具体的测试案例,但是并没有对 Jepsen 背后的一致性验证算法做过多介绍。这篇文章将会深入 Jepsen 的核心库 knossos,介绍 knossos 库所涉及的 Linearizability(线性化)一致性验证算法。

产品技术解读

当 TiDB 遇上 Jepsen

本篇文章主要介绍 TiDB 是如何使用分布式一致性验证框架进行一致性验证的。

产品技术解读

TiSpark (Beta) 用户指南

TiSpark 是 PingCAP 推出的为了解决用户复杂 OLAP 需求的产品。借助 Spark 平台本身的优势,同时融合 TiKV 分布式集群的优势,和 TiDB 一起为用户一站式解决 HTAP (Hybrid Transactional/Analytical Processing)需求。 TiSpark 依赖 TiKV 集群和 PD 的存在。当然,TiSpark 也需要你搭建一个 Spark 集群。本文简单介绍如何部署和使用 TiSpark。

产品技术解读

罗马帝国:一个 Cache 友好高效的行列混存方案

今年,Spanner 终于发了另一篇 Paper,Spanner - Becoming a SQL System,里面提到 Spanner 使用了一种新的存储格式 - Ressi,用来支持 OLTP 和 OLAP。在 Ressi 里面,使用了 PAX 来组织数据。因为 TiDB 定位就是一个 HTAP 系统,所以我也一直在思考在 TiKV 这层如何更好的存储数据,用来满足 HTAP 的需要,既然 Spanner 使用了 PAX,那么就有研究的必要了。

产品技术解读

gRPC-rs:从 C 到 Rust

上篇文章中,我们讲到 TiKV 为了支持 gRPC,我们造了个轮子 gRPC-rs,本篇文章会简要地介绍一下这个库。

社区动态

十分钟成为 Contributor 系列 | 重构内建函数进度报告

为了方便社区同学更好地参与 TiDB 项目,本文一方面对继上一篇文章发布后参考社区的反馈对表达式计算框架所做的修改进行详细介绍,另一方面对尚未重写的 built-in 函数进行陈列。

案例实践

TiDB Best Practice

本文档用于总结在使用 TiDB 时候的一些最佳实践,主要涉及 SQL 使用、OLAP/OLTP 优化技巧,特别是一些 TiDB 专有的优化开关。建议先阅读讲解 TiDB 原理的三篇文章(说存储,说计算,谈调度),再来看这篇文章。

申砾
2017-07-05
产品技术解读

工欲性能调优,必先利其器(2)- 火焰图

本篇文章将介绍一下,我们在 TiKV 性能调优上面用的最多的工具 - 火焰图。

社区动态

十分钟成为 Contributor 系列 | 为 TiDB 重构 built-in 函数

为了加速表达式计算速度,最近我们对表达式的计算框架进行了重构,这篇教程为大家分享如何利用新的计算框架为 TiDB 重写或新增 built-in 函数。

产品技术解读

深入了解 gRPC:协议

经过很长一段时间的开发,TiDB 终于发了 RC3。RC3 版本对于 TiKV 来说最重要的功能就是支持了 gRPC,也就意味着后面大家可以非常方便的使用自己喜欢的语言对接 TiKV 了。gRPC 是基于 HTTP/2 协议的,要深刻理解 gRPC,理解下 HTTP/2 是必要的,这里先简单介绍一下 HTTP/2 相关的知识,然后再介绍下 gRPC 是如何基于 HTTP/2 构建的。

观点洞察

来自 PingCAP CEO 的信:说在 B 轮融资完成之际

平时技术说得多,今天说点走心的。

刘奇 黄东旭 崔秋
2017-06-13
案例实践

使用 Ansible 安装部署 TiDB

作为一个分布式系统,在多个节点分别配置安装服务会相当繁琐。Ansible 是基于 Python 的自动化运维工具,糅合了众多老牌运维工具的优点实现了批量操作系统配置、批量程序的部署、批量运行命令等功能,而且使用简单,仅需在管理工作站上安装 Ansible 程序配置被管控主机的 IP 信息,被管控的主机无客户端。选用自动化工具 Ansible 来批量的安装、配置、部署 TiDB 。本文介绍如何通过 Ansible 工具来批量安装,使整个过程简单化。

产品技术解读

三篇文章了解 TiDB 技术内幕 - 谈调度

任何一个复杂的系统,用户感知到的都只是冰山一角,数据库也不例外。前两篇文章介绍了 TiKV、TiDB 的基本概念以及一些核心功能的实现原理,这两个组件一个负责 KV 存储,一个负责 SQL 引擎,都是大家看得见的东西。在这两个组件的后面,还有一个叫做 PD(Placement Driver)的组件,虽然不直接和业务接触,但是这个组件是整个集群的核心,负责全局元信息的存储以及 TiKV 集群负载均衡调度。本篇文章介绍一下这个神秘的模块。这部分比较复杂,很多东西大家平时不会想到,也很少在其他文章中见到类似的东西的描述。我们还是按照前两篇的思路,先讲我们需要什么样的功能,再讲我们如何实现,大家带着需求去看实现,会更容易的理解我们做这些设计时背后的考量。

申砾
2017-06-06
产品技术解读

工欲性能调优,必先利其器(1)

最近在排查 TiDB 性能问题的时候,通过工具发现了一些问题,觉得有必要记录一下,让自己继续深刻的去理解相关工具的使用,也同时让同学们对类似问题的时候别再踩坑。

产品技术解读

三篇文章了解 TiDB 技术内幕 - 说计算

上一篇介绍了 TiDB 如何存储数据,也就是 TiKV 的一些基本概念。本篇将介绍 TiDB 如何利用底层的 KV 存储,将关系模型映射为 Key-Value 模型,以及如何进行 SQL 计算。

产品技术解读

三篇文章了解 TiDB 技术内幕 - 说存储

数据库、操作系统和编译器并称为三大系统,可以说是整个计算机软件的基石。其中数据库更靠近应用层,是很多业务的支撑。这一领域经过了几十年的发展,不断的有新的进展。很多人用过数据库,但是很少有人实现过一个数据库,特别是实现一个分布式数据库。了解数据库的实现原理和细节,一方面可以提高个人技术,对构建其他系统有帮助,另一方面也有利于用好数据库。研究一门技术最好的方法是研究其中一个开源项目,数据库也不例外。单机数据库领域有很多很好的开源项目,其中 MySQL 和 PostgreSQL 是其中知名度最高的两个,不少同学都看过这两个项目的代码。但是分布式数据库方面,好的开源项目并不多。 TiDB 目前获得了广泛的关注,特别是一些技术爱好者,希望能够参与这个项目。由于分布式数据库自身的复杂性,很多人并不能很好的理解整个项目,所以我希望能写一些文章,自顶向下,由浅入深,讲述 TiDB 的一些技术原理,包括用户可见的技术以及大量隐藏在 SQL 界面后用户不可见的技术点。

产品技术解读

基于 Tile 连接 Row-Store 和 Column-Store

在之前的 Kudu 的文章里面已经提到过,行列混存是一个非常有意思的研究方向,因为不同的存储方式有不同的针对应用场景,但作为技术人员,折腾是天性,所以大家都在研究如何融合行存和列存,让一个服务能尽量满足大部分应用需求,而这也是 TiDB 在努力的方向。

产品技术解读

Kudu - 一个融合低延迟写入和高性能分析的存储系统

Kudu 是一个基于 Raft 的分布式存储系统,它致力于融合低延迟写入和高性能分析这两种场景,并且能很好的嵌入到 Hadoop 生态系统里面,跟其他系统譬如 Cloudera Impala,Apache Spark 等对接。

观点洞察

演讲实录|黄东旭:Cloud-Native 的分布式数据库架构与实践

4 月 19 日,我司 CTO 黄东旭同学在全球云计算开源大会上,发表了《Cloud-Native 的分布式数据库架构与实践》主题演讲,以下为演讲实录。

社区动态

如何从零开始参与大型开源项目

我们欢迎所有的具有气质的开发者能和 TiDB 一起成长,一起见证数据库领域的革新,改变世界这事儿有时候也不那么难。

社区动态

十分钟成为 TiDB Contributor 系列 | 添加內建函数

最近我们对 TiDB 代码做了些改进,大幅度简化了添加內建函数的流程,这篇教程描述如何为 TiDB 新增 builtin 函数。首先介绍一些必需的背景知识,然后介绍增加 builtin 函数的流程,最后会以一个函数作为示例。

产品技术解读

TiKV 功能介绍 - Raft 的优化

在分布式领域,为了保证数据的一致性,通常都会使用 Paxos 或者 Raft 来实现。但 Paxos 以其复杂难懂著称,相反 Raft 则是非常简单易懂,所以现在很多新兴的数据库都采用 Raft 作为其底层一致性算法,包括我们的 TiKV。

产品技术解读

TiDB 的正确使用姿势

最近这几个月,特别是 TiDB RC1 发布后,越来越多的用户已经开始测试起来,也有很多朋友已经在生产环境中使用,我们这边也陆续的收到了很多用户的测试和使用反馈。非常感谢各位小伙伴和早期用户的厚爱,而且看了这么多场景后,也总结出了一些 TiDB 的使用实践 (其实 Spanner 的最佳实践大部分在 TiDB 中也是适用的,MySQL 最佳实践也是),也是借着 Google Cloud Spanner 发布的东风,看了一下 Spanner 官方的一些最佳实践文档,写篇文章讲讲 TiDB 以及分布式关系型数据库的一些正确的使用姿势,当然,时代也在一直发展,TiDB 也在不停的进化,这篇文章基本上只代表近期的一些观察。

观点洞察

Spanner - CAP, TrueTime and Transaction

最近大家非常关注的一件事情就是 Google Spanner Cloud 的发布,这应该算是 NewSQL 又一个里程碑的事件。在本篇文章中,唐刘同学与大家分享了他自己对 Spanner 的理解,Spanner 的一些关键技术的实现以及与 TiDB 的相关对比。

产品技术解读

TiKV 功能介绍 - Lease Read

在 TiKV 里面,从最开始的 Raft log read,到后面的 Lease Read,我们一步一步的在保证线性一致性的情况下面改进着性能。后面,我们会引入更多的一致性测试 case 来验证整个系统的安全性,当然,也会持续的提升性能。

产品技术解读

TiKV 功能介绍 - PD Scheduler

在前面的文章里面,我们介绍了 PD 一些常用功能,以及它是如何跟 TiKV 进行交互的,这里,我们重点来介绍一下 PD 是如何调度 TiKV 的。

产品技术解读

TiKV 功能介绍 - Placement Driver

Placement Driver (后续以 PD 简称) 是 TiDB 里面全局中心总控节点,它负责整个集群的调度,负责全局 ID 的生成,以及全局时间戳 TSO 的生成等。PD 还保存着整个集群 TiKV 的元信息,负责给 client 提供路由功能。

产品技术解读

TiKV 源码解析系列 - multi-raft 设计与实现

本文档主要面向 TiKV 社区开发者,主要介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读文档之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。

产品技术解读

TiKV 源码解析系列 - 如何使用 Raft

本系列文章主要面向 TiKV 社区开发者,重点介绍 TiKV 的系统架构,源码结构,流程解析。目的是使得开发者阅读之后,能对 TiKV 项目有一个初步了解,更好的参与进入 TiKV 的开发中。需要注意,TiKV 使用 Rust 语言编写,用户需要对 Rust 语言有一个大概的了解。另外,本系列文章并不会涉及到 TiKV 中心控制服务 Placement Driver(PD) 的详细介绍,但是会说明一些重要流程 TiKV 是如何与 PD 交互的。TiKV 是一个分布式的 KV 系统,它采用 Raft 协议保证数据的强一致性,同时使用 MVCC + 2PC 的方式实现了分布式事务的支持。

观点洞察

分布式系统测试那些事儿 - 信心的毁灭与重建

本话题系列文章整理自PingCAP下文Meetup第26期刘奇分享的“深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为下篇。

产品技术解读

TiKV 的 MVCC(Multi-Version Concurrency Control)机制

事务隔离在数据库系统中有着非常重要的作用,因为对于用户来说数据库必须提供这样一个“假象”:当前只有这么一个用户连接到了数据库中,这样可以减轻应用层的开发难度。但是,对于数据库系统来说,因为同一时间可能会存在很多用户连接,那么许多并发问题,比如数据竞争(data race),就必须解决。在这样的背景下,数据库管理系统(简称 DBMS)就必须保证并发操作产生的结果是安全的,通过可串行化(serializability)来保证。

产品技术解读

Percolator 和 TiDB 事务算法

本文先概括的讲一下 Google Percolator 的大致流程。Percolator 是 Google 的上一代分布式事务解决方案,构建在 BigTable 之上,在 Google 内部用于网页索引更新的业务。TiDB 的事务模型沿用了 Percolator 的事务模型。

产品技术解读

解析 TiDB 在线数据同步工具 Syncer

TiDB 是一个完全分布式的关系型数据库,从诞生的第一天起,我们就想让它来兼容 MySQL 语法,希望让原有的 MySQL 用户 (不管是单机的 MySQL,还是多机的 MySQL Sharding) 都可以在基本不修改代码的情况下,除了可以保留原有的 SQL 和 ACID 事务之外,还可以享受到分布式带来的高并发,高吞吐和 MPP 的高性能。

产品技术解读

MPP and SMP in TiDB

本篇文章整理自第 21 期 PingCAP Infra Meetup 上申砾分享的《MPP and SMP in TiDB》内容。

观点洞察

分布式系统测试那些事儿 - 错误注入

本话题系列文章整理自PingCAP下文Meetup第26期刘奇分享的“深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为中篇。

产品技术解读

TiDB 作为 MySQL Slave 实现实时数据同步

由于 TiDB 本身兼容绝大多数的 MySQL 语法,所以对于绝大多数业务来说,最安全的切换数据库方式就是将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方,这样对业务方实现完全没有侵入性下使用 TiDB 对现有的业务进行备份,应对未来数据量或者并发量增长带来的单点故障风险,如需上线 TiDB,也只需要简单的将业务的主 MySQL 地址指向 TiDB 即可。

观点洞察

分布式系统测试那些事儿 - 理念

本话题系列文章整理自PingCAP下文Meetup第26期刘奇分享的“深度探索分布式系统测试》议题现场实录。文章较长,为方便大家阅读,会分为上中下三篇,本文为上篇。

观点洞察

Building a Reliable Large-Scale Distributed Database - Principles and Practice

日前,PingCAP Engineering VP 申砾受邀参加 2016 中国开源年会,并发表了《Building a Reliable Large-Scale Distributed Database - Principles and Practice》主题演讲。本文为演讲实录。

产品技术解读

回到过去,找回遗失的珍宝 - TiDB 的历史读功能

数据作为业务的核心,关系着整个业务的生死,所以对于数据库来说,数据的安全性是放在首位的,从宏观角度来看,安全性不仅仅在于的数据库本身足够稳定不会主动的丢失数据,有的时候更是对业务本身甚至人为失误造成损失是否有足够且便捷的应对方案,例如在游戏行业中经常遇到的反作弊(作弊玩家回档)问题,对于金融业务的审计需求等等,如果在数据库层面上提供相关机制,会让业务开发的工作量和复杂度减少很多。

观点洞察

How do we build TiDB

首先我们聊聊 Database 的历史,在已经有这么多种数据库的背景下我们为什么要创建另外一个数据库;以及说一下现在方案遇到的困境,说一下 Google Spanner 和 F1,TiKV 和 TiDB,说一下架构的事情,在这里我们会重点聊一下 TiKV。因为我们产品的很多特性是 TiKV 提供的,比如说跨数据中心的复制,Transaction,auto-scale...

观点洞察

演讲实录 | 黄东旭:分布式数据库模式与反模式

日前,PingCAP 联合创始人兼 CTO 黄东旭在「2016中国数据分析师行业峰会(CDAS)」 “数据库与技术实战”分论坛上,分享了《分布式数据库模式与反模式》的主题演讲。本文为演讲实录。

产品技术解读

TiKV 事务模型概览,Google Spanner 开源实现

随着时代的发展,应用和数据的规模越来越大。然而在这个一切都可以水平扩展的时代,你会发现,大多数应用的最下层的关系型数据库,竟然难以找到一个优雅易用的水平扩展解决方案,一直以来不得不依赖静态 Sharding ,牺牲掉事务,然后在业务层各种 Workarounds。作为后端开发者应该深有体会。

黄东旭
2016-09-01
产品技术解读

基于 Raft 构建弹性伸缩的存储系统的一些实践

最近几年来,越来越多的文章介绍了 Raft 或者 Paxos 这样的分布式一致性算法,且主要集中在算法细节和日志同步方面的应用。但是呢,这些算法的潜力并不仅限于此,基于这样的分布式一致性算法构建一个完整的可弹性伸缩的高可用的大规模存储系统,是一个很新的课题,我结合我们这一年多以来在 TiKV 这样一个大规模分布式数据库上的实践,谈谈其中的一些设计和挑战。

观点洞察

云时代数据库的核心特点

最近几年,随着云计算相关技术的发展,各种不同类型的云层出不穷,服务越来越多不同类型的企业业务,传统企业也渐渐开始探索上云的道路。在云上,作为业务最核心的数据库,相比之前的传统方案会有哪些变化呢?在正式聊云时代的数据库特点之前,我们需要了解一下目前云时代架构发生的变化

产品技术解读

TiDB 中的子查询优化技术

子查询优化一直是 SQL 查询优化中非常难的一部分,尤其是关联子查询的改写。TiDB 为了兼容 MySQL,允许用户在任何位置编写子查询。对于非关联子查询,TiDB 会对其进行提前求值,对于关联子查询,TiDB 会尽可能的对其进行去关联化,例如改写成 SemiJoin。本文会重点介绍 TiDB 对关联子查询的优化手段。

产品技术解读

TiDB 下推 API 实现细节 - Union Scan

TiDB 集群的架构分为上层的 SQL 层和底层的 KV 层,SQL 层通过调用 KV 层的 API 读写数据,由于 SQL 层的节点和 KV 层节点通常不在一台机器上,所以,每次调用 KV 的 API 都是一次 RPC, 而往往一个普通的 Select 语句的执行,需要调用几十到几十万次 KV 的接口,这样的结果就是性能非常差,绝大部分时间都消耗在 RPC 上。为了解决这个问题,TiDB 实现了下推 API,把一部分简单的 SQL 层的执行逻辑下推到 KV 层执行,让 KV 层可以理解 Table 和 Column,可以批量读取多行结果,可以用 Where 里的 Expression 对结果进行过滤, 可以计算聚合函数,大幅减少了 RPC 次数和数据的传输量。