ClickHouse 是 OpenMeter 架构的核心,以卓越的效率和可靠性满足我们客户的实时使用计量需求。虽然我们已经使用 ClickHouse 一段时间了,但我最近才有时间完成官方 ClickHouse 开发人员培训。
我想在这篇文章中分享我完成培训并成为认证 ClickHouse 开发者的经验。
为什么学习 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 training 是另一个很棒的资源,我强烈推荐。
ClickHouse 提供两种类型的培训
- 按需培训:这使您可以按照自己的节奏学习。
- 基于讲师的直播培训:这提供了一种更具互动性的学习体验,由现场讲师授课。
在撰写本文时,这两种培训选项都是免费的。
选择更适合您学习风格的一种。我更喜欢摆弄我正在学习的东西,并花时间进行实验,所以我选择了按需培训。
按需课程包含 12 个模块。它首先解释 ClickHouse 的基本概念,并引导您完成成为有效用户所需的一切。每个模块都包含一个 15 到 30 分钟的视频课程,然后是一个或两个实践练习,每个练习大约需要一个小时。
我已经有一段时间没有完成这样的培训计划了,主要是因为我经常发现很难保持专注。但是,我非常享受 ClickHouse 培训。它很容易理解,讲师提供的解释和示例都很有帮助。
我建议首先浏览文档,然后查看培训。十二个小时不算多,尤其是考虑到它的价值。
完成培训的技巧
使用 ClickHouse Cloud
讲师建议在整个培训过程中使用 ClickHouse Cloud,我也强烈推荐这样做。虽然在本地运行 ClickHouse 非常容易,但 ClickHouse Cloud 提供了一些在培训期间派上用场的优势。
首先,ClickHouse Cloud 中的 SQL 控制台优于开源版本。虽然您可以使用 CLI 或任何其他 GUI 客户端,但我发现使用 Cloud 中的那个更容易。它还允许您保存查询并在以后重新访问它们。
一些模块,特别是那些解释分片和复制的模块,需要更复杂的设置。虽然这些设置并非不可能在本地实现,但它们可能不是您希望在初始学习阶段花费时间的事情。使用云,您可以获得所有这些功能,而无需任何额外的努力。
ClickHouse 提供免费试用,这足以完成培训,因此开始使用它不会花费您任何费用。
文档是您的朋友
文档非常出色,并且在培训期间以多种方式提供了帮助。
首先,它提供了有关培训模块中讨论主题的更多信息。在查看文档并阅读相关章节后,我发现它们在每节课中都很有帮助。尽管讲师给出了出色的解释,但额外的背景信息帮助我更好地理解了 ClickHouse 的工作原理。
文档在实践实验室中也被证明很有用。我学习新语法很慢,所以我保持 SQL 参考在选项卡中打开,以便快速切换到它并搜索我需要使用的关键字或函数。
不时休息一下
一次性完成所有十二个模块可能很诱人。我用几个模块做了,后来证明是错误的。
让新信息有时间在您脑海中沉淀下来,尤其是在完成解释在 ClickHouse 中工作方式不同的熟悉概念(如主键)的模块时。
在模块之间休息几分钟甚至一个小时。这是一场马拉松,而不是短跑。
参加认证考试
ClickHouse 在我完成 ClickHouse 开发人员课程几天后 最近宣布 了其第一个认证考试,所以很自然地,我也参加了考试。
总的来说,考试并不具有挑战性。我遇到最大困难的任务需要分析查询,主要是因为 ClickHouse 对我来说仍然相对较新。它有许多您在其他 SQL 数据库中找不到的函数,而且我不擅长记住名称。
以下是一些可能帮助您顺利通过考试的技巧。
熟悉文档
除非您的超能力是记住函数定义和语法,否则请考虑熟悉文档导航。知道在哪里查找特定函数通常比使用搜索更快。当然,这不是我的超能力,所以我通常在考试期间参考文档。
再复习一遍实验解决方案
这不足为奇,但考试在很大程度上依赖于您在课程中学到的知识。虽然示例和数据集不同,但问题的类型与实验练习非常相似。因此,即使您不再次完成实验作为练习,也请查看代码示例,为考试期间的预期做好准备。
首先通读所有任务
这可能感觉很老套,但我强烈建议通读所有任务并首先解决简单的任务。这样做可以让您花更多时间在困难的任务上(是的,有些任务比其他任务更难)。如果您时间紧迫,此方法也有助于减轻压力。
结论
这些技巧将帮助您成功学习 ClickHouse(并完成认证)。最重要的是,我希望您能像我一样玩得开心。