本文主要从霸爷的骑行经历开始聊起,进而联系到数据库经历,从初识数据库谈及到云下转入云上,最后重点与大家分享了POLARDB 数据库。
今天的电梯访谈我们请来了褚霸和我们聊聊他的骑行与数据库人生。
以下是精彩内容整理:
骑行有很多乐趣,骑行给我无拘无束的感觉,骑行是一种激情,让我兴奋,享受着超越感。而数据库与骑行对我来说是相通的,坚持去做的事情一定是你有兴趣的事情,没有激情是很难做到极致,数据库与骑行一样,没有上限,投入精力越多,探索深度越深。
初识数据库
“我的梦想是做一个最牛X的数据库!”,尽管这是一句戏言,但也表露出我对数据库的热爱和野心。误打误撞或是机缘巧合,我从高性能服务器转做数据库,从最基础的MySQL代码开始学起,随着经验的积累,不断成长为如今的云数据库掌门人。
从仰望Orcale到现在和它做同样的事情,阿里云数据库实现了质的飞跃,阿里团队付出了很多。我们抓住了几个重要的机遇,比如历史的变革,2010年SSD出现,给我们很好的机会,在此场景下,原来系统不太适合,淘宝抓住了机会,淘宝的核心数据库都在这些硬件上跑,所以我们有很多场景,很多锤炼,双十一规模超大,每年都是七倍往上翻。
现在数据库团队的骨干都是和当年的我差不多资历的人,对于他们的执着我特别感动,因为许多事情看起来的确很枯燥,很佩服他们的工匠精神。我从他们身上学到了很多,看着他们的成长。
从云下到云上
传统的数据库厂商会上门谈生意,大多都是大客户或者是重要业务,业务的重要程度随着我国技术发展,对数据库的依赖程度会越来越高。相比云下 ,云上数据库的门槛较低,成本低就会有大规模的使用,在性能和分布性等方面会有各种需求,这样一轮轮的迭代,数据库的大需求是一个趋势,节奏会越来越快。
数据库从云下到云上的转换,也是中国国产数据库弯道超车的机会。借着国家的上升大势,各行各业都需要数据库,它会带动很多东西前进,需求会转化为对技术的变革倒推,再好的技术如果没有应用场景,都是无用的。
中国是世界上最大的数据库应用场景,目前,我们团队在做一款自研数据库。MySQL之所以火爆,是因为有大量的人使用,大量的人改进,大量的人扩展它的使用范围,致使它的能力得到很大提升,它是一个非常通用的数据库。在这种情况下,在此基础上想要有五倍、十倍的性能提升是非常难的。
我们摒弃了老方法,拥抱软硬件的大变革,比如RDMA的出现,也或者两台服务器间的RT 是7us,这与过去70us相差10倍;以前数据结构底层用的B-Tree是根据旋转磁盘设计的,今天如果仍然延用B-Tree,就不会有特别多的优势,我们需要更新的数据结构,更新的利用介质。通过这些技术的提升让很多不可能成为可能。
数据库本身设计时会考虑到很多东西,比如软件、网络技术包,多年来数据库的结构并没有什么变化,它的栈很深,一级级传递下来,我们不仅仅要跟上硬件的优势,还有赶上软件的步伐。传统的网络接收方式耗费很多CPU资源等,如今我们让其消耗更短更少。
POLARDB
在硬件红利的基础上,我们开发了全新的软件架构,让其很好的适配和驾驭硬件,当硬件和软件各方面都达到了极致,实现数量级的叠加时,我们是有可能创造出总体性能达到更好数量级的新东西。
POLARDB 就具备高性能特点,并且性价比很高,起初我们的设计目标并没有多大野心,只是希望当五年或十年后再回首时,我们会感觉到当初的设计是多么先进。
想要达到性价比高就必须有红利基础,性能高意味着成本低,另外我们从架构上去解决问题,比如过去MySQL是主备结构,完全被动接收,为了数据安全用户需要付两倍的钱,而且需要提供扩展和读写能力。而POLARDB 采用共享存储的模式,这得益于云计算的弹性能力,我们解决了存储扩展问题,一个实例可以扩展到P级别,这就解决了存储问题;还有延迟抖动问题,共享存储可以做到20~30us三副本落地,不需要再拷贝数据,天然解决很多问题;还有计算能力的扩展,我们的计算和存储是分离的,数据都是同步的,性能成本很低,无需再复制;数据库具有写能力,我们发散思维,对引擎做了大量改进,消减引擎使TPS或QPS能力提升5倍甚至10倍,进行物理复制,整个又是一个数量级的提升,因为很多公司可能一辈子都用不到容量的上限。
POLARDB 紧跟时代的步伐,尝试了他人不想尝试的,POLARDB 理念简单又直接。数据库的稳定性一直是重中之重,POLARDB 也十分注重稳定性问题。从第一天被设计开始,POLARDB 就被证明怎样才能如你预期工作,将认可的状态可视化,从根本上减少问题的发生,即使发生情况,我们也会很快知道,我们从代码、引擎、管控到支撑等拥有全套的解决方案,我们希望POLARDB 的稳定性也会有很大的提升。