[发明专利]一种基于FPGA的内存OLAP查询优化方法有效
申请号: | 201610232593.3 | 申请日: | 2016-04-14 |
公开(公告)号: | CN105868388B | 公开(公告)日: | 2019-03-19 |
发明(设计)人: | 张延松;张宇;柴云鹏;周烜;王珊 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453;G06F16/28 |
代理公司: | 北京纪凯知识产权代理有限公司 11245 | 代理人: | 徐宁;孙楠 |
地址: | 100872 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于FPGA的内存OLAP查询优化方法,其步骤:构建面向内存‑闪存的数据仓库异构存储模型;基于异构存储模型面向CPU‑FPGA异构处理器的查询优化:通过子查询生成一个分组投影向量;对分组投影向量进行字典表压缩;按投影字典表将分组投影更新为基于字典表编码的分组投影向量;分组投影向量与事实表外键进行连接操作,生成用于度量列聚集计算的度量向量;基于度量向量的索引聚集计算;基于异构存储模型面向CPU、FPGA异构计算平台的查询优化:FPGA与CPU共享访问相同的内存地址空间;FPGA为PCI‑E加速卡配置时,使用FPGA加速连接性能、FPGA通过PCI‑E通道直接访问闪存卡进行数据处理;当FPGA集成到闪存中时,通过FPGA加速闪存卡的数据访问及聚集计算性能。 | ||
搜索关键词: | 一种 基于 fpga 内存 olap 查询 优化 方法 | ||
【主权项】:
1.一种基于FPGA的内存OLAP查询优化方法,其特征在于,该方法包括以下步骤:步骤一、构建面向内存‑闪存的数据仓库异构存储模型:数据仓库全部的表持久性地存储于大容量闪存,其中数据量最大的事实表度量属性存储于PCI‑E闪存卡,事实表外键列常驻于内存,而较小的维表常驻于内存或存储于闪存;步骤二、基于异构存储模型面向CPU‑FPGA异构处理器的内存OLAP查询优化方法:(1)将SQL查询命令分解为应用于各个维表上的SPG子SQL命令,按WHERE条件投影出当前维表中GROUP BY子句对应的分组属性,不满足选择条件输出空值,满足条件则输出分组属性值,通过子查询生成一个分组投影向量;其中,SPG分别表示选择、投影、分组;(2)对分组投影向量进行字典表压缩,为不同的分组属性建立字典表并分配字典表编码,当分组属性包含多个属性时,以属性组为单位进行字典表压缩;(3)按投影字典表将分组投影更新为基于字典表编码的分组投影向量;(4)分组投影向量与事实表外键进行连接操作,生成用于度量列聚集计算的度量向量;在执行连接操作时,采用如下连接方法:4.1)当维表使用代理键,即连续的自然数列1,2,3…作为主键时,事实表外键值直接映射为分组投影向量的偏移地址,以外键地址映射代替连接操作;4.2)当维表不使用代理键时,根据FPGA的应用模式使用两种策略:4.2.1)当CPU与FPGA共享内存地址空间时,分组投影向量转换为哈希表,事实表外键列与哈希表执行常规的哈希连接操作;4.2.2)当FPGA为PCI‑E加速卡时,FPGA有独立的设备内存,按FPGA内存容量加速事实表外键水平分片上的OLAP查询处理性能;为维表增加一个代理键列,加载到FPGA内存的事实表外键列分片,通过与维表连接键和代理键子表的连接操作将外键列更新为代理外键列,实现外键值与分组投影向量的直接地址映射关系;4.2.3)将内存外键列全部更新为代理外键列,支持内存外键列与分组投影向量的直接地址映射关系;4.3)OLAP操作中事实表与维表的连接操作;(5)基于度量向量的索引聚集计算;5.1)当多维数组低于CPU的L3 Cache Slice时,使用多维数组作为OLAP查询的分组聚集器,将度量向量中非空位置访问的相应的度量属性值映射到度量向量单元中数组地址对应的多维数组单元进行聚集计算;5.2)当多维数组高于CPU的L3 Cache Slice并且较为稀疏时,采用哈希分组聚集计算方法,即使用度量向量中各维表分组的多维地址作为哈希键值在度量列上进行哈希分组聚集计算。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610232593.3/,转载请声明来源钻瓜专利网。
- 上一篇:一种日志记录的方法和装置
- 下一篇:一种文件删除方法及装置