[发明专利]分布式SQL的实时查询方法和系统在审
申请号: | 202110995553.5 | 申请日: | 2021-08-27 |
公开(公告)号: | CN113761024A | 公开(公告)日: | 2021-12-07 |
发明(设计)人: | 张雷;陈凌云;李宁;张一鹏;陈炎 | 申请(专利权)人: | 德邦证券股份有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/2455;G06F16/242;G06F16/27;G06F8/41 |
代理公司: | 北京万思博知识产权代理有限公司 11694 | 代理人: | 刘冀 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 sql 实时 查询 方法 系统 | ||
本申请实施例提供一种分布式SQL的实时查询方法和系统。该方法包括:接收SQL跨库查询请求,所述跨库查询请求包括多个子查询请求;解析所述跨库查询请求,通过with语法标注,确定每个子查询对应的源数据库和查询计划;根据所述查询计划,将子查询分发到各个源数据库上执行分布式并行查询,每个查询得到相应的一张内存数据表;将所述内存数据表均存入内存数据库;合并所有内存数据表,将合并后的结果返回给客户端。本申请支持实时跨库查询,不需要类似数仓的数据同步过程。避免跨库表名冲突,能够直接利用源库的语法和函数库。具有良好的可读性,物理源库自身的函数库和语法特性、索引优化都可以直接使用。
技术领域
本申请涉及分布式数据库及云计算领域,尤其涉及一种分布式SQL的实时查询方法和系统。
背景技术
结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
企业级业务一般都很复杂,数据往往分布在多个不同的数据库中,当面对跨库查询的需求时,通常的做法是:建立一个数据仓库,把多个源库的数据通过ETL工具同步到数据仓库集中存储,然后用SQL去查询。该做法虽然实现了跨库查询,但是这样操作存在IO代价太高,响应速度太慢,无法做到实时查询。
针对上述问题,行业内出现了一种不同思路的解决方案。例如中国授权专利CN105930407B,该方案不需要同步数据,而是走类似虚拟数据库的道路,把所有物理源库视为虚拟数据库中的一个个物理节点,当执行SQL查询时,识别出每个表名,然后加载物理源库的元数据信息,也就是表结构,这样就知道每张表属于哪个物理源库,并以此把查询语句分解为多个子查询,发送到每个物理节点上执行,然后再合并,得到最终结果。
现有技术方案确实解决了实时查询的问题,但是存在一些明显的不足。
主要如下:
(1)如果两个物理源库中存在相同的模式名和表名,会导致表名冲突,无法确定到底查询的是哪一个数据库。比如,很多系统都是基于同一套框架开发的,存在很多通用表,表名和表结构完全一样。
(2)可读性差,阅读SQL代码时,无法明显看出每张表到底属于哪个数据库,完全依赖程序自动识别。
(3)不同数据库的标准函数库存在很大差异,如果要全部实现的话,工程量太大;如果直接利用各自的函数,则会非常混乱,比如,oracle中是nvl,mysql中就是ifnull;如果要做函数映射,同样是工程量巨大。
(4)生成查询计划的过程过于复杂,比如:拆分表达式、谓词下推优化等。尤其是谓词下推优化,如果做不好,很容易降低查询性能,把大量不需要的数据加载进内存,严重时会导致内存溢出。
发明内容
有鉴于此,本申请的目的在于提出一种分布式SQL的实时查询方法和系统,本申请能够针对性的解决现有的问题。
基于上述目的,本申请提出了一种分布式SQL的实时查询方法,包括:
接收SQL跨库查询请求,所述跨库查询请求包括多个子查询请求;
解析所述跨库查询请求,通过with语法标注,确定每个子查询对应的源数据库和查询计划;
根据所述查询计划,将子查询分发到各个源数据库上执行分布式并行查询,每个查询得到相应的一张内存数据表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于德邦证券股份有限公司,未经德邦证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110995553.5/2.html,转载请声明来源钻瓜专利网。