首页 > 其他分享 >使用 NineData GUI 创建与修改 ClickHouse 表结构

使用 NineData GUI 创建与修改 ClickHouse 表结构

时间:2023-02-09 11:33:05浏览次数:68  
标签:NineData 创建 GUI 集群 地表 ClickHouse 分布式

01 前言

随着 ClickHouse 的快速发展,越来越多的开发者关注并在业务中使用 ClickHouse。作为开发人员除了在应用中访问数据库、进行业务数据的分析跟进,还有很重要的一个库表结构的设计。但在 ClickHouse 官方文档推荐的众多第三方开发的可视化管理工具中,不论是商业的还是开源的,绝大多数只关注在其数据的查询、分析、报表呈现、性能等领域,对表结构变更的可视化管理仅 DBeaver、DBM 有少量支持(前者交互较重,后者仅少量场景的新建支持,可参考两个产品的建表界面)。

参考两个产品DBeaver、DBM的建表界面

在前面的文章中我们已经介绍过「NineData:强大的ClickHouse图形客户端工具」,今天我们重点来介绍一下如何通过 NineData 帮助开发者,通过 GUI 的方式创建、修改 ClickHouse 的数据库表结构。

02 新建表

NineData-让每个人用好数据和云-玖章算术

进入 NineData 平台后,首先打开左侧的 SQL 窗口,选择 NineData 的目标数据源(此处演示为 ck_集群测试1);在左侧对象导航树找到 NineData 的目标数据库(此处演示为 str_test),在该对象名上鼠标右键选择“创建表”,进入新建表页面,如下:

NineData SQL窗口

缺省 NineData 会提供默认表名、主键 id 等信息,缺省表引擎为 ClickHouse 里最强的 MergeTree,您可按需调整表名、注释、引擎参数、字段、压缩与编码、索引、排序键(key 配置)、投影、约束、分区、过期时间等相关信息。如果您想要在指定逻辑集群的多个节点同时创建同一个表,也可以选择配置 on cluster 参数(此处演示选择 ninedata_cluster);当您选择 on cluster 参数后,我们提供您一键为“本地表”创建“分布式表”的能力(勾选 创建分布式表,您可在下方 SQL 脚本中实时看到对应的语句);若您暂时不需要创建分布式表,则可取消该勾选项。

NineData 提供一键“本地表”创建“分布式表”的能力

另外,如果您的本地表已经创建在每个分片节点上,您想对其再创建一个分布式表,您只需要将表引擎选择为 Distributed ,我们同样为您提供高效的创建方案。当您选择好本地表,我们将为您一键带入本地表的字段相关定义信息,只需要补充分布式参数就可以完成创建(一般建议填写 sharding_key,此处示例为 user_id;缺省分布式表的表名为“本地表名称_all”)。

NineData 选择本地表

在建表语句确认后,点击页面的保存,完成确认即可执行生效到数据库中。执行完成后您再 SQL 窗口可通过如下 SQL 进行确认:

## 查看逻辑集群有哪些分片节点:
## 此处 ninedata_cluster 需要替换为您使用的逻辑集群名
select *
  from system.clusters
 where cluster='ninedata_cluster';
 
 ## 查看本地表、分布式表的创建情况:
 ## 此处 order 需要替换为您实际定义的本地表的表名称
 ## 此处str_test 需要替换为您实际使用的ClickHouse数据库名称
 
 SELECT *
  from system.tables
 where name like 'order%'
   and database='str_test';
   
您还可以按需在SQL1查出来的逻辑集群分片上逐一确认表结构、建表语句等信息。 

  

当前,我们 NineData 的「新建表」功能完整支持 ClickHouse 的所有表引擎、引擎参数、字段属性等相关的选择与配置;同时,新建表对集群与分布式的支持,即可以帮您保障多个本地表在集群分片上的一致、分布式表与本地表的一致,更可有效帮您提升研发效率,减少重复工作的投入。

03 修改表

当业务发展发生需求变更时,表结构的修改也是极其常见的需求;此时您只需要在 SQL 窗口左侧导航树找到对应目标表,右键“编辑表”即可进入修改页面,字段等相关信息您可按需修改(注:为了更好的适配 ClickHouse 的特性,部分信息如表引擎等是不支持修改的,具体数据库支持能力参考 ClickHouse 官方文档)。

NineData 修改表

当前,我们 NineData 的「编辑表」功能也完整支持 ClickHouse 的全部变更操作,集群多个分片的一致性变更也已支持。

04 总结

关于 ClickHouse 表结构变更的可视化管理,今天先介绍到这里。当前 NineData 已经完全适配支持其所有表引擎的新建及其变更,在集群与分布式表的新建支持上更是做了联动优化,进一步帮助广大开发者提升效率,减少不一致现象的出现。未来,我们将继续迭代优化支持本地表与分布式表的一键联动更新,NineData 让每个人用好数据和云。

标签:NineData,创建,GUI,集群,地表,ClickHouse,分布式
From: https://www.cnblogs.com/ninedata/p/17104669.html

相关文章

  • mac 安装jd-gui
    使用brew的方式安装brewinstall--caskjd-gui然后使用命令行的方式打开open路径/JD-GUI.app如果直接双击,或者在jar包上选择使用jd-gui打开就会遇到error什么jdk版......
  • 聊下 Clickhouse MergeTree 的分区,索引,标记和压缩数据
    今天花了一天把《ClickHouse原理解析与应用实践》过了一遍,除了感叹诸多结构都为了节省每一个byte做到极致,也感受到要理解某些设计又一点压力。看完之后我感觉差不多理......
  • 使用 NineData 高效编写 SQL
    SQL是StructuredQueryLanguage的缩写,中文翻译为“结构化查询语言”。它是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如MySQL、Oracle、SQLServer、Po......
  • 如何为 Debian 11 安装图形用户界面 (GUI)
    如何为Debian11安装图形用户界面(GUI)allway2于2021-12-2617:30:14发布11767收藏23文章标签:debian服务器linux版权华为云开发者联盟该内容已被华为云开发......
  • TagUI机器人流程自动化搭建与简单脚本#这是我在51CTO博客的第一篇博文
    这是我在51CTO博客的第一篇博文。下载TagUI安装包,安装即可:​​TagUIv6.46Windows安装包​​安装好之后,测试一下。新建一个文本文档,在里面输入百度的网址​​https://www.......
  • 使用 NineData 快速构建企业容灾备份
    今天,几乎绝大多数现代化企业的业务,都是一定程度上在处理数据。从处理大量用户的财务数据的金融机构,到处理每个用户手机APP上交易、娱乐、社交数据的个人,数据都在企业经营......
  • 001.clickhouse-创建库表
    clickhouse登录-多行模式clickhouse-client--host=x.x.x.x--port=9000--user=xxxx--password=xxxx-mn clickhouse分普通表创建 CREATETABLEdefault.tmp_......
  • ClickHouse(12)ClickHouse合并树MergeTree家族表引擎之AggregatingMergeTree详细解析
    目录建表语法查询和插入数据数据处理逻辑ClickHouse相关资料分享AggregatingMergeTree引擎继承自MergeTree,并改变了数据片段的合并逻辑。ClickHouse会将一个数据片段内所......
  • clickhouse http 导入数据
    curl --data-binary@localpath'http://host:port?database=databasename&date_time_input_format=best_effort&query=INSERT%20INTO%20tablename%20%20FORMAT%20CSV'-......
  • Java反编译工具JD-GUI以及Eclipse的反编译插件
    什么是反编译高级语言源程序经过编译变成可执行文件,反编译就是逆过程。但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。反编译是一个复杂的过程,所以越是......