0
2
1
0
专栏/.../

Beyond the scalability — 回顾 PingCAP 刘奇在日本用户大会上的部分演讲语录

 数据源的TiDB学习之路  发表于  2024-07-05

大家好(みなさん、こんにちは)。早上好!我叫 Max,是 PingCAP 的首席执行官兼联合创始人。我很高兴看到许多熟悉的面孔,也有很多新面孔。

我想借此机会表达我对大家信任和支持 TiDB 以及 PingCAP 日本的感激之情。感谢大家今天能够出席,特别感谢我们所有出色的演讲嘉宾和敬业的团队,是他们让这次活动得以成功举办。

今天,我们座无虚席,有超过 500 名参与者加入了我们,包括线上和线下不同地点的朋友。这不禁让我想起 9 年前,在第一次聚会上,只有少数几个人挤在一个小办公室里。那时,我并未意识到构建一个分布式数据库会有多么艰难。下面你们现在看到的是 TiDB v1.0 之前的第一个测试环境。它当时运行在一个分布式的树莓派集群上。

而如今,在右侧,你们可以看到一个图表,展示了从 2022 年到 2023 年各厂商的增长排名。我们的组织 PingCAP 以 97.9% 的显著增长率位居榜首。

我们为客户管理着超过 3 万个集群,并且我们在云端的年增长率超过 200% 。再次感谢我们的客户对我们的信任。

作为一家开源数据库公司,我们热爱数据、数字。让我们回顾一下去年我们取得的一些关键里程碑:

  • 最大的 TiDB 集群拥有超过 1.2PB 的数据。
  • TiDB Cloud 已经能够支持我们的一位顶级客户,在生产环境中接近 15 K 个 vCPU
  • 单个 TiDB 集群的吞吐量已超过 230 万 QPS

这并非 TiDB 的极限,这些数字只是客户们所达成的成就。

我与我们的客户进行了许多交流,并学到了很多东西。我最喜欢问的一个问题是:选择TiDB的首要原因是什么?

最常见的回答是可扩展性。TiDB的架构设计证明了它是可扩展的,测试结果也证实了这一点。

在与客户的多次交流中,我们有了越来越多的收获。我意识到,对于数据库的可扩展性,存在许多不同的定义。

你们心中想到的是哪些词呢?我们可以花几秒钟时间思考一下。。。

我总结了一下,关于可扩展性最常见的词汇是数据量吞吐量。这并不令人意外。但,仅此而已吗?

首先,你可以使用 TiDB 来处理PB级的数据和数百万的 QPS。这非常的有意义。

当你拥有很多的数据和很高的 QPS 时,很有可能你会与数据库建立大量的连接。你需要确保数据库能够轻松地处理这些连接。

当你拥有很多的数据时,我猜你有一个非常成功的软件即服务(SaaS)平台。从根本上说,这个平台是一个多租户架构。每个租户都有一个模式(schema)和许多表,你可能会有成千上万到数百万个表。那么,数据库是否能够处理这种情况呢?

当您拥有大量的表或数据时,您需要一种分布式的方法来并发执行所有的数据定义语言(DDL)操作,比如添加索引,以确保不会因为这些操作而无限期地等待。想象一下,如果需要对 100 万张表添加索引,那将是一个极其耗时的过程。

接下来你需要做的是确保相同的查询能够跨不同的租户使用相同的查询计划。例如,你可能希望强制某个查询计划使用特定的索引,因为这个索引是最优的。但是,如果你有数千个表或数百万个表,相信我,你不会想手动编写并绑定查询计划命令一百万次的。幸运的是,TiDB 提供了某种形式的 “通用绑定功能” 或 “批量绑定命令” ,允许你通过单个命令来实现这一点。这非常的炫酷。

对于拥有可扩展数据库的系统来说,快速处理大量批处理作业是至关重要的,特别是对于银行系统和金融科技公司而言,生成或导入数以 TB 计的数据是非常常见的需求。为了满足这种需求,数据库必须能够以分布式的方式处理数据,这样随着服务器数量的增加,处理速度也能相应提升。

备份与恢复虽然不是最新的技术潮流,也不是最引人注目的功能,但它却是企业运营中的基石。确保在进行备份与恢复时系统能够保持可扩展性,并在处理 PB 级数据时能够迅速完成,这是至关重要的。

当您的业务蓬勃发展并拥有众多客户时,特别是对于那些与金钱紧密相关的应用场景,实时仪表盘成为了不可或缺的需求。客户需要一致且实时的数据视图来监控业务运营状况,以便及时做出决策。

在这种情况下,利用数据库内置的 HTAP(Hybrid Transactional/Analytical Processing,混合事务/分析处理)能力来处理这类工作负载是非常明智的选择。HTAP 数据库设计用于同时支持在线事务处理(OLTP)和在线分析处理(OLAP)需求,无需对代码进行任何修改即可实现实时数据分析和仪表盘展示。

非常棒!当您的业务蓬勃发展并希望将其扩展到全球各地,跨越不同的云平台或部署到您自己的数据中心时,TiDB正是您所需要的解决方案。

在探讨了可扩展性的多个维度之后,我们需要深入思考可扩展性的基本原则或第一原则。

可扩展性的根本原则是系统能够从零开始逐步扩展到很大的规模,而无需进行任何重大的设计更改。

这是我们从客户那里学到的。我们的客户希望专注于他们的业务。而我们需要做的就是确保数据库不会成为阻碍您业务的因素。

以下是这个快速的总结,关于可扩展性需要考虑的一切。

0
2
1
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论