ClickHouse 认证开发人员考试

图片

本文字数:3982;估计阅读时间:10分钟

本文在公众号【ClickHouseInc】首发

Meetup活动

ClickHouse Shanghai User Group第1届 Meetup 开启报名,详见文末海报!

最近 ClickHouse 官方首次推出了 ClickHouse 认证开发人员的考试。提升您的职业生涯至行业顶尖水平!报名参加我们的官方 ClickHouse 认证考试,证明您的 ClickHouse 专业技能。

参加此考试无需特定先决条件,但我们强烈推荐您参加 ClickHouse 开发者培训课程——您可以选择自学或由讲师引导的形式,课程内容涵盖以下所有考试目标。

课程学习网站:

https://learn.clickhouse.com/visitor_catalog_class/show/1328973

图片

点击“Enrool”按钮后免费注册登录,然后即可进入课程学习页面。

图片

此认证考试推荐负责应用开发、数据摄取、建模、查询效率及优化的 ClickHouse 专家进行系统的学习。

  • 这是一场基于上机实操的考试。

  • 考试时长为 2 小时。

  • 每次考试费用为 200 美元。

  • 考试语言是英语。

考试目标

为了充分准备并通过 ClickHouse 认证开发人员考试,考生应该能够在可以访问 ClickHouse 文档并使用 clickhouse-client 或 ClickHouse SQL 控制台的情况下,成功完成以下任务。

数据建模

  • 创建一个新数据库

  • 创建一个满足特定标准或符合特定文件格式的新表

  • 选择合适的数据类型来提高列的效率

  • 根据将要在 MergeTree 表上执行的查询类型,定义一个高效的主键

数据插入

  • 将本地文件插入表中

  • 将云存储中的文件插入表中

  • 将 Parquet、CSV 或 TSV 文件插入表中

  • 在插入时对列进行简单转换

  • 将数据从一个表插入到另一个表中

数据分析

  • 编写满足特定标准的查询

  • 编写使用常规函数的查询,例如在字符串列中搜索子字符串,或将时间戳转换为时间间隔的起始时间

  • 编写使用聚合函数的查询,例如找到一列的最大值/最小值/总和/平均值,或唯一值的数量,或特定分位数

  • 使用 GROUP BY 按指定的时间范围或分组标准计算聚合值

优化查询性能

  • 定义物化视图,存储非聚合查询的结果

  • 定义物化视图,使用 AggregatingMergeTree 或 SummingMergeTree 表引擎存储聚合函数的结果

  • 在表上定义投影

  • 在表上定义 set 或 minmax 跳过索引

数据去重和变更

  • 对表执行轻量级删除操作

  • 使用 ReplacingMergeTree 表引擎实现高效的 upsert 策略

  • 使用 CollapsingMergeTree 表引擎实现高效的频繁更新策略

要成为 ClickHouse 认证开发人员,您需要通过我们的实践上机考试。考试要求您在受监督的环境中完成一系列 ClickHouse 集群上的实操上机工作任务。

成功通过考试的人将获得一个独特的 ClickHouse 认证开发人员数字徽章,可以在社交媒体上分享或向管理层展示。

图片

如有任何问题,请发送电子邮件至 certifications@clickhouse.com。

下面是 OpenMeter 的专家 Márk Sági-Kazár 分享的通过以上认证考试的经验总结。

为什么要学习 ClickHouse?

ClickHouse 特别适用于实时数据分析,是目前增长最快的数据库之一,已被 Cloudflare、Netflix、OpenMeter 等多家公司广泛应用。即使你目前没有使用需求,了解 ClickHouse 和列式数据库技术仍然是有价值的。

大多数软件工程师在职业生涯中会使用到各种数据库,如关系数据库管理系统(RDBMS)比如 Postgres、文档型数据库如 MongoDB,或偶尔的图数据库。作为一种列式数据库,ClickHouse 在众多数据库中表现突出。

大多数数据库虽然主要用于数据建模、存储及状态管理,但ClickHouse 的强项在于其快速分析大型数据集的能力。在当今数据驱动的快节奏商业环境中,企业决策往往依赖于他们积累的全部信息。

因此,即使你当前职位中不需要 ClickHouse,也很可能会遇到其可以大显身手的场景。即使 ClickHouse 不是你的首选解决方案,它也能有效教你如何处理大型数据集。学习 ClickHouse 不仅可以拓展你对数据库技术的了解,还能提升你的数据处理能力,帮助你准备好面对数据分析的各种挑战。

如果这些还不足以说服你,那么我还有一个理由:ClickHouse 很有趣。它易于本地部署和操作,你可以轻松加载数据并执行分析查询。

我强烈推荐你试一试。

如何避免学习 ClickHouse 踩坑?

当我第一次接触 ClickHouse 时,我以为它只是“面向列的 SQL”,这种想法让我一开始就误入歧途。虽然熟悉的语法初期有帮助,但 ClickHouse 与如 Postgres 这类关系数据库有本质的不同。认识到这些差异,并准备重新定义你在其它数据库管理系统中学到的概念是很重要的。

比如,ClickHouse 中的主键、索引和表变更的工作方式与众不同。理解这些细节对于充分利用 ClickHouse 的潜力至关重要。

现在,让我们了解如何开始学习 ClickHouse。

开始学习的方法

ClickHouse 团队提供了多种资源,以帮助你有效地学习。

一个很好的起点是查阅官方文档,你可以从中了解基本概念。这些文档写得非常好,也是我开始 ClickHouse 学习之旅的地方。此外,ClickHouse 培训也是我强烈推荐的一个资源。

ClickHouse 提供以下两种培训方式:

  • 按需培训:允许你按自己的节奏学习。

  • 基于讲师的现场培训:提供与现场讲师互动的学习体验。

目前,这两种培训都是免费的。

根据你的学习风格,选择最适合你的方式。我偏好自主探索学习内容并花时间实践,因此选择了按需培训。

按需课程包含 12 个模块,从解释 ClickHouse 的基础概念开始,逐步引导你成为高效的用户。每个模块包含一节 15 至 30 分钟的视频课,随后是一到两个动手操作练习,每个练习大约需花费一小时。

虽然我已经很久没有参加过这样的培训了,通常是因为难以保持参与感,但 ClickHouse 的培训让我收获颇丰。其内容易于理解,讲师提供的解释和示例非常有益。

我建议你从阅读文档开始,然后参加培训。花费 12 小时进行学习,鉴于其带来的价值,这并不多。

完成培训的技巧

使用 ClickHouse Cloud

讲师和我都强烈推荐在培训期间使用 ClickHouse Cloud。虽然本地运行 ClickHouse 也很简单,但使用 ClickHouse Cloud 在培训时更为方便。

首先,ClickHouse Cloud 的 SQL 控制台比开源版本更优秀。尽管你可以使用 CLI 或其他 GUI 客户端,我发现云端的客户端更易使用,还可以保存并稍后查看你的查询。

特别是解释分片和复制的模块,需要更复杂的设置。虽然这些设置在本地也能实现,但在初学阶段,你可能不希望在此花费太多时间。使用云服务,你可以轻松获得所有这些功能,无需额外努力。

ClickHouse 提供的免费试用完全足够完成培训,因此你无需支付任何费用就可以开始学习。

文档是你的好帮手

文档在培训中非常有用,以多种方式帮助了我。

首先,它为培训模块中讨论的主题提供了额外信息。我发现在查阅文档并阅读相关部分后,这些信息在每节课中都很有帮助。尽管讲师的解释已经很到位,但额外的背景信息有助于我更深入地理解 ClickHouse 的工作机制。

在动手实验中,文档同样证明非常有用。因为我学习新语法较慢,所以我会保持 SQL 参考页面打开,便于快速查找需要使用的关键字或函数。

适时休息

可能很想一气呵成地完成所有十二个模块。我之前就是这样做的,但后来发现这种方式不太适合。

给自己一些时间让新信息在你的大脑中沉淀,尤其是当学习在 ClickHouse 中有所不同的熟悉概念(例如主键)时。

完成一个模块后,休息几分钟或者一个小时。记住,这是一场持久的学习之旅,而非短暂的冲刺。

参加认证考试

在我完成培训几天后,ClickHouse 宣布了其首个开发者认证考试,我也参加了这个考试。

总体来说,考试并不难。我最难应对的是那些需要进行分析查询的任务,主要是因为我对 ClickHouse 还不够熟悉。ClickHouse 有很多其他 SQL 数据库中没有的函数,而我记不住这些函数的名称。

以下是一些可能帮助你成功通过考试的小贴士。

熟悉文档

除非你能够记住所有函数定义和语法,否则建议你熟悉如何使用文档。知道在哪里查找特定功能通常比搜索更快。在考试中我通常会参考文档。

再次回顾实验室的解决方案

这不应该让人感到惊讶,但考试内容与你在课程中学到的紧密相关。虽然示例和数据集有所不同,但问题类型与实验室练习非常相似。即使你不再次进行实验练习,也应该查看代码示例,为考试中可能遇到的情况做好准备。

先阅读所有任务

这可能听起来有些老套,但我强烈建议先阅读所有任务,优先解决简单的问题。这样做可以让你有更多时间应对那些更具挑战性的问题(确实,有些问题比其他问题更难)。这种方法也有助于减轻你在时间紧迫时的压力。

结论

这些技巧将帮助你成功学习 ClickHouse(并完成认证)。最重要的是,我希望你能像我一样享受学习的过程。

提示:我们正在开通国内购买渠道,请大家积极填写文末的认证考试意愿到场问卷,敬请期待

征稿启示

面向社区长期正文,文章内容包括但不限于关于 ClickHouse 的技术研究、项目实践和创新做法等。建议行文风格干货输出&图文并茂。质量合格的文章将会发布在本公众号,优秀者也有机会推荐到 ClickHouse 官网。请将文章稿件的 WORD 版本发邮件至:Tracy.Wang@clickhouse.com

图片

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值