GopherChina 2017PingCAP Engineering VP 申砾《Go in TiDB》

Posted PingCAP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GopherChina 2017PingCAP Engineering VP 申砾《Go in TiDB》相关的知识,希望对你有一定的参考价值。

在今天的 GopherChina 2017 上,我司 Engineering VP 申砾带着《Go in TiDB》主题演讲,出台啦~~本次演讲,申砾同学主要分享了:TiDB 的主要特性,TiDB 的整体架构(特别是 SQL 层的一些东西),以及 PingCAP 团队在开发过程中使用 Golang 的一些经验。

【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》

大部分人都用过数据库,但是真正自己开发过数据库或者是看过一些数据库实现的人可能不多。申砾同学在现场从 SQL 的角度介绍了 TiDB 的核心流程。

【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》

Architecture - the Whole Picture 

【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》

Architecture - SQL Layer

而对于为什么选择了 Go 语言?它的魅力在哪里,它能解决哪些问题?

申砾认为主要是以下几点:

  • 首先是开发效率。构建一个如此大规模的系统,并且支持 SQL 这么复杂的东西,我们需要一门开发效率高、工程上优秀的语言。

  • Go 语言最大的特点就是并发写起来很舒服方便。这正适合一个需要抗高并发、需要做并行计算提速的数据库。

  • Go 的网络编程很简单。我们很容易写出高质量的网络程序。

  • GC。有了 GC 降低了很多心智负担,也降低了代码中出问题的概率。当然 GC 也会带来延迟和抖动、我们也需要很好的去和 GC 相处。

  • Go 有强大的标准库和丰富的第三方库,import 机制也很好用,很少出现缺失库的问题。

  • 另外 Go 官方还提供很多好用的工具。比如 pprof,trace 等,多次帮助我们定位了问题。

  • 性能对数据库至关重要,Go 语言运行速度非常不错,虽然还是赶不上 C/C++,但是已经让我们很满意。

  • Go 的开发还是很活跃。半年一个版本,每次都有令人兴奋的特性。这也给我们很好的支持。

【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》
【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》
【GopherChina 2017】PingCAP Engineering VP 申砾《Go in TiDB》

除了这些满满的干货,现场申砾同学还有“赋诗”一首 :)

May all the data find their own place,

May all the SQL queries speed up!

Come, and join us,

To make the best NewSQL database!

更多演讲细节,敬请期待后续的演讲实录哦~~

以上是关于GopherChina 2017PingCAP Engineering VP 申砾《Go in TiDB》的主要内容,如果未能解决你的问题,请参考以下文章

端点Terminus冠名GopherChina技术大会

Golang In PingCAP

安超云与PingCAP完成兼容互认证 携手打造协同生态

PingCAP DevCon 2021 万字长文回顾:预见数据技术的未来生态

PingCAP x 亚马逊云科技,为 TiDB 云端体验“加冕”

Behind TiDB 5.0 - 聊聊 PingCAP 的工程体系