[发明专利]一种MongoDB和ClickHouse的数据同步方法在审
申请号: | 202111200557.6 | 申请日: | 2021-10-14 |
公开(公告)号: | CN113886394A | 公开(公告)日: | 2022-01-04 |
发明(设计)人: | 王锐旭;张辉;陈南浩;佘蔚财 | 申请(专利权)人: | 广州九尾信息科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/25;G06F16/27 |
代理公司: | 北京奥肯律师事务所 11881 | 代理人: | 贾融 |
地址: | 510000 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mongodb clickhouse 数据 同步 方法 | ||
本发明公开了一种MongoDB和ClickHouse的数据同步方法,它涉及数据同步技术领域。设计、编写同步所需的表级注解和字段级注解,将注解标记到需同步的MongoDB数据表实体和属性,启动后自动扫描收集所有数据实体类,通过数据实体类的表级注解和所有标记了字段级注解的属性,解析生成ClickHouse建表语句和ClickHouse同MongoDB的数据映射关系,并将解析数据缓存到ClickHouseManager管理器,最终通过统一的调度器生成空的ClickHouse数据表,实时载入MongoDB数据,利用缓存信息进行数据解析、转换、同步。
技术领域
本发明涉及的是数据同步技术领域,具体涉及一种MongoDB和ClickHouse的数据同步方法。
背景技术
在互联网企业架构中,ClickHouse经常做为一个中间数据库,用于处理联机分析(OLAP)任务。在这种情况下,ClickHouse往往需要从其他数据库(如MongoDB数据库)同步大量数据。为了将数据同步到ClickHouse,以往开发者都习惯性地为每一张表编写数据同步逻辑,主要包括从MongoDB读取数据、数据转换、往ClickHouse写入数据等主要逻辑。虽然可以将程序的部分逻辑模块化,让不同数据表共用,但这种处理方式最终还是需要为每一张表编写一套数据实体类及对应的数据转换、映射逻辑,开发过程费时费力,同时不利于后续的修改和维护。
为了方便数据同步,ClickHouse官方提供了MySQL引擎,借助于其他命令可以自动化同步数据。不过目前官方并没有提供针对MongoDB的同步引擎,而且在实际应用中,同步数据过程还会伴随一些数据转换,这种完全同步的方法并不支持定制化的数据转换,转而回归到上面繁琐的开发中。
为了解决上述问题,开发一种MongoDB和ClickHouse的数据同步方法尤为必要。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种MongoDB和ClickHouse的数据同步方法,在原有MongoDB数据库操作逻辑上,只需添加少量注解,就能实现自动化ClickHouse数据同步,开发量少,灵活性高,易于推广使用。
为了实现上述目的,本发明是通过如下的技术方案来实现:一种MongoDB和ClickHouse的数据同步方法,其步骤为:
(1)设计、编写同步所需要的表级注解以及字段级注解;
(2)将注解标记到需要同步的MongoDB数据表实体和属性;
(3)启动服务后应用程序自动扫描收集所有数据实体类,获取到有标记ClickHouse表级注解的数据实体类;
(4)通过表级注解,获取待生成的ClickHouse数据表名;
(5)利用Java反射机制,取得该数据实体类的所有标记了字段级注解的属性,记录目标字段名称、数据转换处理器以及获取属性值的方法;
(6)通过数据实体类的表级注解和所有标记了字段级注解的属性,解析生成ClickHouse建表语句和ClickHouse同MongoDB的数据映射关系,并将解析数据缓存到ClickHouseManager管理器;
(7)通过统一的调度器生成空的ClickHouse数据表;
(8)利用原有的MongoDB通用数据操作模板,实时载入MongoDB数据,利用缓存信息进行数据解析、转换、同步。
作为优选,所述的步骤(1)中的注解包含生成ClickHouse表所需的信息。
作为优选,所述的步骤(8)中的数据处理包含:
①调用获取属性值的方法,取得属性值;
②通过数据转换处理器,定制化转换数据,若没有配置,这一步则不执行;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州九尾信息科技有限公司,未经广州九尾信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111200557.6/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置