在过去的几年ClickHouse一直在快速的增长,也受到大量开发者的认可,但长久以来,并没有特别趁手的工具产品来访问和管理,所以,在完成MySQL支持之后,NineData选择优先支持ClickHouse。本文将介绍,如何使用NineData(https://www.ninedata.cloud)帮助开发者,通过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加密,则无需打开该选项)
· "接入地域"可以选择一个尽可能离服务器近一些的地域,可以适当增加访问速度
在填好连接信息之后,可以点击“连接测试”按钮,验证是否可以正常访问ClickHouse,如果信息都正确的话,则会提示上图右上角的“连接成功”信息。在完成数据源配置之后,就可以通过SQL窗口功能访问该数据源了。
使用导航树查看数据库内部的对象
下图即为NineData所提供的ClickHouse导航对象树。较详细的展示了ClickHouse数据库内部的对象,除了常见的表对象外,NineData还提供了视图、字典、ROW POLICY等数据库对象,在服务器层面,则支持了用户、角色、QUOTA、自定义函数等对象的展示。相比于同类的产品,例如,Arctype、DBeaver、DataGrip、阿里云DMS、ClickHouse自己提供的local play等(注:目前最新的Navicat Premium 16版本还不支持ClickHouse),NineData支持是最完整,最细致的。另外,NineData导航树还支持表对象的搜索功能,可以帮助开发者方便的搜索到关注的数据表。
导航树功能对比:NineData VS 其他
NineData的导航树提供了丰富而完整的数据库对象,对比常用的数据库GUI工具,NineData支持更加完整,体验更加友好。具体的对比如下:
说明:
· Arctype是一个小型的数据库管理工具,前一段时间刚刚加入了ClickHouse Inc并不再更新原来的产品
· local play是指ClickHouse自带的数据管理工具
· DataGrid则是有JetBrains提供的数据库管理工具
· DBeaver是一个第三方的开源数据库访问工具
· DMS是阿里云数据库的一站式数据管理平台
智能的SQL补全提升效率
NineData提供了强大的SQL提示、补全功能,可以最大程度的帮助开发者更叫高效的完成SQL编写。例如,在如下的截图案例中,左图中,NineData会根据光标的位置和语法结构识别出,这里需要填写数据表名/视图名,则优先推荐该类对象。在右图中,NineData则通过语法结构,对象别名等信息,准确的推荐最可能匹配的列信息。
使用NineData保存常用的SQL
通常,对于运营人员来说,需要经常关注线上的业务数据;对于开发人员也需要经常关注线上系统的运行数据情况。NineData则可以通过“保存 SQL”功能,在线保存这些经常需要使用的SQL,用以完成一些常用数据库数据查询。
另外,NineData还支持全量的SQL运行历史保存,一方面用户可以使用该功能追溯实际运行了哪些功能;也可以使用该功能,在历史SQL中找出常用的SQL。
小结
通过这篇介绍,可以看到如何使用NineData快速简单的访问与管理ClickHouse实例。
另外,NineData除了可以支持以GUI的方式访问和管理ClickHouse之外,NineData还支持MySQL到ClickHouse的数据迁移/同步/复制功能,相比ClickHouse内置的集成引擎,NineData很好的解决了上游MySQL DDL变更时的链路稳定性以及复制时对象映射等问题,可以帮助用户高性能、高效率、高稳定性的完成从MySQL到ClickHouse的数据复制。