基于SQL语句解析的数据处理和同步的方法和系统技术方案

技术编号:40594900 阅读:44 留言:0更新日期:2024-03-12 21:57
本发明专利技术公开了一种基于SQL语句解析的数据处理和同步的方法和系统,解决开发人员需要从代码层面将SQL语句中的关联逻辑再次实现一遍,产生大量冗余开发需求,开发效率低的问题,缩短数据处理路径,大大降低了数据处理所需的读取和处理时间。其技术方案为:获取输入数据,所输入的数据包括:SQL查询语句、主键和需要被写入的ElasticSearch索引;解析SQL查询语句以生成SQL查询关系树;判断是否是首次同步,若是首次同步,则全量获取数据库快照数据,若不是首次同步,则通过实时同步增量获取数据库变动数据;根据SQL树处理数据,并更新内存或缓存中存储的节点数据;将SQL树中的输出节点写入ElasticSearch。

【技术实现步骤摘要】

本专利技术涉及数据库技术,具体涉及一种基于sql语句解析的数据处理和同步的方法和系统。


技术介绍

1、对于某一个业务场景来说,常常会出现需要从多张表获取关联的数据的情况,针对这种情况,mysql具有以下缺点:第一,mysql中join(join操作是一种将两个或多个表中的数据按照指定的条件进行关联的方法)的本质是笛卡尔积,时间复杂度高,效率低;第二,mysql不适合海量数据查询,增加索引会大幅度增加储存成本;第三,mysql不具备es中的分词能力,模糊查询和全文查询的能力较弱。针对这些问题,在实际项目开发中,经常将mysql作为业务数据库,es作为查询数据库,将mysql的数据join成一张业务宽表,并将业务宽表的数据实时同步至es,用来实现读写分离,缓解mysql数据库的查询压力,同时应对海量数据的复杂查询。

2、在实现业务宽表数据处理和同步的过程中,开发人员往往会先在数据库层面写好相应的sql语句,再将sql语句转化为代码层面的逻辑。该流程中存在以下问题:第一,开发人员需要从代码层面将sql语句中的关联逻辑再次实现一遍,产生大量冗余开发需求本文档来自技高网...

【技术保护点】

1.一种基于SQL语句解析的数据处理和同步的方法,其特征在于,方法包括:

2.根据权利要求1所述的基于SQL语句解析的数据处理和同步的方法,其特征在于,步骤2进一步包括:

3.根据权利要求2所述的基于SQL语句解析的数据处理和同步的方法,其特征在于,步骤2-1中是通过ANTLR解析器、JavaCC解析器来解析单段SQL语句。

4.根据权利要求1所述的基于SQL语句解析的数据处理和同步的方法,其特征在于,步骤3进一步包括:

5.根据权利要求1所述的基于SQL语句解析的数据处理和同步的方法,其特征在于,步骤4进一步包括:p>

6.一种基...

【技术特征摘要】

1.一种基于sql语句解析的数据处理和同步的方法,其特征在于,方法包括:

2.根据权利要求1所述的基于sql语句解析的数据处理和同步的方法,其特征在于,步骤2进一步包括:

3.根据权利要求2所述的基于sql语句解析的数据处理和同步的方法,其特征在于,步骤2-1中是通过antlr解析器、javacc解析器来解析单段sql语句。

4.根据权利要求1所述的基于sql语句解析的数据处理和同步的方法,其特征在于,步骤3进一步包括:

5.根据权利要求1所述的基于sql语句解析的数据处理和同步的方法,其特征在于,步骤4进一步包括:

6.一种基于sql语句解析的...

【专利技术属性】
技术研发人员:司马铭骏谢恒马克李凡王嘉华
申请(专利权)人:上海金融期货信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1