【技术实现步骤摘要】
一种MongoDB和ClickHouse的数据同步方法
[0001]本专利技术涉及的是数据同步
,具体涉及一种MongoDB和ClickHouse的数据同步方法。
技术介绍
[0002]在互联网企业架构中,ClickHouse经常做为一个中间数据库,用于处理联机分析(OLAP)任务。在这种情况下,ClickHouse往往需要从其他数据库(如MongoDB数据库)同步大量数据。为了将数据同步到ClickHouse,以往开发者都习惯性地为每一张表编写数据同步逻辑,主要包括从MongoDB读取数据、数据转换、往ClickHouse写入数据等主要逻辑。虽然可以将程序的部分逻辑模块化,让不同数据表共用,但这种处理方式最终还是需要为每一张表编写一套数据实体类及对应的数据转换、映射逻辑,开发过程费时费力,同时不利于后续的修改和维护。
[0003]为了方便数据同步,ClickHouse官方提供了MySQL引擎,借助于其他命令可以自动化同步数据。不过目前官方并没有提供针对MongoDB的同步引擎,而且在实际应用中,同步数据过程还 ...
【技术保护点】
【技术特征摘要】
1.一种MongoDB和ClickHouse的数据同步方法,其特征在于,其步骤为:(1)设计、编写同步所需要的表级注解以及字段级注解;(2)将注解标记到需要同步的MongoDB数据表实体和属性;(3)启动服务后应用程序自动扫描收集所有数据实体类,获取到有标记ClickHouse表级注解的数据实体类;(4)通过表级注解,获取待生成的ClickHouse数据表名;(5)利用Java反射机制,取得该数据实体类的所有标记了字段级注解的属性,记录目标字段名称、数据转换处理器以及获取属性值的方法;(6)通过数据实体类的表级注解和所有标记了字段级注解的属性,解析生成ClickHouse建表语句和ClickHouse同MongoDB的数据映射关系,并将解析数据缓存到ClickHouseManager管理器;...
【专利技术属性】
技术研发人员:王锐旭,张辉,陈南浩,佘蔚财,
申请(专利权)人:广州九尾信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。