说真的,腾讯技术实力挺强

职场   2024-10-25 12:06   北京  
太牛了。昨天我看到朋友圈有人转发腾讯云数据库 TDSQL 的新闻,在最近国际公认的性能测试 TPC-DS 中,TDSQL 同时刷新了性能和性价比的世界纪录,一跃成为该类测试的第一名。
1
TDSQL 是腾讯自主研发的金融级分布式数据库产品。去年我还写过,它曾在 TPC 组织的另外一项性能测试 TPC-C 中也拿到了第一的名次。能在世界范围内两项如此重要的性能测试中都拿到了如此好的测试结果,这着实不容易。
我先解释下,TPC 的全称叫事务处理性能委员会,是一个由十多家会员公司创立的非盈利组织。TPC-C 和 TPC-DS 都属于 TPC 下的系列测试项目。行业内,大家喜欢用这两项测试数据来客观了解一个数据库的技术实力。
其中,TPC-C 侧重事务场景(TP),TPC-DS 侧重分析场景(AP)。TP 和 AP 基本囊括了目前数据库的所有应用场景,并且,一个可见的趋势是,新一代的数据库都会兼顾 TP 和 AP 的能力。
这么说吧,腾讯云数据库 TDSQL 能同时在两个权威测试中取得世界最佳性能纪录,客观来讲,也意味着我们的国产数据库正迈向世界第一梯队的水平,到了可以和 Oracle 等老牌数据库厂商掰手腕的发展阶段。
现在 AI 大模型火热,人们经常会聊到芯片短缺,芯片卡脖子相关的话题。但其实,在基础软件领域,特别是数据库,也曾经有过类似的境遇。Oralce 当年在中国策马横刀,几乎处于垄断地位,我们国内那些年根本没有一个数据库能与之匹敌。
幸运的是,最近几年,我们的国产数据库慢慢跑了出来。
2
基础设施层面的追赶没办法一蹴而就,不是说今天砸钱,明天就能见成效。不是的,没有银弹,更没有所谓的弯道超车。扎实的基础设施产品需要优秀工程师们用一行行的代码和弥足珍贵的耐心日复一日的构建、迭代。
就像陈鸿宇歌里唱的那样:经戈壁,过断桥,踏落泥土香。
不可否认,Oracle 仍然是数据库领域的王者,但同时,我们也要看到,国产数据库目前正在迎头赶上。至少这次腾讯云 TDSQL 的打榜数据,能证明我们在技术上已经不再像多少年前那样一片荒芜。
其实,这从我们身边的具体案例也能看出来,不论是我的创业公司,还是周边几个朋友的公司,大家目前在选择数据库时,第一选择都已经是像 TDSQL 这样的国产数据库,因为不论是从性能,还是稳定性,抑或性价比的视角看,它们都是很好的选择。
拉长时间维度看,这些年,用户对数据库的需求正在发生变化。
早年诞生之初,数据库最典型的应用场景是交易,也就是事务(TP)。我给 A 转十块钱,那 A 的账户里必须多 10 块,而我的账户必须少十块钱。这个时期,数据库的核心能力是要保证高并发请求下 SQL 的准确执行,并且让吞吐量尽可能大。
后来,随着企业业务的发展,数据越来越多,数据表也越来越多。这时,传统的以交易场景为主的 TP 数据库在复杂查询方面的弱势越来越明显。所以,新一代的数据库就把分析(AP)的能力也囊括了进来。腾讯云数据库TDSQL 就是这种设计,通过 TP+AP 的融合架构,既可以支持高并发下事务的准确执行,又能够兼顾复杂的数据分析。
3
为什么 TDSQL 能够取得这么好的打榜成绩呢?
我查了下资料,发现 TDSQL 这些年还真做了不少的创新,并且它已经开枝散叶,应用到了各行各业之中。我知道的数据是,腾讯以及微众银行、平安银行等公司的核心业务系统目前都已经跑在了 TDSQL 之上。
TDSQL 采用的是分布式架构,并且做到了 TP/AP 的一体化。在这个大方向上,为了解决分布式架构的性能,提升复杂计算的效率,他们分别从软件和硬件两个方向下手自研。
为了把 CPU 单核的能力用到极致,他们采用星星海新一代服务器,这是行业内最新的基础设施。因为服务器属于深度定制,所以从软硬件协同的角度看,这也利于做到极致的配合。硬件的定制挺考验基础设施供应链能力,基本上也只有腾讯量级的公司才有可能做到。
软件方面,为了进一步提升分布式系统性能,以及复杂分析的效率,腾讯还自研了 MPP 架构、并行执行框架、列式存储等关键能力。
我简单解释下,因为分布式系统考验的是多个节点之间的相互协同和调度能力,这有点像团队协同一样,从整体最优的角度看,我们需要保证的是大家能够有机地互动起来,而不是忙的忙死,闲的闲死。
腾讯自研的 MPP 架构和并行执行框架其实就是在解决任务调度的问题。比如怎么不让任务之间互相阻塞,怎么调度不同的任务并行地运行,同时还要考虑互相依赖的关系。这确实是分布式系统中最核心的能力。
自研的列式存储,它是相对于关系型数据库的行式存储来说的。行式存储并不适合做海量数据下的复杂计算,它的优点在于写入和变更效率高,毕竟写入是一次性完成的。但在数据的读取过程中,这种优势又会变为劣势,很多时候,我们并不需要将整行数据完全读出。
列式存储是将数据以列为单位存储在磁盘上,每一列包含相同类型的数据。相比于行式存储,它更注重将同一属性的数据集中在一起,以提高读取效率和压缩比。所以,通常情况下,列存储的读取速度比行存储要快 10 倍。
能看出来, TDSQL 确实下了不少硬功夫。
2022 年,国资委 79 号文件提到, 2027 年关键行业要完成百分之百的数据库替代。现在,离这一节点还有三年时间。虽然老牌的数据库厂商在综合能力方面还有诸多优势,但 TDSQL 也让我们看到了诸多亮光。

MacTalk
墨问西东出品。在这里,我们聊互联网、职场、管理、创业、产品、软硬件、内容创作、人物、摄影等…… 不做快餐,用文字酿一杯葡萄酒,沉醉,回味悠长。
 最新文章