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 技术内幕:说存储、说计算、谈调度。…
据说今年黑客马拉松项目又多又猛?| TiDB Hackathon 回顾
TiDB Hackathon 2019 在 10 月 27 日完美收官!北京、上海、广州三地共 39 支队伍参赛,两天一夜的 Hacking Time,大家围绕着「Improve」主题,为 TiDB 性能、易用性、稳定性、功能等各方面做出提升,最终 6 支队伍瓜分了一、二、三等奖的 15 万元现金奖励…
高效编排有状态应用——TiDB 的云原生实践与思考
作者: @吴叶磊 导语云原生时代以降,无状态应用以其天生的可替换性率先成为各类编排系统的宠儿。以 Kubernetes 为代表的编排系统能够充分利用云上的可编程基础设施,实现无状态应用的弹性伸缩与自动故障转移。这种基础能力的下沉无疑是对应用开发者生产力…
TiKV 项目首个 SIG 成立,一起走上 Contributor 进阶之路吧!
作者:Long Heneg社区是一个开源项目的灵魂,随着 TiDB/TiKV 新的社区架构升级, TiKV 社区也计划逐步成立更多个 Special Interest Group(SIG )吸引更多社区力量,一起来改进和完善 TiKV 项目。SIG 将围绕着特定的模块进行开发和维护工作,并对该模块代码…
TiDB 最佳实践系列(四)海量 Region 集群调优
作者:张博康在 TiDB 的架构中,所有的数据按照 range 划分成一个个 Region 分布在多个 TiKV 实例上。随着数据的写入,一个集群中会产生上百万,甚至千万个 Region。而量变引起质变,单 TiKV 实例上过多的 Region 无疑会带来比较大的负担,进而影响整个集群…
新架构、新角色:TiDB Community Upgrade!
作者:Jian Zhang经过几年的发展,TiDB 社区已经逐渐成熟,但是随着社区的发展壮大,我们逐渐感受到了现在社区架构上的一些不足。经过一系列的思考和总结,我们决定升级和调整目前社区组织架构,引入更多的社区角色和社区组织,以便更好的激发社区活力,维…
网易互娱的数据库选型和 TiDB 应用实践
作者介绍:李文杰,网易互娱计费组,高级数据库管理工程师,TiDB User Group Ambassador。一、业务架构简介计费组是为网易互娱产品提供统一登录和支付高效解决方案的公共支持部门,对内是互娱的各个游戏工作室,对外是国内外数百个渠道。由于业务场景的特殊…
TiDB 最佳实践系列(三)乐观锁事务
作者:ShirlyTiDB 最佳实践系列是面向广大 TiDB 用户的系列教程,旨在深入浅出介绍 TiDB 的架构与原理,帮助用户在生产环境中最大限度发挥 TiDB 的优势。我们将分享一系列典型场景下的最佳实践路径,便于大家快速上手,迅速定位并解决问题。在前两篇的文章…
Hands-on! 如何给 TiDB 添加新系统表
作者:黄东旭“TiDB,你已经是一个成熟的数据库了,该学会用自己的 SQL 查自己的状态了。”对于一个成熟的数据库来说,通过 SQL 来查询系统本身的状态再正常不过,对于 MySQL 来说 INFOMATION_SCHEMA 和 PERFORMANCE_SCHEMA 里面有大量的信息,基本上通过查…
TiDB Hackathon 参考选题扩充,组队参赛走起!
TiDB Hackathon 2019 已经开放报名 1 个多月啦,之前抓耳挠腮想不到选题、组不到队友的伙伴们都渐渐成队,并开始做赛前准备了。为了刺激围观同学的“灵感小火花”,我们今天又扩充了一波选题,如果大家还不知道做什么项目的话,择日不如撞日,今天就锚定一…
PD 调度策略最佳实践
作者:黄梦龙众所周知,PD 是整个 TiDB 集群的核心,负责全局元信息的存储以及 TiKV 集群负载均衡调度,本文将详细介绍 PD 调度系统的原理,并通过几个典型场景的分析和处理方式,分享调度策略的最佳实践和调优方法,帮助大家在使用过程中快速定位问题。本…
AutoTiKV:基于机器学习的数据库调优
作者:吴毅, 王远立TiKV 底层使用了 RocksDB 作为存储引擎,然而 RocksDB 配置选项很多,很多情况下只能通过反复测试或者依靠经验来调优,甚至连 RocksDB 的开发者都自嘲,他们没办法弄清楚每个参数调整对性能的影响。如果有一个自动 tuning 的方案就可以大…