一种数据仓库快速查询方法和装置与流程

文档序号:13676570阅读:274来源:国知局
技术领域本发明属于互联网领域,涉及一种数据仓库快速查询方法和装置,特别设计一种雪花星型表的查询。

背景技术:
数据仓库,英文名称为DataWarehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。通过收集查询对象中用到的度量,维度,我们可找出查询所需要的表,但只有这些表是不够的,我们需要找出最小的表集合,它们即能进行关联,又包括所有查询所需的表。当然,我们也能将所有的表进行关联,但这样查询的性能会很差。

技术实现要素:
本发明所要解决的技术问题是提供一种数据仓库快速查询方法和装置,用以实现最小关联表集合,实现快速查询,提高查询效率。本发明解决上述技术问题所采取的技术方案如下:一种数据仓库快速查询方法,其特征在于,包括:步骤一)获取数据模型和查询条件,其中,数据模型包括事实表和维度表的关联关系,查询条件中包括需要查询的第一数据库表,其是作为主表的事实表和与该事实表相关联的维度表的任意组合;步骤二)从第一数据库表所有的表出发,根据事实表和维度表的关联关系路径,向着事实表依次回溯,每次回溯计数加1;步骤三)重复步骤二,当回溯计数和表的个数一致时,表明当前表为所有关联维度表的主表;步骤四)从所述主表出发,按照关联关系进行深度遍历,依次形成查询路径和需要关联的维度表,最终形成需要查询的第二数据库表。优选的是,所述数据模型为雪花星型模型。优选的是,步骤四)中,具体包括:根据步骤三)得到第一数据库表和回溯用到的表,构成关联表;从所述主表出发,按照关联关系进行深度遍历,最终得到主表、关联表、维度表的查询顺序,形成最终的第二数据库表。一种数据仓库快速查询装置,包括:查询输入单元,用于获取数据模型和查询条件,其中,数据模型包括事实表和维度表的关联关系,查询条件中包括需要查询的第一数据库表,其是作为主表的事实表和与该事实表相关联的维度表的任意组合;查询计算单元,用于从第一数据库表所有的表出发,根据事实表和维度表的关联关系路径,向着事实表依次回溯,每次回溯计数加1;重复以上步骤,其中,当回溯计数和表的个数一致时,表明当前表为所有关联维度表的主表;数据库表构建单元,用于从所述主表出发,按照关联关系进行深度遍历,依次形成查询路径和需要关联的维度表,最终形成需要查询的第二数据库表。优选的是,所述数据模型为雪花星型模型。优选的是,所述数据库表构建单元,进一步根据查询计算单元的处理,得到第一数据库表和回溯用到的表,构成关联表;进一步从所述主表出发,按照关联关系进行深度遍历,最终得到主表、关联表、维度表的查询顺序,形成最终的第二数据库表。本发明采取了上述方案以后,能够基于回溯的方法,得到最小关联的关联表集合,实现了快速查询,具有较高的效率。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明下面结合附图对本发明进行详细的描述,以使得本发明的上述优点更加明确。其中,图1是本发明数据仓库快速查询方法的流程示意图;图2是本发明数据仓库快速查询方法的数据仓库的各个表之间的示意图;图3a-3d是发明数据仓库快速查询方法的示意图;图4是本发明数据仓库快速查询装置的结构示意图。具体实施方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。实施例一:一种数据仓库快速查询方法,其特征在于,包括:步骤一)获取数据模型和查询条件,其中,数据模型包括事实表和维度表的关联关系,查询条件中包括需要查询的第一数据库表,其是作为主表的事实表和与该事实表相关联的维度表的任意组合;步骤二)从第一数据库表所有的表出发,根据事实表和维度表的关联关系路径,向着事实表依次回溯,每次回溯计数加1;步骤三)重复步骤二,当回溯计数和表的个数一致时,表明当前表为所有关联维度表的主表;步骤四)从所述主表出发,按照关联关系进行深度遍历,依次形成查询路径和需要关联的维度表,最终形成需要查询的第二数据库表。优选的是,所述数据模型为雪花星型模型。优选的是,步骤四)中,具体包括:根据步骤三)得到第一数据库表和回溯用到的表,构成关联表;从所述主表出发,按照关联关系进行深度遍历,最终得到主表、关联表、维度表的查询顺序,形成最终的第二数据库表。本发明采取了上述方案以后,能够基于回溯的方法,得到最小关联的关联表集合,实现了快速查询,具有较高的效率。实施例二:结合实施例对以上方法进行说明。例如,对于下图关联关系的雪花模型表,其中“A”是事实表,其它表是维度表。如图2所示,当查询所需表是(A,E,I)时,我们希望关联的表是(A,B,E,C,G,I)。为了得到上述关联的表,我们为每个表加计数属性,查询所需表的计数是0,然后向上回溯到事实表,每回溯一次,计数加1,当某个表的计数属性值为查询所需表的个数时,该表为关联表的主表,回溯过程中用到的表则为关联的表。具体过程见图3a-3d。如图3a所示,查询所需表(A,E,I)的计数分别置0。如图3b所示,E向上回溯到B且计数加1,I向上回溯到G且计数加1,A是事实表,无法在回溯,最终表(B,G)的计数分别为(1,1)。如图3c所示,B向上回溯到A且计数加1,G向上回溯到C且计数加1,最终表(A,C)的计数分别为(2,2)。如图3d所示,C向上回溯到A且计数加1,最终在表A,计数“3”和查询表的个数“3”一致,因此表A是关联表的主表。查询表(A,E,I)和回溯用到的表(B,G,C)共同组成了关联表(A,E,I,B,G,C)。有了关联表,我们从主表A进行深度遍历,不难得出最终用于关联表的次序(A,B,E,C,G,I)。有了关联表和查询对象,我们就能构建查询用的sql,通过sql查询数据,就能得到最终需要的数据。实施例三:与以上方法实施例相对应,本发明还提供了一种数据仓库快速查询装置,如图4所示,主要包括:查询输入单元,用于获取数据模型和查询条件,其中,数据模型包括事实表和维度表的关联关系,查询条件中包括需要查询的第一数据库表,其是作为主表的事实表和与该事实表相关联的维度表的任意组合;查询计算单元,用于从第一数据库表所有的表出发,根据事实表和维度表的关联关系路径,向着事实表依次回溯,每次回溯计数加1;重复以上步骤,其中,当回溯计数和表的个数一致时,表明当前表为所有关联维度表的主表;数据库表构建单元,用于从所述主表出发,按照关联关系进行深度遍历,依次形成查询路径和需要关联的维度表,最终形成需要查询的第二数据库表。优选的是,所述数据模型为雪花星型模型。优选的是,所述数据库表构建单元,进一步根据查询计算单元的处理,得到第一数据库表和回溯用到的表,构成关联表;进一步从所述主表出发,按照关联关系进行深度遍历,最终得到主表、关联表、维度表的查询顺序,形成最终的第二数据库表。本发明具有方法实施例相同的优点,即其能够基于回溯的方法,得到最小关联的关联表集合,实现了快速查询,具有较高的效率。需要说明的是,对于上述方法实施例而言,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1