[发明专利]一种基于分布式数据库的sql语句处理方法有效
申请号: | 201610578743.6 | 申请日: | 2016-07-21 |
公开(公告)号: | CN106227799B | 公开(公告)日: | 2019-06-25 |
发明(设计)人: | 江和慧 | 申请(专利权)人: | 江和慧 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27;G06F16/28 |
代理公司: | 浙江翔隆专利事务所(普通合伙) 33206 | 代理人: | 郭关夫 |
地址: | 244161 安徽省*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于分布式数据库的sql语句处理方法,属于线上数据处理和后期数据处理的存储和计算技术领域。该方法基于分布式数据库,表是存储在多个数据库节点中,输入sql语句,包含增、删、改和查的操作,输出是sql执行的结果。本方法应用于线上数据处理的插入,更新,删除和查询;特别是应用于大数据量的情况下跨节点连接,夸节点子查询等复杂逻辑。 | ||
搜索关键词: | 一种 基于 分布式 数据库 sql 语句 处理 方法 | ||
【主权项】:
1.一种基于分布式数据库的sql语句处理方法,其特征在于,包括客户端、主控机、元数据库节点和数据库节点:所述客户端,负责提交sql,从主控机获取元数据,进行sql分析,安排执行,并接受执行结果;所述主控机,负责管理和监控客户端、元数据库节点和数据库节点;所述元数据库节点,负责存储表的结构信息和数据分布信息,作为生成执行计划的依据;所述数据库节点,负责存储数据的节点,也负责执行本节点上的sql语句;该方法基于分布式数据库,表是存储在多个数据库节点中,输入sql语句,包含增、删、改和查的操作,输出是sql执行的结果;所述的查的操作如下:将输入的sql语句经过语义分析,结合表的结构信息和数据分布信息,生成包含多个阶段的执行计划;阶段之间具有依赖关系,形成一棵多输入单输出的树形结构;所述的执行计划的每个阶段包括三个操作:map、shuffle和reduce;map执行mapsql,需要执行map的数据库节点称为map节点;shuffle执行洗牌,将map的输出中洗牌字段相同的数据放到同一个reduce中;reduce执行reducesql,需要执行reduce的数据库节点称为reduce节点;同一个阶段中,多个reduce节点是有关系的,具体而言:当查操作包含排序和聚合操作,reduce节点具有大小关系,排序和聚合字段小的reduce节点小,这样每个reduce节点执行完成之后,依据reduce节点的大小关系,就可以得到整体的结果;当查操作包含非等值join,reduce节点具有大小关系,排序字段小的reduce节点小,reduce节点之间需要进行join,不同reduce节点之间的大小关系决定了join结果是否是匹配的,相同的reduce节点之间需要执行同样的sql来返回匹配的结果;当查操作包含表达式计算的等值join,map节点的输出数据中可以依据join表达式添加辅助字段,把辅助字段作为洗牌字段进行shuffle操作,这样每个reduce节点执行完成之后,就完成了包含表达式计算的等值join;不包含排序和聚合的单表操作,不包含表达式计算的等值join,reduce节点之间可以没有关系。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江和慧,未经江和慧许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610578743.6/,转载请声明来源钻瓜专利网。