[发明专利]分布式PostgreSQL数据库集群分片数据路由方法在审
申请号: | 202211502290.0 | 申请日: | 2022-11-28 |
公开(公告)号: | CN115858671A | 公开(公告)日: | 2023-03-28 |
发明(设计)人: | 矫顺田;郑晓军;高雪玉 | 申请(专利权)人: | 瀚高基础软件股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242;H04L45/74 |
代理公司: | 工业和信息化部电子专利中心 11010 | 代理人: | 杨源鑫 |
地址: | 250101 山东省济南市高新区舜泰北路*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 postgresql 数据库 集群 分片 数据 路由 方法 | ||
本发明公开了一种分布式PostgreSQL数据库集群分片数据路由方法,所述方法由分布式PostgreSQL数据库集群服务器端的协调节点实现,包括:当协调节点启动时,自动加载并解析位于数据目录下预设的SQL语句模板文件,以获得多条SQL语句模板,SQL语句模板包括SQL语句匹配信息和分片键信息;将多条SQL语句模板存入预设sql_template_list链表数据结构中;获取来自分布式PostgreSQL数据库集群客户端的SQL语句,并将SQL语句与预设sql_template_list链表数据结构中存储的多条SQL语句模板的SQL语句匹配信息进行匹配,以获取与SQL语句所匹配的SQL语句模板;获取与所述SQL语句所匹配的SQL语句模板的分片键信息,从而确定目标数据节点;与目标数据节点建立连接并对SQL语句进行路由。本发明利用协调节点,提升了分布式数据库系统的性能。
技术领域
本发明涉及数据库领域,尤其涉及一种分布式PostgreSQL数据库集群分片数据路由方法。
背景技术
目前的分布式数据库集群系统的核心在于分布式数据库系统中的协调节点在收到来自客户端的SQL语句时,将SQL语句路由到数据节点执行。现有的实现方法往往分为两类。第一类为在客户端使用中间件对SQL语句进行拦截,通过客户端配置的对应规则和提前储存的协调节点连接,直接将SQL语句路由至数据节点执行。第二类为对协调节点的SQL解析器进行修改,在协调节点收到SQL语句后,通过SQL解析器对SQL的识别和计算后,将SQL语句路由至数据节点执行。
现有的分布式数据库集群分片数据路由实现中,如果通过在客户端层面使用中间件进行SQL语句的路由,首先需要应用程序开发者在客户端根据中间件的使用要求进行大量的分布式数据库集群信息配置工作,工作繁重且一旦配置错误,则应用程序无法正常运行甚至会对分布式数据库中数据的准确性造成影响。同时,在客户端层面使用中间件进行SQL语句的路由,会使原本数据分布式数据库系统协调节点的工作“转移”到客户端,这就会造成分布式数据库协调节点的利用率低下;一旦客户端服务器本身的性能不足,该实现方式甚至会使整个应用系统的性能不降反升。
另一方面,如果在服务器端通过修改SQL解析器的方式实现SQL语句的路由,则会存在以下两种问题。一、SQL语句解析器代码量大、语法复杂,对于分布式数据库开发者而言,修改SQL语句解析器的开发成本极高,需要大量的时间和精力才能开发出针对于分布式数据库的SQL解析器。二、SQL语句解析器已有较高的完整性,对其修改后往往会使分布式数据库无法支持一些复杂的SQL语句,为数据库使用者带来限制和不便。
发明内容
本发明提供一种分布式PostgreSQL数据库集群分片数据路由方法,用以解决现有技术中将SQL语句路由到数据节点的过程复杂的问题。
根据本发明实施例的分布式PostgreSQL数据库集群分片数据路由方法,所述方法由分布式PostgreSQL数据库集群服务器端的协调节点实现,所述方法包括:
当所述协调节点启动时,自动加载并解析位于数据目录下预设的SQL语句模板文件,以获得多条SQL语句模板,所述SQL语句模板包括SQL语句匹配信息和分片键信息;
将所述多条SQL语句模板存入预设sql_template_list链表数据结构中;
获取来自分布式PostgreSQL数据库集群客户端的SQL语句,并将所述SQL语句与所述预设sql_template_list链表数据结构中存储的所述多条SQL语句模板的SQL语句匹配信息进行匹配,以获取与所述SQL语句所匹配的SQL语句模板;
获取与所述SQL语句所匹配的SQL语句模板的分片键信息,从而确定目标数据节点;
与所述目标数据节点建立连接并对所述SQL语句进行路由。
根据本发明的一些实施例,所述将所述多条SQL语句模板存入预设sql_template_list链表数据结构中,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瀚高基础软件股份有限公司,未经瀚高基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211502290.0/2.html,转载请声明来源钻瓜专利网。