DoubleCloud 即将停止运营。迁移到 ClickHouse,享受限时免费迁移服务。立即联系我们 ->->

博客 / 工程

ClickHouse 的 Node.js 客户端

author avatar
Serge Klochkov,Mikhail Shustov
2022 年 10 月 20 日

clickhouse-node.png

简介

现代数据驱动型应用程序需要一种与持久性数据存储进行通信的方式。在网络层实现这种通信非常耗时,并且需要理解连接管理、数据格式化和数据编组等底层概念。语言客户端是一种标准模式,它提供特定于语言的抽象,隐藏了连接到数据存储的复杂技术细节。

ClickHouse 已经在 JavaPythonGo 中提供了官方语言客户端。今天,我们很高兴地推出一个官方的、功能齐全的开源 Node.js 客户端 加入到这个大家庭中。该客户端旨在在 Node.js 生态系统中提供 ClickHouse 的极速性能和易用性。这个语言客户端加入了我们不断增长的 ClickHouse 核心 集成 列表(由 ClickHouse 维护和支持)。

客户端功能

最常见用例的代码示例可在 我们的存储库示例文件夹中找到。此外,我们建议查看 集成测试文件夹 以获取更多示例。

我们为什么决定编写自己的客户端

开源爱好者是创建繁荣生态系统的关键。我们认为我们的首要目标是帮助社区培养围绕 ClickHouse 的开放生态系统。由于语言客户端是 ClickHouse 生态系统不可或缺的一部分,我们决定为语言客户端架构和功能制定一个通用规范。这为任何在其喜欢的编程语言中创建客户端的人员提供了建议,并捕获了预期功能以及有关解决常见问题的指导。我们的目标是通过所有客户端都可以遵循的标准规范来降低维护和开发人员入门成本,从而带来更好的开发人员体验。

几个月前,我们创建了语言客户端规范的第一版草案,并将 Node.js 客户端视为一个很好的候选者来尝试和验证文档中描述的想法。您可以在此实时 文档中找到规范草案。 随时分享您的想法。我们计划通过收集社区的反馈,迭代地使规范适应客户的需求。我们欢迎任何关于标准语言客户端应提供哪些功能、API 应该是什么样子、需要哪些工具来简化长期维护等的建议。最终所有客户端都将旨在符合此规范。

结语和贡献号召

我们刚刚发布了 客户端的第一个版本。 我们迫不及待地想听听您如何在应用程序中使用该客户端,并获得有关其提供的功能、API 人体工程学、性能以及可能的改进方面的反馈。

尽情尝试,并在我们的 存储库中与我们见面。

如果您对最新技术充满热情并热爱开源,我们目前正在为我们的 集成团队招聘,期待您的加入。

分享此文章

订阅我们的时事通讯

随时了解功能发布、产品路线图、支持和云产品信息!
正在加载表单...
关注我们
Twitter imageSlack imageGitHub image
Telegram imageMeetup imageRss image