4

ClickBench 最新跑分排行榜,黑马出现!

 2 years ago
source link: https://blog.csdn.net/csdnnews/article/details/126365933
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

ClickBench 最新跑分排行榜,黑马出现!

记者:和平,责编:张红月

近期备受瞩目的 ClickBench 排行榜,出现了一匹黑马,在业界最为通行的 c6a.4xlarge, 500gb gp2 机型下,StarRocks 排名第一。要知道,ClickHouse 才是该榜单上长年稳坐第一的选手。

在揭晓黑马前,我们先认识下 ClickBench 和 ClickHouse。ClickBench 和 ClickHouse,都带有 Click,是不是有什么血缘关系?

没错,你猜对了!ClickBench 正是 ClickHouse 在 2013 年 10 月创建的分析型数据库跑分排行榜。ClickBench 通过从一周的页面点击数据中抽取 1/50,再从中抽取前 10 亿、1 亿、1000 万条的记录,来制作测试数据集。整个测试过程是在芬兰一个私人数据中心的集群上完成的,该集群为 3 节点,集群配置为 Xeon E2650v2,128GiB 内存,8x6TB HDD 硬盘 (RAID 6),10G 网络。

发起 ClickBench 的 ClickHouse 是全球知名的开源分析型数据库,最初起源于俄罗斯互联网巨头 Yandex,GitHub Star 近 2.5 万,其在 2021 年成立了商业化公司。ClickHouse 以性能彪悍而著称,在亿级数据集上比 Vertica 约快 5 倍、比 Apache Hive 快 279 倍、比 My SQL 快 801 倍,在十亿级数据库上比 Vertica 约快 5 倍,而 MySQL 和 Apache Hive 则无法在限定时间内完成。

ClickBench 测试范围包括:点击流和流量分析,网页分析,机器生成的数据、结构化日志,事件数据。典型查询场景为即席分析和实时仪表盘。测试数据集取自全球最大的网站分析平台之一的真实流量数据。在保留必要的数据分发的前提下,对所有数据进行了匿名化处理。查询并非直接来自生产环境,而是临时编辑成能反映真实负载的查询。

从 2013 年开始, ClickHouse、MonetDB、InfiniDB、Infobright、LucidDB、Vertica、Hive 以及 MySQL 均参与了测试。为了保证公平,ClickBench 榜单由一个没有 ClickHouse 经验的人主导。在 2016 年之前,这个榜单都是私底随机开展的。然而从 2016 年开始,榜单排行结果在 ClickHouse 的开源社区发布后,变成了对外公开的打榜测试。为了保证数据安全,ClickHouse 在 2019 年发布了 ClickHouse-obfuscator 工具,将隐私数据匿名处理,用安全的数据集做公开测试。后来 Greenplum、MemSQL (现在的 SingleStore)、OmniSci (现在的 HeavyAI)、DuckDB、PostgreSQL、TimescaleDB 等都参与了测试。

因为旧的测试集群天然对 ClickHouse 和网络分析数据友好,但是对其他系统和数据类型不友好,比如无符号整数(不支持标准 SQL),零字节字符串,定长字符串等。所以 2021 年的时候,ClickBench 破旧立新,建立了一个新的测试方案:

  • 数据集进行规范化处理,方便简单快速加载到多数系统中。
  • 规范化所有查询,来支持标准 SQL。这些 SQL 不会向 ClickHouse 倾斜好处、可以在每个系统上运行。
  • 实现测试自动化,让测试变得简单。只有在最坏条件下,才需要通过复制粘贴命令来运行简短的 shell 脚本。
  • 所有测试过程都可以在用户均能访问的虚拟主机上进行,并允许用户记录各类实例的运行结果。

想要在 ClickBench 测试中取得优异成绩,需要一个数据库具备出色的单机存储性能和单机执行性能。因为 ClickBench 的 SQL 都是单表的,所以对数据库的优化器能力要求不高,又因为 ClickBench 是单机部署测试,所以对数据库没有分布式能力要求。想要在 ClickBench 的 43 个 SQL 上都跑出优异成绩,需要一款数据库拥有出色的 Scan 能力、过滤能力、聚合能力、排序能力以及多核扩展能力,擅长处理应对高基数 Group By、高基数去重、正则匹配等场景。

ClickBench 是 ClickHouse 创建和使用的,但 ClickHouse 为了保证公平和对友商的尊重,多次强调自己不会在测试中做任何优化和调整。目前这套新的测试方案,对于其他友商的产品是比较容易使用的,可以在 20 分钟内完成结果复现。

近年来,因为 ClickHouse 单表查询性能享誉业界,ClickBench 榜单当前已经公布了几十家全球顶尖的分析型数据库的测试结果,包括:

在这里插入图片描述

说到这里,好奇心宝宝又有问题了,为什么 ClickHouse 自己作为运动员,还要充当裁判员,做一个分析型数据库跑分榜单呢?

ClickHouse 在 GitHub 上列举了一些同类跑分榜单的优缺点,比如 TPC-H、TPC-DS、TSBS、Brown University Mgbench、Mark Litwinschik’s NYC Taxi、Star Schema Benchmark 等等。优点就不多说了,ClickHouse 察觉的缺点主要包括“对于复杂查询有倾向性”、“需要官方认证”、“仅支持非常小的数据集”、“对 in-memory 数据库友好”。

ClickHouse 自己发起的 ClickBench,以可重复性(Reproducibility)、兼容性(Compatibility)、多样性(Diversity)、真实性(Realism)为目标,测试数据集来源于全球最大的网络分析平台之一,涵盖数据类型多样,所有上榜测试结果均可复现,能真实反映各大数据库在生产环境中的性能。不需要官方认证,也能支持大量和多样的数据集,没有明显的倾向性,对广泛数据库产品较为友好。测试按照机器型号分类,默认情况下,各数据库项目提交的版本会按照业界最为通行的 c6a.4xlarge, 500gb gp2 来进行测试。此外,被较多项目选择的还有 c6a.metal, 500gb gp2 等型号。此次打榜成功的黑马 StarRocks,就是在通用规模下获得了单表查询性能第一。

在这里插入图片描述

注:StarRocks(tuned)意为,StarRocks 开启了收集查询统计信息功能,以便更精准地查询估算与计划执行。来源:ClickBench链接

问题又来了,这匹黑马 StarRocks 是谁?

StarRocks 是刚成立 2 年的分析型数据库开源项目, 以“极速统一”作为价值主张。根据 StarRocks 中文社区的官方表述,StarRocks核心能力在于复杂查询、实时分析和数据湖分析,产品可以适用于固定报表、实时看板、实时风控、末端运营、用户画像等多场景。性能方面,单表查询性能已经领先于 ClickHouse,多表 Join 性能远超 ClickHouse。从公开的新闻报道里,包括腾讯、携程、顺丰、滴滴、京东、众安保险在内的不少大型中国企业都在使用 StarRocks,且分享了关于 StarRocks 的业务实践。StarRocks 从 2021 年开始开放源代码,目前在 Github 上的星数超过 3100 个、全球社区贡献者超过百位。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK