[发明专利]基于RocksDB的key-value存储模式下的数据关联查询方法及系统在审
申请号: | 202010617986.2 | 申请日: | 2020-07-01 |
公开(公告)号: | CN111752972A | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 牟冠学;史大义;柴毅 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/2455 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 孙园园 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 rocksdb key value 存储 模式 数据 关联 查询 方法 系统 | ||
本发明公开了一种基于RocksDB的key‑value存储模式下的数据关联查询方法及系统,属于算子优化技术领域,本发明要解决的技术问题为如何提高传统的按行读取并串行进行hashjoin计算效率,并提高关联查询效率,采用的技术方案为:该方法是在key‑value存储系统下,通过go语言的channel存储每行数据再将其一块一块的读取,实现块读,即以块为单位处理数据,在接收到数据块后,将数据分发给不同的Join Worker进行并行计算,提高Hash Join算子的计算性能;具体如下:S1、一块块的读取数据;S2、各个模块之间通过通道缓存通信,使各个模块异步执行,通过发送结束标志使各个模块结束执行;S3、计算Join Worker相互并发执行。
技术领域
本发明涉及算子优化技术领域,具体地说是一种基于RocksDB的key-value存储模式下的数据关联查询方法及系统。
背景技术
RocksDB使用一套日志结构的数据库引擎,为了更好的性能,这套引擎是用C++编写的。Key和value是任意大小的字节流。RocksDB为快速而又低延迟的存储设备(例如闪存或者高速硬盘)而特殊优化处理。RocksDB将最大限度的发挥闪存和RAM的高度率读写性能。RocksDB适合于多种不同工作量类型。从像MyRocks这样的数据存储引擎,到应用数据缓存,甚至是一些嵌入式工作量,RocksDB都可以从容面对这些不同的数据工作量需求。RocksDB提供了一些基础的操作,例如打开和关闭数据库。对于合并和压缩过滤等高级操作,也提供了读写支持。
进行多表连接时的处理算法,简单的对于两个表来讲,hash-join就算讲两表中的小表作为hash表,然后去扫描另一个表也就是大表的每一行数据,用得出来的行数据根据连接条件去映射建立的hash表,hash表是放在内存中的,这样可以很快的得到对应的表相匹配的行。
如附图1和2可知,传统的hash join算子的执行流程:小表生成hashmap,将数据存放在bucket中;探测表探测大表,根据生成的hashkey去hash map中映射出对应的行数据;由此可以看到在这个过程中,存在着对数据的处理都是行为单位的,对数据的处理都是串行的问题,将一行数据处理完成后才会接着对下一行数据进行读取。故如何提高传统的按行读取并串行进行hashjoin计算效率,并提高关联查询效率是目前亟待解决的技术问题。
发明内容
本发明的技术任务是提供一种基于RocksDB的key-value存储模式下的数据关联查询方法及系统,来解决如何提高传统的按行读取并串行进行hashjoin计算效率,并提高关联查询效率的问题。
本发明的技术任务是按以下方式实现的,基于RocksDB的key-value存储模式下的数据关联查询方法,该方法是在key-value存储系统下,通过go语言的channel存储每行数据再将其一块一块的读取,实现块读,即以块为单位处理数据,在接收到数据块后,将数据分发给不同的Join Worker进行并行计算,提高Hash Join算子的计算性能;具体如下:
S1、一块块的读取数据,而不是一行行读取;
S2、各个模块之间通过通道缓存通信,使各个模块异步执行,通过发送结束标志使各个模块结束执行;
S3、计算Join Worker相互并发执行,提高计算效率。
作为优选,所述步骤S1中一块块的读取数据具体如下:
S101、将读取到的数据存放进channel中,先不进行计算;
S102、当channel内数据数量满足运送条件后,将channel一块块分法计算。
作为优选,所述步骤S2中各个模块之间通过通道缓存通信,使各个模块异步执行,通过发送结束标志使各个模块结束执行具体如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010617986.2/2.html,转载请声明来源钻瓜专利网。