黄东旭解析 TiDB 的核心优势
440
2018-12-20
内容来源:http://mp.weixin.qq.com/s?__biz=MzI3NDIxNTQyOQ==&mid=2247487545&idx=2&sn=2d3166978a06ea1450b9d5664f2951ce&chksm=eb163753dc61be450e1eee246143cda77563cf72f1b7ac350a4be4e92b402676cb5e2d246f3f#rd
在上周六的北京 Infra Meetup 上,我司 SRE 工程师殷成文、TiDB 开发工程师谢海滨带来了两场精彩的分享。以下是视频&文字回顾,enjoy~
谈谈 TiDB 背后的效率工程:
如何在三分钟内跑完千万测试 case
殷成文老师首先介绍了我们在保证 TiDB 正确性以及稳定性上做的一些事情,以及目前遇到的效率的问题, 然后逐个分析目前 CI 慢的原因以及分享我们是如何去解决这些问题的,并介绍了在优化过程中遇到一些坑。
流程上我们结合已有的基础架构选择了Jenkins with Kubernetes 的方式来解决之前出现的资源调度以及并发上的问题。殷成文老师分享了在使用的过程中遇到的一些坑,以及我们在网络结构上做的调整,提高与 github 交互的速度和稳定性。此外,我们为了减少网络 io 做的两层 cache,减少重复的下载上传操作。最后介绍了我们如何去优化具体 case 以及在优化 TiDB unit test 上用了哪些黑魔法。
Paper Reading
论文《Robust Query Optimization Methods With Respect to Estimation Errors: A Survey》链接:
https://hal.archives-ouvertes.fr/hal-01316823/document
此次分享谢海滨老师首先介绍了查询优化的相关背景知识,并简单的分析了估算查询代价不准的几个原因。接下来,该分享介绍了三种在查询误差存在情况下的优化方法:
在执行结束后,我们可以根据查询时得到的真实信息去更新统计信息,以减少之后查询的估算误差。
在执行过程中,可以物化中间结果,并根据真实的信息重新优化执行计划;或者对于某些查询计划,可以直接调整而不会丢失中间结果。
在执行开始前,通过考虑估算结果的概率分布,或者执行计划的对估算误差的敏感度,选择更健壮的执行计划。
* 后台回复"84"获取本期 PPT
PingCAP Infra Meetup
作为一个基础架构领域的前沿技术公司,PingCAP 希望能为国内真正关注技术本身的 Hackers 打造一个自由分享的平台。自 2016 年 3 月 5 日开始,我们定期在周末举办 Infra Meetup,与大家深度探讨基础架构领域的前瞻性技术思考与经验,目前已在北京、上海、广州、成都、杭州等地举办。在这里,我们希望提供一个高水准的前沿技术讨论空间,让大家真正感受到自由的开源精神魅力。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。