硬件实现的管线化数据库查询处理制造技术

技术编号:41480011 阅读:15 留言:0更新日期:2024-05-30 14:30
一种用于将数据库命令应用于一个或更多个数据库表的装置,包括存储器(24)和硬件实现的管线(10、170)。该硬件实现的管线包括一个或更多个表处理电路(12),并且被配置为接收从一个或更多个数据库表提取的一连串输入记录,将来自输入记录中的第一记录解析为键和除该键以外的一个或更多个字段,并将第一记录的至少部分存储在存储器中,以便能使用键访问,以及通过根据键将来自输入记录中的第二记录的至少部分与存储在存储器中的第一记录的至少部分进行匹配来应用数据库命令。

【技术实现步骤摘要】
【国外来华专利技术】

专利
本专利技术总体上涉及数字硬件和微处理器设计,且尤其涉及硬件实现的数据库查询处理。


技术介绍

0、专利技术背景

1、关系数据库和关系数据库管理系统(rdbms)通常使用高级语言,诸如sql,其具有操纵表的命令,例如连接(join)和分组(group-by)。连接命令连接两个或更多个表的选定列以创建新表。连接是根据公共值或值的组合(称为键)来执行的。sql连接命令有几种变体,例如内连接(inner join)、全连接(full join)(或外连接(outer join))、左连接(leftjoin)和右连接(right join)。分组命令根据指定的键将表中的行分组在一起。

2、例如,考虑下表:

3、 名字 姓氏 工资 john 本文档来自技高网...

【技术保护点】

1.一种用于将数据库命令应用于一个或更多个数据库表的装置,所述装置包括:

2.根据权利要求1所述的装置,其中,所述数据库命令是连接命令,所述连接命令连接来自第一输入数据库表和第二输入数据库表的匹配的记录的至少部分,其中,所述第一记录从所述第一输入数据库表中提取,并且其中,所述第二记录从所述第二输入数据库表中提取。

3.根据权利要求2所述的装置,其中,所述表处理电路中的至少一个被配置为通过执行插入阶段和在所述插入阶段之后的查找阶段来应用所述连接命令,所述插入阶段将所述第一输入记录的所述至少部分存储在所述存储器中,所述查找阶段将匹配的所述第一记录的至少部分和所述第二记...

【技术特征摘要】
【国外来华专利技术】

1.一种用于将数据库命令应用于一个或更多个数据库表的装置,所述装置包括:

2.根据权利要求1所述的装置,其中,所述数据库命令是连接命令,所述连接命令连接来自第一输入数据库表和第二输入数据库表的匹配的记录的至少部分,其中,所述第一记录从所述第一输入数据库表中提取,并且其中,所述第二记录从所述第二输入数据库表中提取。

3.根据权利要求2所述的装置,其中,所述表处理电路中的至少一个被配置为通过执行插入阶段和在所述插入阶段之后的查找阶段来应用所述连接命令,所述插入阶段将所述第一输入记录的所述至少部分存储在所述存储器中,所述查找阶段将匹配的所述第一记录的至少部分和所述第二记录的至少部分连接起来。

4.根据权利要求2所述的装置,其中,对于给定的第二记录,所述表处理电路中的至少一个被配置为:

5.根据权利要求1所述的装置,其中,所述数据库命令是分组命令,所述分组命令将单个数据库表的匹配的记录的至少部分进行分组,并且其中,所述第一记录和所述第二记录都是从所述单个数据库表中提取的。

6.根据权利要求5所述的装置,其中,所述表处理电路中的至少一个被配置为通过执行聚合阶段和在所述聚合阶段之后的输出阶段来应用所述分组命令,所述聚合阶段将所述存储器中的匹配的记录进行分组,所述输出阶段输出分组的记录。

7.根据权利要求5所述的装置,其中,在应用所述分组命令时,所述表处理电路中的至少一个被配置为:

8.根据权利要求7所述的装置,其中,所述表处理电路中的所述至少一个被配置为原子地更新所述匹配的条目。

9.根据权利要求7所述的装置,其中,所述表处理电路中的所述至少一个被配置为通过以第一顺序扫描所述单个数据库表,并以第二顺序更新所述存储器中的匹配的条目来应用所述分组命令,所述第二顺序并不限于遵循所述第一顺序。

10.根据权利要求1-9中任一项所述的装置,其中,当所述第一记录中的两个或更多个第一记录对应于相同的键值时,所述表处理电路中的至少一个被配置为在所述存储器中存储两个或更多个条目,所述两个或更多个条目包括所述两个或更多个第一记录的至少部分并且能通过所述相同的键值访问。

11.根据权利要求10所述的装置,其中,所述表处理电路中的所述至少一个被配置为产生与匹配所述相同的键值的所述两个或更多个第一记录对应的两个或更多个输出记录。

12.根据权利要求1-9中任一项所述的装置,其中,对于每个第一记录,所述表处理电路中的至少一个被配置为计算所述第一记录的键的签名,并且除了所述第一记录的所述至少部分之外,还将所述签名的至少部分存储在所述存储器中。

13.根据权利要求12所述的装置,其中,所述表处理电路中的所述至少一个被配置为通过以下方式将第二记录的至少部分与第一记录的至少部分进行匹配:

14.根据权利要求1-9中任一项所述的装置,其中,对于每个第一记录,所述表处理电路中的至少一个被配置为对所述第一记录的键计算基本上无错误的散列,除了所述第一记录的所述至少部分之外,还将所述基本上无错误的散列存储在所述存储器中,并且通过将所述第二记录的基本上无错误的散列与所述第一记录的所述基本上无错误的散列进行匹配来将所述第二记录的所述至少部分与所述第一记录的所述至少部分进行匹配。

15.根据权利要求14所述的装置,其中,所述表处理电路中的所述至少一个被配置为将所述基本上无错误的散列和所述键都存储在所述存储器中。

16.根据权利要求14所述的装置,其中,所述表处理电路中的所述至少一个被配置为将所述基本上无错误的散列存储在所述存储器中,但不将所述键存储在所述存储器中。

17.根据权利要求1-9中任一项所述的装置,其中,对于每个第一记录,所述表处理电路中的至少一个被配置为对所述第一记录的键计算散列,并且将所述第一记录的所述至少部分存储在所述存储器中,以便根据所述散列和所述键两者的组合能访问。

18.根据权利要求17所述的装置,其中,在将第二记录的至少部分与所述第一记录的所述至少部分进行匹配时,所述表处理电路中的所述至少一个被配置为通过所述散列访问所述存储器,然后从匹配所述散列的所述第一记录的所述至少部分中识别也匹配所述键的所述第一记录的所述至少部分。

19.根据权利要求1所述的装置,其中,所述数据库命令是分区命令,并且其中,所述表处理电路中的一个或更多个被配置为执行分组命令,然后对所述分组命令的结果执行连接命令。

20.根据权利要求1所述的装置,其中,所述数据库命令是应用于三个或更多个数据库表的多维连接命令,并且其中,所述表处理电路中的一个或更多个被配置为通过执行多个连接命令来执行所述多维连接命令,每个所述连接命令应用于两个数据库表。

21.根据权利要求1所述的装置,其中,所述数据库命令是左连接命令、右连接命令和外连接命令中的一个,并且其中,所述表处理电路中的至少一个被配置为标记在所述数...

【专利技术属性】
技术研发人员:拉菲·夏洛姆科贝·卡尔莫纳
申请(专利权)人:速捷数据有限公司
类型:发明
国别省市:

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

1