受美制裁,俄罗斯 ClickHouse 能否扛起数据库大旗?

随着俄乌冲突的持续,包括不少巨头在内的二十余家科技公司暂停了俄罗斯的所有服务。一时间,人们对俄罗斯科技实力,尤其是基础软件的水平格外关注。通过观察作为核心基础软件之一的数据库管理系统,我们可以对俄罗斯技术实力略知一二。

在全球知名的数据库流行度排名榜 DB-Engines 上,俄罗斯有 7 款产品上榜,其中排名第一的 ClickHouse 凭借其优异的性能表现目前位列 DB-Engines 榜单 46 名。

大数据领域从业者对 ClickHouse 应该非常熟悉了。这个最初由俄罗斯的 Yandex 公司研发并开源的数据仓库,以单表查询快名噪一时,一改传统 Hadoop 技术栈“笨、重、慢”的特点。ClickHouse 相对于 Hadoop 在性能方面有极大提升,也因此成为全球很多互联网公司数据分析的不二选择。

那么 ClickHouse 到底实力如何?在当今的大背景下还能否扛起俄罗斯数据库大旗?今天,我们通过和国产数据库新秀的 OushuDB 进行对比来一窥 ClickHouse 真正实力。让我们拭目以待!

关于 OushuDB

OushuDB 由偶数科技自主开发,偶数核心研发团队曾主导国际顶级的数据库开源项目。OushuDB 实现了高弹性、高性能、强扩展性、强兼容性等上层技术的变革,帮助企业轻松构建核心数仓、数据集市、实时数仓以及湖仓一体数据平台。

OushuDB vs. ClickHouse,TPC-H 测一测

为了更直观的比较 OushuDB 与 ClickHouse 的查询能力,我们用国际通用的数据库测试标准 TPC-H 对 OushuDB 和 ClickHouse 进行测试。TPC-H 是美国交易处理效能委员会 (TPC, Transaction Processing Performance Council) 组织制定的用来模拟决策支持类应用的一个测试集,目前在学术界和工业界普遍采用它来评价数据查询处理能力。

TPC-H 包括 22 个查询 (Q1~Q22),我们主要的评价指标是各个查询的响应时间,即从提交查询到结果返回所需时间,我们对两个平台在单节点环境和多节点(6 点)环境上分别运行这 22 条查询语句,来对比分析两者的数据仓库功能支持与查询性能差异。

测试结果

在可进行比较的查询语句中,OushuDB 单节点性能是 ClickHouse 的 5 倍以上,多节点在 ClickHouse 的 2 倍以上,其中 Query 3 快了 21 倍。OushuDB 性能优势显著。

在查询语句支持方面,OushuDB 支持 TPC-H 全部 22 条查询语句,ClickHouse 只支持其中的 9 条(单节点查询)和 6 条(多节点查询)。不支持原因包括 a)语法不支持;b)运行时报内存限制;c)运行严重超时几类问题。

单点环境 TPC-H 性能对比

数据量:100G
节点数:1

6 点环境 TPC-H 性能对比

数据量:600G
节点数:6

测试详情

测试步骤

a. 单节点环境具体步骤
i. 配置 OushuDB 集群;
ii. 导入 100G TPC-H 数据,运行 TPC-H 22 条 query;
iii. 配置 ClickHouse 集群;
iv. 导入 100G TPC-H 数据,运行 TPC-H 22 条 query。

b. 6 节点环境具体步骤
i. 配置 OushuDB 集群;
ii. 导入 600G TPC-H 数据,运行 TPC-H 22 条 query;
iii. 配置 ClickHouse 集群;
iv. 导入 600G TPC-H 数据,运行 TPC-H 22 条 query。

硬件环境

总结

经过测试,ClickHouse 在查询过程中出现大量兼容性或性能问题,完成率仅为 OushuDB 的 34%。在可进行比较的查询语句中,OushuDB 单节点性能是 ClickHouse 的 5 倍以上,多节点在 ClickHouse 的 2 倍以上,其中 Query 3 快了 21 倍。大规模数据查询与各行业实践更为接近,OushuDB 的性能优势就更为显著。

上述 TPC-H 测试也验证了 ClickHouse 作为数据仓库存在的一些局限。

1.SQL 标准兼容不完整

根据 TPC-H 22 条的查询语句输出,部分查询报出 DB::Exception: Missing columns 的异常,但是已验证表结构中该列存在,该报错也符合 ClickHouse 官方给出的文档资料。如 query2,query4,query 15 等。

2、内存使用超出配置

ClickHouse 使用内存设置为 32GB,仍然有部分查询报错:DB::Exception: Memory limit (forquery) exceeded,如单点 100G 数据查询的 query5、query7、query8 等,多点 600G 数据查询的 query3、uery5、query7、qeruy8、query13 等。

3、长时间无法返回查询结果

试图执行部分查询语句后长时间无法返回查询结果,设定超时时长为 3000 秒,在单点 100G 数据下,如 query19 未返回结果。

4、性能差距大

分别在单机处理 100G 数据和 6 节点集群处理 600G 数据后比对单个查询和查询总时间,发现对于 ClickHouse 可支持语句,单节点下总体时间 ClickHouse 是 OushuDB 的 5 倍左右,多节点下总体时间 ClickHouse 是 OushuDB 的 2 倍左右。多节点集群下部分查询所需内存更多,有更多查询报出 Memory limit 的异常,比如单节点 ClickHouse 耗时较长的 query3 在多点环境下无法运行。

5、架构差异明显

由于 ClickHouse 是 MPP 架构,存算耦合,集群规模受限,针对数据量较大的场景需要分库分集群,容易形成数据孤岛,扩容复杂。无法原生的部署到云上,发挥不了云上弹性和成本优势。

6、易用性相待改善

正如前文所讲,在测试过程中,OushuDB 一次性完成所有 Query,然而开源版的 ClickHouse 要想用好并不是很容易。所以很多企业用 ClickHouse 不但没有体验到它传说中的极速,反而由于 ClickHouse 颇高的使用门槛而屡屡遇到使用问题。

写在最后:

可以看到 ClickHouse 在诞生之初的确满足了企业对高性能的单表查询需求,开源加持下,在全球范围受到关注和支持也在情理之中。不过,随着数据价值的提升和数据量的爆发增长,越来越多的企业已不满足于高性能的单表查询,大规模、强敏态、高时效、智能化的趋势将不可逆。

其实早在今年 4 月,ClickHouse 官方网站就已经极力撇清与俄罗斯的关系,但在很多 DBA 和从业者看来,ClickHouse 仍然是一款源自俄罗斯的数仓神器。作为一名基础软件从业者,希望开源真的是无国界的。那么,ClickHouse 到底能否扛起俄罗斯数据的大旗呢?欢迎在下方留言讨论吧~~

评论
    test