[发明专利]用于分布式数据库查询引擎的系统和方法有效
申请号: | 201380069759.9 | 申请日: | 2013-12-20 |
公开(公告)号: | CN104903894B | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 拉戈特姆·穆尔蒂;拉贾特·格尔 | 申请(专利权)人: | 脸谱公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 梁丽超;王红艳 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 分布式 数据库 查询 引擎 系统 方法 | ||
1.一种用于分布式数据库查询引擎的系统,包括:
网关服务器,被配置为从包含存储在具有多个数据节点的分布式存储簇内的数据的数据库的数据库查询中生成多个局部查询,并且根据多个中间结果构建查询结果;以及
多个工作者节点,其中,所述多个工作者节点中的每个工作者节点被配置为通过扫描与相应局部查询相关并且存储在分布式存储簇的至少一个数据节点上的数据,来处理所述多个局部查询中的相应局部查询,并且其中,所述多个工作者节点中的每个工作者节点进一步被配置为生成所述多个中间结果中的存储在所述工作者节点的存储器内的一个中间结果,
其中,所述网关服务器进一步被配置为识别离散的工作者节点,进一步将分配给所述离散的工作者节点的局部查询分成多个从属局部查询,并且将所述多个从属局部查询分配给所述多个工作者节点中的一些工作者节点,其中,所述离散的工作者节点是未向所述网关服务器报告进度或者在预定的时间段之后向网关服务器报告低于预定值的进度的工作者节点。
2.根据权利要求1所述的系统,其中,所述多个工作者节点中的每个工作者节点进一步被配置为通过扫描与存储在分布式存储簇的至少一个数据节点上的相应局部查询相关的一部分数据,来处理所述多个局部查询的相应局部查询,并且生成存储在所述工作者节点的存储器内的近似中间结果;
其中,所述网关服务器进一步被配置为根据至少一个近似中间结果,构建近似查询结果。
3.根据权利要求1或2所述的系统,其中,所述网关服务器进一步被配置为根据所述多个中间结果的一部分,构建近似查询结果。
4.根据权利要求1到2中任一项所述的系统,其中,所述多个工作者节点中的每个工作者节点是运行分布式存储簇内的相应数据节点的服务。
5.根据权利要求1到2中任一项所述的系统,进一步包括:
元数据缓存,被配置为缓存数据库的表格级元数据以及分布式存储簇的文件级元数据;
其中,所述元数据缓存被配置为保持来自用于所述数据库查询的前一数据库查询的缓存的元数据。
6.根据权利要求1到2中任一项所述的系统,其中,所述多个工作者节点中的每个工作者节点将心跳消息定期发送给网关服务器,以通过所述工作者节点报告局部查询处理的状态。
7.根据权利要求1到2中任一项所述的系统,其中,所述网关服务器进一步被配置为从客户端装置接收指令,以返回近似查询结果或终止数据库查询的处理。
8.根据权利要求1到2中任一项所述的系统,其中,所述网关服务器进一步被配置为指示工作者节点立即返回近似中间结果,并且根据近似中间结果,将近似查询结果返回至客户端装置。
9.根据权利要求1到2中任一项所述的系统,其中,所述数据库查询包括近似查询结果的请求。
10.根据权利要求1到2中任一项所述的系统,其中,所述查询结果伴有存储在数据节点内的已经为所述查询结果扫描的一部分相关数据的指示。
11.根据权利要求1到2中任一项所述的系统,其中,所述数据库是Hive数据仓库系统,并且所述分布式存储簇是Hadoop簇。
12.一种用于分布式数据库查询引擎的方法,其中,使用根据权利要求1到11中任一项所述的系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于脸谱公司,未经脸谱公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380069759.9/1.html,转载请声明来源钻瓜专利网。