基于KV数据库的数据表关联方法及装置制造方法及图纸

技术编号:27656468 阅读:23 留言:0更新日期:2021-03-12 14:18
本发明专利技术公开一种基于KV数据库的数据表关联方法及装置,涉及大数据技术领域,能够有效解决数据表关联出现的长尾问题和算力消耗大的问题。该方法包括:根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;若本地计算节点中不存在value值数据,则从内存库中查找value值数据,并在查找到时将value值数据更新入计算节点;若内存库中不存在value值数据,则从KV数据库中查找value值数据,并在查找到时将value值数据更新入计算节点和内存库。该装置应用有上述方案所提的方法。

【技术实现步骤摘要】
基于KV数据库的数据表关联方法及装置
本专利技术涉及大数据
,尤其涉及一种基于KV数据库的数据表关联方法及装置。
技术介绍
在数据仓库的应用中,数据表之间的关联为普遍性操作,在分布式计算环境中,现有技术中的数据表关联经常会出现如下问题:1、事实表指标类数值数据分布不均出现长尾问题;2、维度表太大,导致加载IO和算力消耗大。
技术实现思路
本专利技术的目的在于提供一种基于KV数据库的数据表关联方法及装置,能够有效解决数据表关联出现的长尾问题和算力消耗大的问题。为了实现上述目的,本专利技术的第一方面提供一种基于KV数据库的数据表关联方法,包括:根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。优选地,在步骤根据事实表中的key值字段,从本地计算节点中查找对应的value值数据之前还包括:定时将维度表中的增量数据加载入KV数据库中。较佳地,根据事实表中的key值字段,从本地计算节点中查找对应的value值数据的方法包括:所述本地计算节点中包括事实表存储区和本地缓存区,根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。示例性地,所述本地缓存区为cache。优选地,将所述value值数据更新入计算节点的方法包括:将所述value值数据更新入cache中。与现有技术相比,本专利技术提供的用于数据库审计系统的SQL新语句识别方法具有以下有益效果:本专利技术提供的基于KV数据库的数据表关联方法中,数据表关联请求SQL执行时,可以根据事实表中的key值字段,首先从本地计算节点中查找对应的value值数据,若本地计算节点中能查找到对应的value值数据则直接返回,若本地计算节点中查找不到对应的value值数据,则再从内存库中查找对应的value值数据,若内存库中能查找到对应的value值数据则直接返回,同时将value值数据更新入计算节点中,若内存库中查找不到则需从KV数据库中查找对应的value值数据,并在查找到时将value值数据更新入计算节点和内存库。可见,本专利技术针对事实表和维度表的关联业务场景,能够减少数据分发过程(shuffle过程),使得事实表和维度表能够在map端关联计算,不会出现数据倾斜问题;另外,将增量维度数据定期加载到KV库中,在事实表关联时可按照实际发生的维度获取KV库中的维度数据,避免了每次将全量维度表加载计算导致性能消耗大的问题。本专利技术的第二方面提供一种基于KV数据库的数据表关联装置,应用于上述技术方案所述的基于KV数据库的数据表关联方法中,所述装置包括:关联查找单元,用于根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;第一处理单元,用于若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;第二处理单元,用于若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。优选地,所述本地计算节点中包括事实表存储区和本地缓存区,关联查找单元根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。示例性地,所述本地缓存区为cache。优选地,将所述value值数据更新入计算节点的方法包括:将所述value值数据更新入cache中。与现有技术相比,本专利技术提供的基于KV数据库的数据表关联装置的有益效果与上述技术方案提供的基于KV数据库的数据表关联方法的有益效果相同,在此不做赘述。本专利技术的第三方面提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述基于KV数据库的数据表关联方法的步骤。与现有技术相比,本专利技术提供的计算机可读存储介质的有益效果与上述技术方案提供的基于KV数据库的数据表关联方法的有益效果相同,在此不做赘述。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例中基于KV数据库的数据表关联方法的一种流程示意图;图2为本专利技术实施例中查找value值数据的交互逻辑示例图;图3为本专利技术实施例中基于KV数据库的数据表关联方法的另一种流程示意图。具体实施方式为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本专利技术保护的范围。实施例一请参阅图1-图3,本实施例提供一种基于KV数据库的数据表关联方法,包括:根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;若本地计算节点中不存在value值数据,则从内存库中查找value值数据,并在查找到时将value值数据更新入计算节点;若内存库中不存在value值数据,则从KV数据库中查找value值数据,并在查找到时将value值数据更新入计算节点和内存库。本实施例提供的基于KV数据库的数据表关联方法中,数据表关联请求SQL执行时,可以根据事实表中的key值字段,首先从本地计算节点中查找对应的value值数据,若本地计算节点中能查找到对应的value值数据则直接返回,若本地计算节点中查找不到对应的value值数据,则再从内存库中查找对应的value值数据,若内存库中能查找到对应的value值数据则直接返回,同时将value值数据更新入计算节点中,若内存库中查找不到则需从KV数据库中查找对应的value值数据,并在查找到时将value值数据更新入计算节点和内存库。可见,本实施例针对事实表和维度表的关联业务场景,能够减少数据分发过程(shuffle过程),使得事实表和维度表能够在map端关联计算,不会出现数据倾斜问题;另外,将增量维度数据定期加载到KV库中,在事实表关联时可按照实际发生的维度获取KV库中的维度数据,避免了每次将全量维度表加载计算导致性能消耗大的问题。上述实施例中,在步骤根据事实表中的key值字段,从本地计算节点中查找对应的value值数据之前还包括:定时将维度表中的增本文档来自技高网...

【技术保护点】
1.一种基于KV数据库的数据表关联方法,其特征在于,包括:/n根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;/n若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;/n若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。/n

【技术特征摘要】
1.一种基于KV数据库的数据表关联方法,其特征在于,包括:
根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;
若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;
若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。


2.根据权利要求1所述的方法,其特征在于,在步骤根据事实表中的key值字段,从本地计算节点中查找对应的value值数据之前还包括:
定时将维度表中的增量数据加载入KV数据库中。


3.根据权利要求1或2所述的方法,其特征在于,根据事实表中的key值字段,从本地计算节点中查找对应的value值数据的方法包括:
所述本地计算节点中包括事实表存储区和本地缓存区,根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。


4.根据权利要求3所述的方法,其特征在于,所述本地缓存区为cache。


5.根据权利要求4所述的方法,其特征在于,将所述value值数据更新入计算节点的方法包括:
将所述value值数据...

【专利技术属性】
技术研发人员:彭虎孙迁施斌高仕进
申请(专利权)人:江苏苏宁云计算有限公司
类型:发明
国别省市:江苏;32

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

1