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