一种业务数据查询方法及装置、数据库系统制造方法及图纸

技术编号:11319914 阅读:106 留言:0更新日期:2015-04-22 09:20
一种业务数据查询方法及装置、数据库系统,该方法的特点是数据库内存中包括列式缓冲区和行式缓冲区,所述列式缓冲区的列用于加载数据库的列数据,所述行式缓冲区的行用于加载所述列式缓冲区的列数据或所述数据库的列数据,当收到事务型业务系统发送的包括目标列标识和第一查询条件的事务型业务数据查询请求时,检测是否存在所述目标列标识对应的行索引;若存在所述目标列标识对应的行索引,以所述第一查询条件为依据,查询所述行式缓冲区中所述行索引对应行内的所述目标列标识对应的列数据以获得查询结果并返回给所述事务型业务系统。实施本发明专利技术实施例可以满足事务型业务的数据查询需求。

【技术实现步骤摘要】

本专利技术涉及数据库
,尤其涉及一种业务数据查询方法及装置、数据库系 统。
技术介绍
商业智能(Business Intelligence,简称BI)又称商业智慧或商务智能,BI数据 库凭借其优秀的数据库、联机分析处理(On-Line Analytical Processing,简称0LAP)、数 据挖掘等技术,可以有效地对业务数据进行查询、分析以及多维展现等操作,从而可以帮助 企业做出明智的业务经营决策。在实际应用中,BI数据库通常会以列的方式存储数据(即 列式数据库),从而可以满足基于规则的分析型业务的数据快速查询的需求;然而,对于基 于事件触发的事务型业务的数据而言,通常要满足极高吞吐量查询需求,这就要求数据以 行的方式存储在BI数据库中(即行式数据库),显然,以列的方式存储数据的BI数据库难 以满足事务型业务的数据查询需求。
技术实现思路
本专利技术实施例公开了一种业务数据查询方法及装置、数据库系统,能够满足事务 型业务的数据查询需求。 本专利技术实施例第一方面公开一种业务数据查询方法,数据库内存中包括列式缓冲 区和行式缓冲区,所述列式缓冲区的列用于加载数据库的列数据,所述行式缓冲区的行用 于加载所述列式缓冲区的列数据或所述数据库的列数据,所述方法包括: 当收到事务型业务系统发送的包括目标列标识和第一查询条件的事务型业务数 据查询请求时,检测是否存在所述目标列标识对应的行索引; 若存在所述目标列标识对应的行索引,以所述第一查询条件为依据,查询所述行 式缓冲区中所述行索引对应行内的所述目标列标识对应的列数据以获得查询结果并返回 给所述事务型业务系统。 在本专利技术实施例第一方面的第一种可能的实现方式中,若不存在所述目标列标识 对应的行索引,所述方法还包括: 检测所述列式缓冲区中是否加载所述目标列标识对应的列数据,若所述列式缓冲 区中加载所述目标列标识对应的列数据,从所述列式缓冲区中读取所述目标列标识对应的 列数据; 以及,将读取的所述目标列标识对应的列数据加载至所述行式缓冲区中的行; 以及,建立所述目标列标识与所述行的行索引的对应关系,并执行所述的以所述 第一查询条件为依据,查询所述行式缓冲区中所述行索引对应行内的目标列标识对应的列 数据以获得查询结果并返回给所述事务型业务系统的步骤。 结合本专利技术实施例第一方面的第一种可能的实现方式,在本专利技术实施例第一方面 的第二种可能的实现方式中,若所述列式缓冲区中未加载所述目标列标识对应的列数据, 所述将读取的所述目标列标识对应的列数据加载至所述行式缓冲区中的行之前,所述方法 还包括: 从所述数据库中读取所述目标列标识对应的列数据。 在本专利技术实施例第一方面的第三种可能的实现方式中,当收到事务型业务系统发 送的包括目标列标识和第一查询条件的事务型业务数据查询请求之前,所述方法还包括: 当收到事务型业务系统发送的包括目标列标识的查询注册请求时,检测所述行式 缓冲区中是否加载所述目标列标识对应的列数据,若所述行式缓冲区中未加载所述目标列 标识对应的列数据,检测所述列式缓冲区中是否加载所述目标列标识对应的列数据,若所 述列式缓冲区中加载所述目标列标识对应的列数据,从所述列式缓冲区中读取所述目标列 标识对应的列数据;若所述列式缓冲区中未加载所述目标列标识对应的列数据,从所述数 据库中读取所述目标列标识对应的列数据; 以及,将读取的所述目标列标识对应的列数据加载至所述行式缓冲区中的行; 以及,建立所述目标列标识与所述行的行索引的对应关系。 结合本专利技术实施例第一方面的第一种至第三种中的任一种可能的实现方式,在本 专利技术实施例第一方面的第四种可能的实现方式中,所述行式缓冲区包括若干个子缓冲区, 每个所述子缓冲区包括长度相同的若干个行,并且每个所述子缓冲区的行数目相同,所述 若干个子缓冲区中排序相同的行共用同一行索引;所述将读取的所述目标列标识对应的列 数据加载至所述行式缓冲区中的行包括: 将读取的所述目标列标识对应的列数据按照所述行式缓冲区中的所述子缓冲区 的行数目进行划分,并将划分得到的各部分列数据一一加载至任意一个所述子缓冲区包括 的各个行的相同位置中。 结合本专利技术实施例第一方面的第四种可能的实现方式,在本专利技术实施例第一方面 的第五种可能的实现方式中,所述以所述第一查询条件为依据,查询所述行式缓冲区中所 述行索引对应行内的目标列标识对应的列数据以获得查询结果包括: 确定所述行式缓冲区中所述行索引对应的位于任意一个所述子缓冲区的各个 行; 以所述第一查询条件为依据,对所述行索引对应的位于任意一个所述子缓冲区的 各个行中相同位置加载的所述目标列标识对应的各部分列数据进行查询,以获得查询结 果。 结合本专利技术实施例第一方面的第一种或第二种可能的实现方式,在本专利技术实施例 第一方面的第六种可能的实现方式中,当收到分析型业务系统发送的包括指定列标识和第 二查询条件的分析型业务数据查询请求时,检测所述列式缓冲区中是否加载所述指定列标 识对应的列数据,若加载,以所述第二查询条件为依据,查询所述列式缓冲区内所述指定列 标识对应的列数据以获得查询结果并返回给所述分析型业务系统。 结合本专利技术实施例第一方面的第六种可能的实现方式,在本专利技术实施例第一方面 的第七种可能的实现方式中,若所述列式缓冲区中未加载所述指定列标识对应的列数据, 所述方法还包括: 从所述数据库中读取所述指定列标识对应的列数据; 将读取的所述指定列标识对应的列数据加载至所述列式缓冲区的列,并执行所述 的以所述第二查询条件为依据,查询所述列式缓冲区内所述指定列标识对应的列数据以获 得查询结果并返回给所述分析型业务系统的步骤。本专利技术实施例第二方面公开一种业务数据查询装置,数据库内存中包括列式缓冲 区和行式缓冲区,所述列式缓冲区的列用于加载数据库的列数据,所述行式缓冲区的行用 于加载所述列式缓冲区的列数据或所述数据库的列数据,所述装置包括:第一检测单元,用于当收到事务型业务系统发送的包括目标列标识和第一查询条 件的事务型业务数据查询请求时,检测是否存在所述目标列标识对应的行索引;第一查询单元,用于在所述第一检测单元检测存在所述目标列标识对应的行索引 时,以所述第一查询条件为依据,查询所述行式缓冲区中所述行索引对应行内的所述目标 列标识对应的列数据以获得查询结果,并输出给交互单元;所述交互单元,用于将所述第一查询单元获得的所述查询结果返回给所述事务型 业务系统。在本专利技术实施例第二方面的第一种可能的实现方式中,所述装置还包括:第二检测单元,用于在所述第一检测单元检测不存在所述目标列标识对应的行索 引时,检测所述列式缓冲区中是否加载所述目标列标识对应的列数据;第一读取单元,用于在所述第二检测单元检测所述列式缓冲区中加载所述目标列 标识对应的列数据时,从所述列式缓冲区中读取所述目标列标识对应的列数据;第一加载单元,用于将所述第一读取单元读取的所述目标列标识对应的列数据加 载至所述行式缓冲区中的行;第一建立单元,用于建立所述当前第1页1 2 3 4 本文档来自技高网...
一种业务数据查询方法及装置、数据库系统

【技术保护点】
一种业务数据查询方法,其特征在于,数据库内存中包括列式缓冲区和行式缓冲区,所述列式缓冲区的列用于加载数据库的列数据,所述行式缓冲区的行用于加载所述列式缓冲区的列数据或所述数据库的列数据,所述方法包括:当收到事务型业务系统发送的包括目标列标识和第一查询条件的事务型业务数据查询请求时,检测是否存在所述目标列标识对应的行索引;若存在所述目标列标识对应的行索引,以所述第一查询条件为依据,查询所述行式缓冲区中所述行索引对应行内的所述目标列标识对应的列数据以获得查询结果并返回给所述事务型业务系统。

【技术特征摘要】

【专利技术属性】
技术研发人员:金中良
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1