在过去的几年 ClickHouse 一直在快速的增长,也受到大量开发者的认可,但长久以来,并没有特别趁手的工具产品来访问和管理,所以,在完成 MySQL 支持之后,NineData 选择优先支持 ClickHouse。本文将介绍,如何使用 NineData 帮助开发者,通过 GUI 的方式访问和管理 ClickHouse 数据库。

ClickHouse简介

ClickHouse 凭借着其出色的分析查询性能,尤其是在日志处理上的优势,非常有效的解决了关系型数据库在海量数据场景下的分析查询短板问题。其语法与使用习惯也与当下最流行的数据库 MySQL 类似,迭代速度和对社区的响应也非常快,在过去的几年,ClickHouse 收到大量开发者的认可。经过几年社区快速增长之后,在2021年 ClickHouse Inc 的成立也让该分析型数据库进入了开源与商业化一起发展的阶段。从目前的数据来看,未来 ClickHouse 还将是快速增长的分析型数据库之一。


使用 NineData 访问 ClickHouse

整个使用过程也较为简单。首先,需要NineData 数据源页面创建 ClickHouse 数据源。需要注意的是:

  • ​NineData​​ 使用 http/https 协议访问和管理ClickHouse,所以这里需要填写对应的http/https端口(而不是Native的端口)
  • 如果使用了 SSL 加密(ClickHouse Cloud 的强制要求),则需要打开下面 SSL 加密选项(如果没有开启SSL加密,则无需打开该选项)
  • "接入地域"可以选择一个尽可能离服务器近一些的地域,可以适当增加访问速度

 NineData:强大的 ClickHouse 图形客户端工具_SQL

在NineData数据源页面创建ClickHouse数据源

在填好连接信息之后,可以点击“连接测试”按钮,验证是否可以正常访问 ClickHouse,如果信息都正确的话,则会提示上图右上角的“连接成功”信息。

在完成数据源配置之后,就可以通过 SQL 窗口功能访问该数据源了。

 NineData:强大的 ClickHouse 图形客户端工具_SQL_02

NineData 正常访问 ClickHouse

使用导航树查看数据库内部的对象

下图即为 ​​NineData​ 所提供的 ClickHouse 导航对象树。较详细的展示了 ClickHouse 数据库内部的对象,除了常见的表对象外,​​NineData​​ 还提供了视图、字典、ROW POLICY 等数据库对象,在服务器层面,则支持了用户、角色、QUOTA、自定义函数等对象的展示。相比于同类的产品,例如,Arctype、DBeaver、DataGrip、阿里云 DMS、ClickHouse 自己提供的 local play 等(注:目前最新的 Navicat Premium 16版本还不支持 ClickHouse),​​NineData​​ 支持是最完整,最细致的。另外,​​NineData​​导航树还支持表对象的搜索功能,可以帮助开发者方便的搜索到关注的数据表。

 NineData:强大的 ClickHouse 图形客户端工具_SQL_03

NineData 提供的 ClickHouse 导航对象树

导航树功能对比:NineData VS 其他

​NineData​ 的导航树提供了丰富而完整的数据库对象,对比常用的数据库 GUI 工具,​​NineData​​ 支持更加完整,体验更加友好。具体的对比如下:

 NineData:强大的 ClickHouse 图形客户端工具_SQL_04

NineData 的导航树提供了丰富而完整的数据库对象

 NineData:强大的 ClickHouse 图形客户端工具_MySQL_05

航树功能对比:NineData VS 其他

说明:

  • Arctype 是一个小型的数据库管理工具,前一段时间刚刚加入了ClickHouse Inc 并不再更新原来的产品
  • local play 是指 ClickHouse 自带的数据管理工具
  • DataGrid 则是有 JetBrains 提供的数据库管理工具
  • DBeaver 是一个第三方的开源数据库访问工具
  • DMS 是阿里云数据库的一站式数据管理平台


智能的SQL补全提升效率

​NineData​ 提供了强大的 SQL 提示、补全功能,可以最大程度的帮助开发者更叫高效的完成 SQL 编写。例如,在如下的截图案例中,左图中,​NineData​ 会根据光标的位置和语法结构识别出,这里需要填写数据表名/视图名,则优先推荐该类对象。在右图中,​NineData​ 则通过语法结构,对象别名等信息,准确的推荐最可能匹配的列信息。

 NineData:强大的 ClickHouse 图形客户端工具_SQL_06

NineData 提供了强大的 SQL提示、补全功能


使用 NineData 保存常用的 SQL

通常,对于运营人员来说,需要经常关注线上的业务数据;对于开发人员也需要经常关注线上系统的运行数据情况。​​NineData​ 则可以通过“保存 SQL”功能,在线保存这些经常需要使用的 SQL,用以完成一些常用数据库数据查询。

另外,​​NineData​​ 还支持全量的 SQL 运行历史保存,一方面用户可以使用该功能追溯实际运行了哪些功能;也可以使用该功能,在历史 SQL 中找出常用的 SQL。


小结

通过这篇介绍,可以看到如何使用 ​​NineData​​ 快速简单的访问与管理 ClickHouse 实例。

另外,​​NineData​ 除了可以支持以 GUI 的方式访问和管理 ClickHouse 之外,NineData 还支持 MySQL 到 ClickHouse 的数据迁移/同步/复制功能,相比 ClickHouse 内置的集成引擎,​​NineData​​ 很好的解决了上游 MySQL DDL 变更时的链路稳定性以及复制时对象映射等问题,可以帮助用户高性能、高效率、高稳定性的完成从 MySQL 到 ClickHouse 的数据复制。