云计算的出现,加速了企业信息技术的发展。数据库是常用的基础软件之一,它通常能提供计算和存储的能力。虽然分布式数据库也做到了很好的扩展性,但它不能算是「云原生」。「云原生数据库」的核心,是要设计一种更加符合「资源弹性管理」这一理念、充分利用云平台池化资源、适配云平台已有的基础设置的数据库架构。由于云计算平台的存储和计算资源是可以分开扩展的,所以云原生数据库必定是存储计算分离架构。
本期我们有幸采访了拓扑岭CEO雷鹏雷老师,参与ITPUB系列专访活动,拓扑岭科技公司致力于国产云原生数据库的研发和推广。雷老师讲述了自己的工作、创业思维的转变、及云原生数据库如何为企业实现降本增效等经历,对公司发展的展望,和对开发者的一些建议。
问题1:您好,雷总!很荣幸有机会采访到您,先简单介绍一下您自己
我是拓扑岭的创始人雷鹏,我是个写了20年代码的老码农,拓扑岭是我的第二次创业,2015年拿到次创业,做存储引擎,从拿到风投到阿里云的大单,后来被字节收购。其实我刚参加工作的时候,从事的并不是互联网行业,因为那个时候次互联网泡沫刚破灭不久,大家对互联网行业都避之不及,认为底层技术才是保值的,所以我就去做了嵌入式,后来又去做网络安全,再后来进入互联网行业,像人人网,雅虎北研,奇虎360,再后来才是自己创业。
问题2:您在2021年创立了拓扑岭科技有限公司,是什么契机促使您做了这个决定呢?
可能很多人知道,我的上一家创业公司后来被字节跳动收购,当时我也随着收购,入职了字节跳动,期间我一直在反思,在思考,如果有重来一次的机会,我应该怎么做,才能把事情做成。拓扑岭,就是我的第二次尝试,之前我主要是从技术出发,目标是做出牛逼的技术,认为只要技术牛逼了,其它都不用操心,然而事实证明这是错误的。
所以,这次创业,我们从用户需求出发,打造一个用户真正需要的,真正对用户提供价值的产品。
问题3:云原生数据库方面与现有市面上相比有哪些优劣势?是否有做过相关的测试对比?
做真正的云原生数据库,不是喊云原生口号,而是要对数据库进行彻底的重新设计,把云计算的优势,充分地利用起来。
测试对比,Todis(兼容 Redis)已经做得非常充分了,相比竞品有压倒性的优势。MyTopling(兼容 MySQL) 我们自己还在内部测试中,我们对标的是 PolarDB,我们之前轻视了 PolarDB,近测试中我们才发现,PolarDB 的真的非常强悍,使用 sysbench,我们一开始只有压缩率和写性能明显占优(小3倍,快一倍),我们优化了一个月,现在有一些读指标也领先了,要更全面的领先,还需要时间。但是我们不能等那么久,这个月我们就要推出内测版,届时可能还有一些指标暂时落后于 PolarDB。
问题4:拓扑岭科技公司致力于国产云原生数据库的研发和推广,在自研数据库引擎 ToplingDB 工作中,曾遇到哪些难题?是如何进行解决的?
困难总是存在的,面对困难,我们需要逐个攻克,其实对于科技公司,技术上的困难,都不算困难,技术之外的困难,才是真的困难。比如说,我们推出的 Todis 内测版,是基于阿里云平台的,作为数据库服务,网络数据流量是非常大的,虽然阿里云有 PrivateLink,但流量费依然很贵,所以我们选择将用户网络与我们自己网络打通,从而走内网连接。
打通网络的这个操作流程比较复杂,我们写了非常详细的用户文档,但两周下来,没有一个用户能按照文档,完成网络打通,一个都没有!然后我们就写了一个自动化工具来打通内网,还录了一个7分钟视频教程,指导用户操作,就这个7分钟的视频教程,我们前后返工重录20多次,录好之后还进行了很多的编辑修改。然后,用户量一下就上来了,到目前为止,体验用户已经有100多人了,其中有不少人非常期待我们的商业版。我们有一个在线 demo 库,低的 2C16G 的规格,已经持续稳定运行了 4 个月,4个月来每秒平均写入流量 47M,累计写入超过 500TB,分布式Compact 累计流量超过 2PB。
另一方面,阿里云对单个账号的网络(VPC)数量是有限制的,我们的用户多了以后,因为针对每个用户,我们都要创建一个 VPC,这个限制很快就不够用了。但是阿里云的服务真的非常棒,我们提出问题之后,很快就得到了反馈和解决,因为阿里云极少有用户会有我们这样的用法,再加上我们是阿里云 OpenAPI 真正的深度用户,经常会碰到一些问题,也会有一些深度的需求,为此阿里云为我们拉了一个服务群,里面有数十个跨部门的专家跟我们对接。
问题5:新时代背景下,云原生数据库如何充分利用公有云存储和计算的弹性伸缩,达到真正为企业实现降本增效的目的?
所谓充分利用,其实就是佳匹配,软件设计对硬件基础实现佳匹配。OLAP 厂商早吃到了公有云存储和计算弹性伸缩的红利,象 snowflake,市值高超过千亿美金。OLAP 能吃这么饱,其原因就在于,公有云厂商的对象存储,像 AWS 的 S3,阿里云的 OSS,能提供 OLAP 需要的所有底层能力,容量、带宽、弹性伸缩。而计算方面,更早的时候云服务器就可以弹性的来交付了。
侏罗纪公园中有句话,Life will find a way,所以有了这些硬件基础,OLAP 厂商迟早都会崛起,不是 Snowflake,就是其它别的什么公司。
而独立的 OLTP 厂商就没有这么幸运了,因为硬件基础不具备,S3/OSS 的容量、带宽、弹性伸缩是够了,但是延迟太差!延迟太差对 OLAP 是无所谓的,因为 OLAP 没有实时性要求,秒级响应算是飞快了,一般在分钟级到小时级。
OLTP 要求毫秒级的响应延迟,甚至要求 P99 低于5毫秒,这在 S3/OSS 上是不可能的,而如果使用块存储的话,第三方厂商就要自己实现存储池,解决存储的弹性伸缩,而这块,是云厂商的领地,第三方厂商很难在这块跟云厂商竞争。
随着技术的进一步发展,新的数据中心100G网络已成标配,200G,400G网络与日俱增,所以,近几年云厂商的另一类存储产品,EFS(AWS)或者NAS(阿里云)弹性文件系统开始大量供应,有了 EFS 弹性文件系统,云原生 OLTP 数据库的硬件基础就完整了,并且,随着底层技术的进一步发展,EFS 的各项指标规格与性能参数也会持续提升。
另一项红利是,为了降低成本,云厂商的资源调度技术一直在持续改进,近年来,各个云厂商都推出了不同程度的“竞价实例”,例如 AWS 的 HotSpot Instance,阿里云的抢占式实例,价格低可以到1折,ToplingDB 就充分地利用到了这种计算资源!
问题6:拓扑岭的核心产品以及产品特性是什么?为何能获得业内广泛关注和用户的高度好评?
拓扑岭的核心产品是 Todis(兼容 Redis)和 MyTopling(兼容 MySQL) ,它们都架构在 ToplingDB 之上,都是真正的云原生数据库,都充分地利用了云平台的资源能力,实现了降本增效的目标。除了降本增效,拓扑岭的产品从一开始就是从用户的需求痛点出发的,在产品上,我先打造了一个对用户极其友好的插件化体系,然后,把我们之前的技术成果,放进这个体系之内。
能获得大家的关注和好评,我们是非常开心的,大家的肯定,说明我们的努力是有价值的,真正的价值是为用户创造价值,这是我们的终目标。
问题7:大厂有没有同类型产品?如果没有的话,MyTopling 的技术壁垒是什么?
单从产品形态上看,大厂有很多类似的产品,但是背后的技术、架构、实现方案有巨大差异。以 SQL 为例,几乎各个大厂都有自己的 SQL 产品,有些经过了十几年甚至更长时间的迭代演进,好处是稳定,但是在云原生时代,这些数据库赖以运行的硬件基础发生了根本性的变化,象资源池化、弹性伸缩,在之前的年代根本不存在,这些数据库自然不可能为此而从头设计。所以,具体到 MyTopling,我们的壁垒就在于,MyTopling 是从头开始,专门为云原生设计的,从上层架构到底层算法,都完美地匹配了云原生的硬件基础,这个是别人很难复制的。
问题8:拓扑岭科技公司的开源项目有很多,其中包括 Todis、MyTopling、ToplingDB,未来贵公司是否考虑持续开源呢?是否会开源其他新的产品?
拥抱开源,是大势所趋,Topling 的绝大部分代码都已经开源,除了 Todis、MyTopling、ToplingDB,我们的底层算法 ToplingZip,大部分性能组件也都是开源的,甚至于其它一些厂商通常不会开源的企业级功能,例如企业级监控、运维、在线观测系统,我们都是开源的。
并且,很多开源项目从上游分叉之后,就开始大搞差异化,并以此为卖点,用差异化功能绑定用户,而我们从一开始就秉持开放开源的态度,比如 ToplingDB 从 RocksDB 分叉过来,但我们的所有改进,只要是上游有可能接受的,都会提交给上游,从而让那些即便不使用 ToplingDB 的用户,也能享受到我们的改进。当然,对用户而言,直接使用 ToplingDB,能享受到更大的、立竿见影的收益。
问题9:您对未来云原生数据库的市场前景是否看好?有哪些建议吗?
云原生数据库,是大势所趋,整个产业在转向云原生的过程中,必然会有很多试错成本,优胜劣汰,物竞天择,市场不会说谎,能走到后的,必然是竞争力强的。所以我的建议就是,做云原生数据库,重要的就是,一定要把云原生底座利用好,如果做不到这一点,不可能在竞争中取胜。
问题10:您在数据库研发方面有近20年经验和行业成就,您对云原生数据库从业者是否有一些好的意见和建议?
对云原生数据库从业者而言,既然赶上了这趟快车,就一定要好好抓住机会,首先要深刻认识到云计算的本质,云原生又到底是怎么回事,从厘清概念开始,掌握各种相关技能,知识上既要有深度,也要有宽度,然后找到自己的兴趣点、擅长点,好是深入一个项目,日积月累,打造自己的核心竞争力。