360 智能商业业务线经验分享:TiDB 写热点调优实战
作者介绍:代晓磊,现 360 商业化数据库运维专家,TiDB User Group Ambassador,负责整个智能商业业务线数据库运维,解决各种数据库疑难问题,推广 TiDB 等新开源数据库应用。360 智能商业业务线从 2019 年 3 月份开始使用 TiDB,目前线上有 5 套 TiDB 集群…
赛程刚过 1/3,什么操作让性能提升 150+ 倍?
作者:姚维11 月初我们开启了一项社区新活动「TiDB 性能挑战赛」(Performance Challenge Program,简称 PCP),这项积分赛将持续 3 个月,选手将完成一系列难度不同的任务,赢得相应的积分。目前赛程刚刚过去三分之一,已经取得了十分耀眼的阶段性成果:过去…
你呼呼大睡,机器人却在找 bug?
曾在 Hacker News 上看到过一个 Oracle 工程师处理 bug 的 日常:先花两周左右时间来理解 20 个参数如何通过神奇的组合引发 bug。改了几行代码,尝试对 bug 进行修复,提交测试集群开始跑近百万个测试 case,通常要 20~30 小时。运气好的话会有 100 多个 ca…
TiDB Binlog 源码阅读系列文章(六)Pump Storage 介绍(下)
作者:Chunzhu Li在 上篇文章 中,我们主要介绍了 Pump Storage 是如何对 binlog 进行持久化存储、排序、配对的。在文中我们提到 binlog 的持久化键值存储主要是由 valueLog 组件完成的。同时,大家如果在上文点开 writeToValueLog 代码阅读的话会发现在其…
汽车之家从 SQL Server 到 TiDB 的异构变迁
以下文章来源于微信公众号之家技术,作者之家技术架构组。SQL Server + .Net 是很多早期互联网企业的标配技术栈,虽然 TiDB 是兼容 MySQL 协议和生态的数据库,但是 TiDB 适用的业务场景是通用的。在开源新技术大行其道的今天,如何从 SQL Server 无缝迁移…
流量和延迟减半!挑战 TiDB 跨数据中心难题
众所周知,在对可用性要求极高的行业领域(比如金融、通信),分布式数据库需要跨地域的在多个数据中心之间建立容灾以及多活的系统架构,同时需要保持数据完整可用。但这种方式同时也带来了一些问题:跨地域的网络延迟非常高,通常在几十毫秒左右,洲际间更…
TiKV Engine SIG 成立,硬核玩家们看过来!
作者:Yi WuTiKV 是一个开源项目,我们一直都欢迎和感激开源社区对 TiKV 所作出的贡献。但我们之前对开源社区的合作主要是在代码审阅和散落在各种社交媒体的线下讨论,开发者并没有合适的途径去了解和影响 TiKV 的开发计划。怎么才能更好的帮助大家找到组织…
开源社区怎么玩?明星项目 TiKV 的 Maintainer 这样说……
知乎技术平台团队负责人孙晓光有一个新的身份:开源分布式事务 Key-Value 数据库 TiKV项目的 Maintainer。Maintainer 是 TiDB/TiKV 开源社区的角色之一,是社区中较高级别的代码贡献者,项目的规划和设计者,拥有合并主干分支的权限。一般来说从开始贡献代…
揭秘 TiDB 新优化器:Cascades Planner 原理解析
作者:MingCong Han在《十分钟成为 Contributor 系列 | 为 Cascades Planner 添加优化规则》中,我们简单介绍了 Cascades 的相关背景知识,本文将为大家深入介绍 TiDB 新的优化器——Cascades Planner 的框架及原理。TiDB 当前优化器简介关系型数据库中查询…
十分钟成为 Contributor 系列 | 为 Cascades Planner 添加优化规则
作者:崔一丁到今天为止,“成为 Contributor 系列”已经推出了 “支持 AST 还原为 SQL”,“为 TiKV 添加 built-in 函数”,“向量化表达式”等一列活动。这一次借着 TiDB 优化器重构的契机,我们将这个系列再向着数据库的核心前进一步,挑战一下「为 TiDB…
如何成为高效率的工程师
作者: @唐刘 本文转载自唐刘老师个人简书,原文链接:https://www.jianshu.com/p/c523b5e7a271 最近看了一本书,叫做 《The Effective Engineer》,中文名翻译过来大概就是《高效率工程师》这种吧。收益良多,决定写一下读书笔记,因为书里面的 Engineer 大部分指的就是从事…
TiDB 最佳实践系列(六)HAProxy 的使用
作者:李仲舒HAProxy 是一个使用 C 语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于 TCP 和 HTTP 的应用程序代理。GitHub、Bitbucket、Stack Overflow、Reddit、Tumblr、Twitter 和 Tuenti 在内的知名网站,及亚马逊网络服务系统都在…
TiKV 源码解析系列文章(十五)表达式计算框架
作者:骆迪安上一篇 《TiKV 源码解析系列文章(十四)Coprocessor 概览》讲到了 TiDB 为了最大化利用分布式计算能力,会尽量将 Selection 算子、聚合算子等算子下推到 TiKV 节点上。本文将继续介绍 Coprocessor 中表达式计算框架的源码架构,带大家看看 SQL…
Unified Thread Pool | Hackathon 2019 优秀项目介绍
作者:夏锐航本文由逊馁队的成员夏锐航同学主笔,介绍 Unified Thread Pool 项目的设计与实现过程。该项目实现了在 TiKV 中使用一个统一的自适应线程池处理读请求,能够显著提升性能,并可预测性地限制大查询对小请求的干扰,最终在 TiDB Hackathon 2019 中…
TiDB-Wasm 原理与实现 | Hackathon 优秀项目介绍
作者:Ti-Cool上周我们推送了《让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案》,向大家展示了 TiDB-Wasm 的魅力:TiDB-Wasm 项目是 TiDB Hackathon 2019 中诞生的二等奖项目,实现了将 TiDB 编译成 Wasm 运行在浏览器里,让用户无需安装就可以使…
如何玩转 TiDB 性能挑战赛?本文教你 30 分钟快速上手拿积分!
作者:wish上周我们正式宣布了 TiDB 性能挑战赛。在赛季内,通过向 TiDB、TiKV、PD 贡献代码完成指定类别任务的方式,你可以获得相应的积分,最终你可以使用积分兑换礼品或奖金。在性能挑战赛中,你首先需要完成几道 Easy 的题目,积累一定量积分后,才能开…
TiDB 最佳实践系列(五)Java 数据库应用开发指南
作者:Su Li, Zhang MingJava 是当前非常流行的开发语言,很多 TiDB 用户的业务层都是使用 Java 开发的,本文将从 Java 数据库交互组件开发的角度出发,介绍各组件的推荐配置和推荐使用方式,希望能帮助 Java 开发者在使用 TiDB 时能更好的发挥数据库性能。…
让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案
一直以来都有个梦想:希望有一个数据库能够弹性扩展(分布式)到成百上千节点的规模,易于学习和理解,可以运行在私有云、公有云、Multi-Cloud、Kubernetes,也能够跑在嵌入式设备(比如树莓派)上,更酷的是也能够直接运行在浏览器里,而且不需要任何浏览…
无挑战,不 Geek!TiDB 性能挑战赛等你来战
如果说,人类进化动力源于挑战:想突破速度,于是从太空飞行追逐到量子世界;想追求稳定,于是在万变之中,求不变之道;想打破繁复,于是用 1 台智能手机集成 N 种必需品,大道至简……那么,挑战充满不确定性的未来,就是 TiDB 这款开源产品的不断进化的内…
TiKV 源码解析系列文章(十四)Coprocessor 概览
作者:Shirly本文将简要介绍 TiKV Coprocessor 的基本原理,面向想要了解 TiKV 数据读取执行过程的同学,同时也面向想对该模块贡献代码的同学。阅读本文前,建议读者对 TiDB 整体架构有所了解,先阅读三篇文章了解 TiDB 技术内幕:说存储、说计算、谈调度。…