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