最近想替东家找一个靠谱的仓库,用来把业务上跑出来的数据汇聚起来,做一些业务洞察。先前租用的clickhouse,据说只存了几个G的数据,却连续几天出现OOM,只能重启实例续命。
经过一搜索,看到两则关于TPC数据库公开测试集的报导,一则是ali屠榜,一则是databrick挫败ali。以下是个人的一番探究:
TPC何方神圣?
TPC:事务处理性能委员会( Transaction Processing Performance Council ),是由数10家会员公司创建的非盈利组织,总部设在美国。
官方网站是https://www.tpc.org/,从域名可以看出,这是个协会组织,不是商业机构。从其外观风格也可以看出,已经是旧时王谢堂前。
榜单靠谱吗?
应该说有一定的代表性,毕竟数据集和测试方法是公开的,有本事的都可以来跑分。另外,专门设了个性价比的指标,驱逐了堆硬件狂魔。
当然,有些世外高人根本不屑于上台比武,也在情理之中。
- 打个比方:
在小型机(minicomputer)构成企业用户的主要基础设施的年代,如果要标榜自家服务器的强悍实力,一般就会列举自己的TPCC成绩。相当于:不服跑个分时,这就是大家认可的跑分标准。
-
都有哪些玩家?
陈容还是相当豪横的,组织成员名单在十年前应该是欧美的天下,比如oracle、IBM、DELL。当然还有美国的……富士、日立。如今华为、阿里、信通院、清华也入群了。
换句话说,十年前是IOE的天下,如:IBM、Oracle、EMC(被DELL收购了);信创时代,阿里们去IOE,顺手把红旗插上了这个山头。
领先多少?
阿里云上给出详细的测评环境、跑分结果,可以看这个链接:
https://help.aliyun.com/document_detail/155980.html
结论:处理百亿条甚至更多量级的数据时实现毫秒级计算。
配置旗鼓相当
7节点、72核、440G内存
基于标准测试集的测试
这部分拼的是SQL查询。把aliyun官方的结果表格简化一下,只保留总时间是这样的:
测试样本 | AnalyticDB MySQL版 | Presto | 执行时间增加倍数 | Spark | 执行时间增加倍数 |
---|---|---|---|---|---|
总时长(s) | 260.8 | 614.6 | 1.357 | 1243.93 | 3.77 |
可以认为名为AnalyticDB的数据库,速度是presto、spark的1.357倍、3.77倍。
总体还是领先了一个身位吧。
讲没讲武德?
对于测试过程的公平性,有两点疑虑,我也试图求证了一下:
(1)有没有特殊的优化存在?比方说某些索引、分片策略可以使查询速度出现巨大的差异;有时候PK对象上缺少必要的调优,也可能导致其性能塌方。看文中对此有说明:AnalyticDB 无优化、presto和spark都有部分优化(但我感觉在配置中,内存可能未被充分应用,未仔细推敲)。
(2)PK对象版本够新吗?
看了一下,presto只有0.274(https://github.com/prestodb/presto),不清楚报告里提到的Presto3.3.1是怎么获得的。
而对于spark所用的版本,写了两个presto,我相信笔误了,后一个2.4.5应该是指的spark的版本。但“本次性能测试时间为2020年12月”,为什么不用当时已经发布的spark3.0.1或者spark2.4.7呢?
贵不贵?
-
价目表算有点复杂,这很有某云的风格
官方举例:
包年包月模式下,地域选择华东1(杭州),购买弹性模式集群版(新版)。根据业务情况估算出需要的计算资源为64核256 GB(相当于4个计算节点,每个节点为16核64 GB),共计需要使用6个月。
预付费的基础计算资源费用:2717.5元/节点/月×4个节点×6个月=65220元。
这个配置,低于打榜的配置,一年12万。如果升级到跑分打榜的配置,一年应该20左右吧(没有具体核过)。
写在最后
最初看到榜单被屠,内心非常振奋:洋厂在数据库领域一手遮天的时代,俱往矣!
冷静下来看,横扫的对象可能已经有点老朽,胜之不武。
最遗憾的是,这性价比对于一众小破厂来说,还是有点鸡肋。