CN112487111A - 基于kv数据库的数据表关联方法及装置 - Google Patents
基于kv数据库的数据表关联方法及装置 Download PDFInfo
- Publication number
- CN112487111A CN112487111A CN202011487204.4A CN202011487204A CN112487111A CN 112487111 A CN112487111 A CN 112487111A CN 202011487204 A CN202011487204 A CN 202011487204A CN 112487111 A CN112487111 A CN 112487111A
- Authority
- CN
- China
- Prior art keywords
- value data
- data
- computing node
- local
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 5
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于KV数据库的数据表关联方法及装置,涉及大数据技术领域,能够有效解决数据表关联出现的长尾问题和算力消耗大的问题。该方法包括:根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;若本地计算节点中不存在value值数据,则从内存库中查找value值数据,并在查找到时将value值数据更新入计算节点;若内存库中不存在value值数据,则从KV数据库中查找value值数据,并在查找到时将value值数据更新入计算节点和内存库。该装置应用有上述方案所提的方法。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种基于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值数据之前还包括:
定时将维度表中的增量数据加载入KV数据库中。
上述实施例中,根据事实表中的key值字段,从本地计算节点中查找对应的value值数据的方法包括:
所述本地计算节点中包括事实表存储区和本地缓存区,根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。示例性地,上述本地缓存区为cache。
上述实施例中,将value值数据更新入计算节点的方法包括:
将value值数据更新入cache中。
请参阅图3,具体实施时,据数据表关联请求SQL执行数据表关联操作,基于输入的key值字段,从本地计算节点中查找对应的value值数据,若查找到了则返回value值数据,若没查找到了,继续从内存库中查找对应的value值数据,若查找到了,将内存库中对应的value值数据更新入本地计算节点中,同时返回对应的value值数据,若仍未查找到,则请求KV数据库继续查找对应的value值数据,并将查找到的结果更新入内存库和计算节点,同时返回对应的value值数据。
可见,上述实施例针对事实表和维度表关联业务场景,使用KV库、缓存计算能力和分布式udf计算能力,将SQL关联计算转换为函数计算,解决了如下问题:
1、将Common join转换为函数计算,减少数据shuffle过程,事实表和维度表关联在map端计算,不会出现数据倾斜问题;
2、将增量维度数据定时加载如KV数据库,事实表关联按照实际发生维度获取KV数据库的维度数据,避免了每次将全量维度表加载计算导致性能消耗大的问题。进而减少平台的资源消耗,提升计算效率。
综上,上述实施例具有如下有益效果:
1、将上述逻辑使用SQL封装,降低使用门槛,提升开发效率;
2、对于大型事实表的数据倾斜问题,以往的SQL优化需要针对key分布做优化,优化操作复杂,使用此方案,不需要关心key值的数据分布,直接按照设定节点的数据大小分配计算资源,使得数据计算资源能够分配均匀,更高效的利用好大数据的计算资源;
3、对于大型维度表,仅需要加载使用到的维度数据,减少获取维度数据的计算开销,提升计算性能;
4、以往每个SQL执行过程中使用的维度热点数据互不共享,每次使用需要各自加载和销毁,考虑到实际业务中,不同业务计算场景中的维度热点数据往往都比较相似,通过引入内存库,可以缓存当前热点维度数据,每个SQL之间能共享热点数据,提升大数据SQL的处理性能。
实施例二
本实施例提供一种基于KV数据库的数据表关联装置,包括:
关联查找单元,用于根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;
第一处理单元,用于若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;
第二处理单元,用于若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。
优选地,所述本地计算节点中包括事实表存储区和本地缓存区,关联查找单元根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。
示例性地,所述本地缓存区为cache。
优选地,将所述value值数据更新入计算节点的方法包括:
将所述value值数据更新入cache中。
与现有技术相比,本发明实施例提供的基于KV数据库的数据表关联装置的有益效果与上述实施例一提供的基于KV数据库的数据表关联方法的有益效果相同,在此不做赘述。
实施例三
本实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述基于KV数据库的数据表关联方法的步骤。
与现有技术相比,本实施例提供的计算机可读存储介质的有益效果与上述技术方案提供的基于KV数据库的数据表关联方法的有益效果相同,在此不做赘述。
本领域普通技术人员可以理解,实现上述发明方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,上述程序可以存储于计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
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值数据更新入cache中。
6.一种基于KV数据库的数据表关联装置,其特征在于,包括:
关联查找单元,用于根据事实表中的key值字段,从本地计算节点中查找对应的value值数据;
第一处理单元,用于若本地计算节点中不存在所述value值数据,则从内存库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点;
第二处理单元,用于若内存库中不存在所述value值数据,则从KV数据库中查找所述value值数据,并在查找到时将所述value值数据更新入计算节点和内存库。
7.根据权利要求6所述的装置,其特征在于,所述本地计算节点中包括事实表存储区和本地缓存区,关联查找单元根据数据表关联请求SQL从事实表存储区读取事实表中的key值字段,再从本地缓存区中查找对应的value值数据。
8.根据权利要求7所述的装置,其特征在于,所述本地缓存区为cache。
9.根据权利要求7所述的装置,其特征在于,将所述value值数据更新入计算节点的方法包括:
将所述value值数据更新入cache中。
10.一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,其特征在于,计算机程序被处理器运行时执行上述权利要求1至5任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487204.4A CN112487111A (zh) | 2020-12-16 | 2020-12-16 | 基于kv数据库的数据表关联方法及装置 |
CA3142143A CA3142143A1 (en) | 2020-12-16 | 2021-12-14 | Method and apparatus for correlating data tables based on kv database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011487204.4A CN112487111A (zh) | 2020-12-16 | 2020-12-16 | 基于kv数据库的数据表关联方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112487111A true CN112487111A (zh) | 2021-03-12 |
Family
ID=74917278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011487204.4A Pending CN112487111A (zh) | 2020-12-16 | 2020-12-16 | 基于kv数据库的数据表关联方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112487111A (zh) |
CA (1) | CA3142143A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114374A (zh) * | 2022-06-27 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140149357A1 (en) * | 2012-11-26 | 2014-05-29 | Amazon Technologies, Inc. | Block restore ordering in a streaming restore system |
US20160110284A1 (en) * | 2014-10-21 | 2016-04-21 | Pranav ATHALYE | Distributed cache framework |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN109388654A (zh) * | 2017-08-04 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 一种查询数据表的方法和装置 |
CN110471914A (zh) * | 2019-06-27 | 2019-11-19 | 苏宁云计算有限公司 | 一种实时数据处理中维度关联的方法及系统 |
-
2020
- 2020-12-16 CN CN202011487204.4A patent/CN112487111A/zh active Pending
-
2021
- 2021-12-14 CA CA3142143A patent/CA3142143A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140149357A1 (en) * | 2012-11-26 | 2014-05-29 | Amazon Technologies, Inc. | Block restore ordering in a streaming restore system |
US20160110284A1 (en) * | 2014-10-21 | 2016-04-21 | Pranav ATHALYE | Distributed cache framework |
CN107231395A (zh) * | 2016-03-25 | 2017-10-03 | 阿里巴巴集团控股有限公司 | 数据存储方法、装置和系统 |
CN109388654A (zh) * | 2017-08-04 | 2019-02-26 | 北京京东尚科信息技术有限公司 | 一种查询数据表的方法和装置 |
CN110471914A (zh) * | 2019-06-27 | 2019-11-19 | 苏宁云计算有限公司 | 一种实时数据处理中维度关联的方法及系统 |
Non-Patent Citations (2)
Title |
---|
张伟;孙涛;刘振斌;: "基于Hash存储的高效DNS缓存系统", 计算机工程与设计, no. 08, 16 August 2017 (2017-08-16) * |
张佳民: "基于数据仓库体系结构的OLAP和数据挖掘技术的研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 November 2008 (2008-11-15) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115114374A (zh) * | 2022-06-27 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 事务执行方法、装置、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CA3142143A1 (en) | 2022-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8396852B2 (en) | Evaluating execution plan changes after a wakeup threshold time | |
CN107038222B (zh) | 数据库缓存实现方法及其系统 | |
US20150142762A1 (en) | Changing the Compression Level of Query Plans | |
US11841864B2 (en) | Method, device, and program product for managing index of streaming data storage system | |
CN110134335B (zh) | 一种基于键值对的rdf数据管理方法、装置及存储介质 | |
CN105930479A (zh) | 一种数据倾斜处理方法及装置 | |
CN107562804B (zh) | 数据缓存服务系统及方法、终端 | |
CN112015741A (zh) | 一种海量数据的分库分表存储方法与装置 | |
US20170032052A1 (en) | Graph data processing system that supports automatic data model conversion from resource description framework to property graph | |
CN110175174A (zh) | 一种数据查询方法、装置、设备及存储介质 | |
CN111966631A (zh) | 一种可快速分发的镜像文件生成方法、系统、设备和介质 | |
CA3057038A1 (en) | Data filtering method, apparatus, electronic apparatus and storage medium | |
US12079472B2 (en) | Data reduction method, apparatus, computing device, and storage medium for forming index information based on fingerprints | |
CN114139040A (zh) | 一种数据存储及查询方法、装置、设备及可读存储介质 | |
WO2016175880A1 (en) | Merging incoming data in a database | |
CN110908996B (zh) | 一种数据处理的方法和装置 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN112487111A (zh) | 基于kv数据库的数据表关联方法及装置 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
CN111949648B (zh) | 内存缓存数据系统和数据索引方法 | |
CN109697234B (zh) | 实体的多属性信息查询方法、装置、服务器和介质 | |
CN114547086B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN115617859A (zh) | 基于知识图谱集群的数据查询方法和装置 | |
CN112506651B (zh) | 一种大数据量环境中数据运算的方法和设备 | |
CN112115123A (zh) | 用于分布式数据库的性能优化的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |