[发明专利]提升ClickHouse数据入库性能的方法及装置在审
申请号: | 202011266670.X | 申请日: | 2020-11-13 |
公开(公告)号: | CN112269788A | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 周朝卫 | 申请(专利权)人: | 中盈优创资讯科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28 |
代理公司: | 上海嘉蓝专利代理事务所(普通合伙) 31407 | 代理人: | 金波 |
地址: | 200000 上海市嘉定区安*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提升 clickhouse 数据 入库 性能 方法 装置 | ||
1.提升ClickHouse数据入库性能的方法,其特征在于,该方法包括:
在生产集群之外,构建一个小型的临时集群,保持生产集群的节点数是临时集群的节点数的整数倍;
通过统一的入口程序,将数据写入生产集群的数据表;在配置文件配置临时集群和生产集群的连接信息;
查询生产集群的元数据信息;
在临时集群创建中间表;
将数据以轮询或者随机的方式写入临时集群创建的中间表;
执行数据片段的合并;
打包数据文件;
将文件传输至生产集群;
刷新生产集群的元数据信息。
2.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,所述连接信息包括:集群的主机名、端口和账号。
3.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,查询生产集群的元数据信息,包括:
根据ClickHouse提供的API,在程序中查看生产集群的数据表,获取最新的数据表的schema信息;
在临时集群创建表,该表的schema信息与生产集群的数据表的schema信息保持一致。
4.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,在临时集群创建中间表,包括:
从生产集群的system.cluster表根据节点和副本信息,确定每个分片的节点的数量;
从临时集群的system.cluster表获取节点的数量;
创建中间表的数量为:生产集群每个分片的节点的数量/临时集群节点的数量;
创建的中间表的命名规则:以生产集群的数据表为前缀,从0开始编号创建的中间表。
5.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,将数据以轮询或者随机的方式写入临时集群创建的中间表,包括:
读取数据,将数据以轮询或者随机的方式写入临时集群创建的中间表,确保每张中间表的数据保持均衡。
6.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,执行数据片段的合并,包括:
在程序中,读取元数据表,获取临时集群每个节点的主机信息,在程序后台通过SSH协议登陆至每台主机,执行数据小文件的合并。
7.根据权利要求6所述的提升ClickHouse数据入库性能的方法,其特征在于,执行数据小文件的合并,包括:
通过Clickhouse的API主动触发合并,将多个小文件合并为大文件。
8.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,打包数据文件,包括:
在程序中,读取元数据表,获取临时集群每个节点的主机信息,在程序后台通过SSH协议登陆至每台主机,执行打包操作;
数据插入完成后,打包;
通过在程序中调用SSH的登陆命令,连接到临时集群的每台主机上,在临时集群创建的中间表所在的数据目录下,按照数据片段的目录进行打包,用于传送至生产集群。
9.根据权利要求1所述的提升ClickHouse数据入库性能的方法,其特征在于,将文件传输至生产集群,包括:
在程序中,读取元数据表,获取临时集群每个节点的主机信息,在程序后台通过SSH协议登陆至每台主机,执行文件的传输;
在临时集群的每个节点上,将临时集群形成的压缩文件,按照轮询的方式传输给生产集群的每个分片的节点。
将文件传输至生产集群的数据表目录下的detached目录中,并进行解压。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中盈优创资讯科技有限公司,未经中盈优创资讯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011266670.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置