黄东旭解析 TiDB 的核心优势
602
2024-01-24
导读在刚刚结束的 PingCAP 用户峰会 2023 上,PingCAP 创始人兼 CEO 刘奇分享了题为“创新涌动于先”的演讲,全面解析了 AI 时代 TiDB 的演进方向,宣布 TiDB Serverless 正式商用,并携手用户代表发布了面向中国企业级用户的平凯数据库。
以下是演讲实录全文,阅读需约 8 分钟 过去一段时间,我拜访了全球各地的客户,聆听他们的挑战和建议,以及 PingCAP 是如何帮助他们解决挑战的在这个过程中,我们也看到一些新的技术发展趋势当下,AI 技术非常火,到处都是各种各样的 AI Demo,每家企业都在思考这样一个问题:。
AI 到底有没有可能重塑软件行业?我的答案是——AI 这次真的要重塑整个软件行业了。
AI 重塑软件行业作为一家软件公司,我们思考的问题直接体感通常有两个:一个是代码,一个是数据 先从代码说起,大家有没有意识到,很多人在过去一段时间不自觉地变成了程序员今天,我们向 ChatGPT 提问题,它会给我们一个答案;向它提要求,它会给我们一个结果。
比如我们可以让 ChatGPT 做总结、写文章,或者让它生成图片大家可以回忆一下,在 AI 时代到来之前,所有这些工作都需要用程序去完成我们需要用各种各样的辅助工具,那些东西都需要编程开发而今天,我们没有写任何一行代码,只是提了个需求,结果就有了。
以前,这需要很多程序员很长时间努力才能得到一样的结果而现在,我们向 AI 发命令、提要求、提问题就能拿到结果,事实上就等于完成了编程工作现在,自然语言已经成为最热门的编程语言在过去七个月的时间里,GitHub 上新增代码中已经有超过 46% 是由 AI 生成的。
如果从软件开发效率的角度看,AI 实际上已经完成差不多一半的人类工作 再说数据,我们今年一月份发布了一个 AI 生成 SQL 的产品,叫 Chat2Query(前往 tidbcloud.com 立即注册体验),用户使用 Chat2Query 就不需要再写 SQL 了,只要用自然语言描述一下希望得到什么数据,希望做一个什么分析,SQL 便会自动生成,只要在数据库里运行一下,就能得到想要的结果,并且还能用图表化的形式自动展示出来。
上图右侧是 PingCAP CTO 黄东旭在 GitHub 上的个人数据看板以前要实现这样一个数据看板,需要一个前端程序员、需要一个数据分析人员写 SQL 来分析数据,还需要一个后端程序员部署服务,甚至还需要知道一点云的知识,理解如何把应用部署在云上。
到了今天,这变成一件非常简单的事情,只需十分钟,一行代码都不用写这是一次巨大的生产力提升,AI 带来的能力让数据消费的门槛变得极低以前,我们必须是一个 SQL 的专家,才能分析数据有人曾经写过一万多行的 SQL 来处理一个分析需求,这个东西不是人类能轻易掌握的。
如今,这个门槛已经降到人人都有可能做到这意味着我们只要能够连接上电脑,能和 AI 交互,能接触到数据,就可以消费数据这个数量级可能达到 10 亿人在接下来的几年里,由数据消费门槛降低带来的数据消费人数的增加,数据消费频次的增长,将使数据呈 10-100 倍规模的增长,这是一个远超我们预期的增速。
AI 时代,我们需要怎样的数据库技术?以上改变,将给数据库带来巨大的挑战,数据消费的门槛降到人人可用的程度,需要每个人都有一个数据库可用早在四五年前,我和 CTO 黄东旭探讨过一个话题——如果 PingCAP 要为全世界所有开发者提供一个免费的数据库,那这个数据库的架构应该是什么样? 。
我们希望这个数据库能够做到实时在线,随时都可以访问,随时都可以用;我们也希望它是一个开放的生态,因为我们不仅仅有存在数据库里面的数据,还有很多存在其他地方的数据,我们需要有一个生态能够和所有数据消费端做更好的对接。
后来,我们形成了一个结论,起码它应该是个云原生的架构如果不是云原生的架构,我们就没有办法去应对各种各样弹性的需求;今天,一个用户相对容易预测,那为全球所有开发者都提供一个免费的数据库,就意味着我们会有数千万甚至数亿的用户,这个数据库怎么才能做得到?它需要很强的数据整合能力;其次,因为不同用户的需求是不一样的,数据量也不同,我们需要它有非常强的弹性扩展能力。
过去这两年的变化特别快,大家感知最直观的可能是宏观经济变化很快,其实除此之外,AI 技术的进步速度也非常快从 ChatGPT 在去年 11 月底推出,到今天才过去短短八个月的时间这八个月中已经创造了无数新的纪录,包括一个新的项目在 GitHub 上面获得 Star 的数据、ChatGPT 用户增长的速度等等。
大家在面对大量新技术的时候,都做出了最直观的选择,那就是拥抱先进性过去一段时间我在与美国、日本的客户交流时,最直接的感受是每个人都在讨论两个方向,一个是成本,另一个是效率在当前经济环境下,这几乎成了所有人的共同选择。
客户的关注点就是 TiDB 的焦点如果仔细观察 TiDB 发展的轨迹,你就会发现用户对数据库的关注点,其实和 TiDB 实际解决的问题是高度一致的TiDB 在稳定性、性能、高可用性、易用性、工具生态的提升等方面付出了巨大努力。
但我们认为这件事光努力还不够,我们还需要有一个非常好的演进策略以及分层的架构设计
在内部,我们有一个说法叫做 API First,各个模块之间优先设计 API(接下来我们也会推出更多基于 Open API 规范的 API 测试),有了 API 之后系统就很容易被其他各种各样的业务系统集成。
举个例子,各大型用户基于 TiDB 都有自己公司内部的运维平台,通过我们提供的 API 能更好地融合到客户内部的平台里在日本我和一个客户交流的时候,对方专门提到过这一点过去他们需要花几天时间才能完成新版本的集成,但有 API 之后只要花几分钟就能做到。
TiDB 整个系统除了模块化的切分,也做了很好的纵向切割,从上到下分成三层比如 Chat2Query 在最上面一层,这层会更关注整个系统的交互性、易用性,如何让系统更加自动化、更加智能;在 SQL 层主要关注如何提升它的稳定性,让它变得更加智能。
比如 TiDB 的优化器如何更智能地选择,到底使用行存还是列存,还是让行列同时使用;最下面是内核层,所有人对此的关注点都一样,就是高可用、高性能
在内核层,TiDB 的存储引擎使用了一个持续升级的策略——部署一代、研发一代、预研一代今天我们听到的所有关于 TiDB 的讨论,其实都是基于部署一代的体感,不少用户还使用着 TiDB 3.0、4.0,而这已经是四五年前的版本了。
当然我们也希望用户能更快升级到最新版本,享受到新版本带来的优势,每一个新版本都会带来巨大的性能和稳定性提升7.0 版本发布的实验特性 Partitioned Raft KV 就带来了巨大的性能提升前面预测未来几年数据会扩大 10 倍,部分领域会扩大 100 倍,在如此大的数据规模下面我们的数据库能力是不是也能同步扩大 10 倍、100 倍?这是 Partitioned Raft KV 解决的问题。
我们预研一代的存储引擎 Cloud Storage Engine 已经在后面要提到的 TiDB Serverless 中应用,我们的 CTO 黄东旭在后面的演讲和 Blog 中都有详细的解读 如果大家留心就会注意到,过去一年时间里 TiDB 的 Online DDL 的速度提升了 10 倍。
设想一下,我们有一个 100TB 的表,加一个索引要多久?对系统资源的消耗又是什么样的?除了 DDL,还有一点是 TiDB 的扩缩容的速度在这个引擎里面提升了 5 倍,这也意味着数据丢失的风险降低 5 倍,业务中断的风险降低 5 倍。
平替还是跃迁?TiDB 产品家族的协同演进经过多年发展,TiDB 目前已经拥有三大产品家族:一是面向企业级市场的 TiDB 企业版,服务于企业级关键业务场景;二是全托管的 TiDB Cloud,提供云端一栈式 HTAP 数据库服务,已经成为欧洲、北美、日本、亚太地区众多数字原生企业的选择;三是刚刚正式商用的 TiDB Cloud Serverless,一个 AI Ready 的数据库,以极简架构、极致体验和超低门槛为云上开发者、创业公司提供低至零成本的选择,较 TiDB 社区版和 MySQL RDS 更具成本优势。
TiDB 是如何在多个版本间协同演进的?从上图可以看出,最上面有一个 TiDB 的 Open Core,TiDB 的所有这些版本都是基于共同的 Root 生长出来,去适应不同的客户和不同的使用场景
TiDB 企业版已经拥有很多大行、大型企业的使用经验,他们有些是从数据库一体机迁移过来的,在迁移过程中和 TiDB 一起积累了大量的迁移经验最近 MySQL 5.7 马上就要结束产品生命周期(End of Life)了,用户应该怎么办?换一个数据库平替一下?我们的思路不一样,我们希望的是用户不仅仅是从 MySQL5.7 迁移到 TiDB,更要关注的是他迁移过来之后的获得的价值到底是什么。
我们希望 TiDB 提供的价值是“可持续、可扩展、可整合”很多企业都有大量的 MySQL 5.7 ,有成百上千个 instance,管理和维护它们都是非常复杂的事情TiDB 提供了资源共享的多租户能力,我们可以把更多的 MySQL 实例整合到一个或者多个 TiDB 集群,极大提升资源利用率,从而降低硬件成本,同步降低管理集群的成本。
最近我们和一个客户交流,他们有很多 MySQL 实例,有的利用率不高,就直接降级,从原来的 8C 配置,直接降成 4C 或 2C 配置过了一段时间,业务这边有个流量把系统卡死了,再给升级一下过一段时间流量又下来了,再降级。
这就很头疼,运维和开发的关系就很难处,降本增效的压力很大这么多的 MySQL instance 一旦迁到 TiDB 上面,基于 TiDB 本身的资源共享能力,流量超了几倍都没问题,这就可以带来非常显著的降本增效。
接下来是 TiDB Cloud,它在过去几年里得到了全球客户的认可,包括欧洲最大的移动出行公司 Bolt,北美新锐的 SaaS 公司 Catalyst,印度最大的电商 Flipkart,日本著名的游戏公司 CAPCOM 等等。
最后是 TiDB Serverless四年前,我亲手写下第一行源代码,探索新一代云上 Serverless 架构,这是预研一代的成果非常幸运,预研一代的速度远远超出我们的预期,它现在已经正式商用了过去几个月的时间里,TiDB Serverless beta 版已经拥有超过 1 万个活跃的集群。
Serverless 带来了什么样的价值和能力呢?第一,低成本零元起步TiDB Serverless 完成了 PingCAP 的一个梦想,我们有能力为全球每一个开发者提供一个免费的数据库 我想稍微分享一个内部的小故事,最早 TiDB Cloud 的 free tier 成本是现在的 100 多倍。
我们内部有个笑话,自己总是调侃说我们是“贵司”“贵司”是什么意思呢?TiDB “贵”因为比较的对象是 MySQL,作为一个分布式系统,TiDB 跟一般的系统比成本肯定高,起步就三个副本,还有计算层、调度层,跟单机比肯定是贵了。
很幸运的是, TiDB Serverless 出来之后“贵司”终于不“贵”了得益于 TiDB Serverless 采用的完全分离式的架构,不仅仅做到了存算分离,我们还做到了算算分离、存存分离,整个系统的弹性非常强,同时它的使用异常简单,用户体验非常好。
我们收到大量用户的赞誉,超出了自己的预期 大家都希望把自己的时间精力投资在自己的创新上面,投资在自己的业务上面,尽量不想再花时间在数据库上面,将所有复杂的事情都交给系统,交给 PingCAP 完全自动化处理。
过去,大家可能会很好奇,这听起来好得有点过了,能做到吗?凭什么? TiDB Serverless 为什么比社区版更便宜?今天我们在云上面使用数据库或者使用传统的 RDS,不管是什么数据库,本质上都是买一个虚拟机,按照最高的峰值要求配置,不管你的业务现在跑的是什么量,哪怕 CPU 利用率是 1%,你也必须为它的 100% 利用率付费。
这就是一个传统的计费模式,永远为最高的峰值付费 TiDB Serverless 的创新在于,你永远只为你正在使用的资源付费举个例子,你现在假设有 10 TB 的数据跑在 TiDB Serverless 上面,你没有任何访问,那所有的计算节点全部会被自动 shutdown,但你可以在百毫秒的时间内就马上让它启动提供服务。
这是一个巨大的进步,用户仅仅为使用付费,使用曲线长什么样,TiDB 的计费就会长什么样这就是为什么 TiDB Serverless 能够做到比现在的 RDS,比云上面部署社区版还要便宜,只要这个 CPU 的利用率低于 20%,全自动的弹性就会带来巨大的成本优势。
今天,不管你使用的是经典的单机数据库、开源数据库还是云端的数据库,TiDB 都提供了成本更低,扩展性更强,更加省心的选择 面向中国企业级用户,发布平凯数据库TiDB 源于中国,很多关键特性也来自于中国复杂的用户场景,毫无疑问中国市场就是 TiDB 的根据地和大本营。
最近我们和很多中国用户沟通交流,他们给了我们非常多的反馈,很多反馈都非常有价值,特别是对于 TiDB 未来发展的预期和展望我们发现,TiDB 企业版经过五年的打磨,更多是面向全球用户提供通用性的功能,但是这些功能对于中国企业级用户来说还远远不够。
当下,随着 TiDB 逐步进入中国用户的核心场景以及 TiDB 规模化进入国产化生态,面向中国企业级用户的“平凯数据库”正式发布了。
简单来说,平凯数据库主要包含 TiDB Open Core 的稳定内核以及满足中国企业用户的增强级企业功能第一,提供国产化需求的企业级功能,包括图形化管控平台、全链路数据迁移平台、安全特性等等;第二,提供更完善的国产化生态系统的接入功能,包括国产软硬件的适配,比如操作系统、服务器等等;第三,提供更完善的国产化企业级服务支持能力。
未来,我们希望平凯数据库站在 TiDB LTS(长期支持版)的基础上能为中国的客户带来更好的价值,我们希望这个过程是开放的,会定期在国内各个区域组织用户讨论交流的活动,我们希望大家能一起参与到未来平凯数据库的建设中来。
PingCAP 用户峰会
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。