CN104899291B - 关系型数据库的多维分析的方法及装置 - Google Patents

关系型数据库的多维分析的方法及装置 Download PDF

Info

Publication number
CN104899291B
CN104899291B CN201510305578.2A CN201510305578A CN104899291B CN 104899291 B CN104899291 B CN 104899291B CN 201510305578 A CN201510305578 A CN 201510305578A CN 104899291 B CN104899291 B CN 104899291B
Authority
CN
China
Prior art keywords
multidimensional analysis
dimension table
sql
dimension
true
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510305578.2A
Other languages
English (en)
Other versions
CN104899291A (zh
Inventor
尹家彬
胡浩
马斗
常伟
李涛
宋全旺
李雪楠
王乐
宋腾
刘兴瑶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201510305578.2A priority Critical patent/CN104899291B/zh
Publication of CN104899291A publication Critical patent/CN104899291A/zh
Application granted granted Critical
Publication of CN104899291B publication Critical patent/CN104899291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种关系型数据库的多维分析的方法及装置。该方法包括:在关系型数据库中建事实表和维表,并建多维分析模型;将所述多维分析模型中的MDX语句翻译成SQL语句;对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示;采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。本发明通过输出显示多维分析模型中的MDX语句、所述MDX语句翻译成的SQL语句及SQL执行步骤,有利于开发人员及时发现可能存在的性能问题,提高了多维分析的效率,可以方便开发人员监控MDX语句生成SQL语句,方便了多维分析调优的工作。

Description

关系型数据库的多维分析的方法及装置
技术领域
本发明实施例涉及数据库查询技术,尤其涉及一种关系型数据库的多维分析的方法及装置。
背景技术
多维分析是商业智能(Business Intelligence,BI)的一个核心概念,广泛应用到数据分析、决策支持等系统中。多维分析的核心是多维分析模型,里面定义了“维度”、“层次”、“级别”、“指标”等元素,以及“指标”的事实表和“维度”的维表之间的关系。根据多维分析模型进行多维分析查询,得出多维分析结果。多维分析报表是对多维分析结果的一种展现形式,由“维”(影响因素)和“指标”(衡量因素)组成,能够真正为用户所理解、并真实的反映企业特性信息。
多维分析查询与关系型数据库查询不同,多维分析查询使用MDX(MultiDimensional eXpressions,多维分析)语言。基于关系型数据库的多维分析,分析引擎(如开源的多维分析引擎Mondrian)会将MDX翻译成SQL,并将结果以多维分析的方式展现给用户。在基于关系型数据库的多维分析中,由于一条MDX语句会翻译出多条SQL语句来执行,所以一旦出现性能问题,开发人员很难准确的判断出性能的瓶颈是什么,从而需要较长时间进行问题的排查,导致多维分析的效率较低。
发明内容
有鉴于此,本发明实施例提供一种关系型数据库的多维分析的方法及装置,以利于发现性能问题,提高多维分析的效率。
第一方面,本发明实施例提供了一种关系型数据库的多维分析的方法,所述方法包括:
在关系型数据库中建事实表和维表,并建多维分析模型;
将所述多维分析模型中的MDX语句翻译成SQL语句;
对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示;
采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
进一步地,在关系型数据库中建事实表和维表,并建多维分析模型之后,还包括:
对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果;
根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
进一步地,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果,包括:
根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
进一步地,根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示,具体包括:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
进一步地,根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议包括:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
第二方面,本发明实施例还提供了一种关系型数据库的多维分析的装置,所述装置包括:
多维分析模型建立模块,用于在关系型数据库中建事实表和维表,并建多维分析模型;
语句翻译模块,用于将所述多维分析模型中的MDX语句翻译成SQL语句;
输出显示模块,用于对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示;
查询模块,用于采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
进一步地,还包括:
校验模块,用于在关系型数据库中建事实表和维表,并建多维分析模型之后,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果;
优化建议模块,用于根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
进一步地,所述校验模块包括:
校验单元,用于根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
预警提示单元,用于根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
进一步地,所述预警提示单元具体用于:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
进一步地,所述优化建议模块具体用于:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
本发明实施例提供的关系型数据库的多维分析的方法及装置,通过输出显示多维分析模型中的MDX语句、所述MDX语句翻译成的SQL语句及SQL执行步骤,有利于开发人员及时发现可能存在的性能问题,提高了多维分析的效率,可以方便开发人员监控MDX语句生成SQL语句,方便了多维分析调优的工作。
附图说明
图1是本发明实施例一提供的一种关系型数据库的多维分析的方法的流程图;
图2是本发明实施例二提供的一种关系型数据库的多维分析的方法的流程图;
图3是本发明实施例二提供的一种关系型数据库的多维分析的方法的系统架构图;
图4是本发明实施例三提供的一种关系型数据库的多维分析的装置的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
图1是本发明实施例一提供的一种关系型数据库的多维分析的方法的流程图,本实施例可适用于对现有技术中的关系型数据库的多维分析进行优化,该方法可以由计算机来执行,具体包括如下步骤:
步骤110,在关系型数据库中建事实表和维表,并建多维分析模型。
对关系型数据库中存储的数据进行整理,将记录业务指标等事实的数据(如销售数据)及维度外键的数据建为多维分析的事实表,其中,事实表中的外键能将事实表与维表关联起来,代表着所引用的维度和事实;将记录维度信息的数据(如时间维度、地区维度等)建为多维分析的维表。例如:事实表记录了某一天的销售信息,则事实表的外键是对应的时间维表的主键,加入这个值是20150519,通过事实表中的这个外键,可以找到维表中对应的一行时间的记录。
根据需要进行多维分析查询的数据,建立多维分析模型。多维分析模型是对于一个分析主题的描述,描述了一个分析主题需要哪些维度、指标(度量)以及在数据库层各个数据库表之间的关系等。例如:分析京东去年在北京各个区的销量,对于这个分析主题,要抽象出“时间”、“区县”两个维度,“销量”一个指标,多维分析模型就是描述这个分析主题中这些维度、指标的,还有这些维度、指标在数据库中的关系等。多维分析模型描述了事实表、维度、层次、级别等元素的定义,以及事实表和各维表之间的关系。其中,层次是维表中的分析等级顺序,如时间维度,可以有“年月”、“年月日”、“年季月日”等多个分析层次。级别是层次中的一个等级,如在时间维度中,“年月”层次里,“年”是第一个级别,“月”是第二个级别。
步骤120,将所述多维分析模型中的MDX语句翻译成SQL语句。
MDX查询语句支持多维对象与数据的定义和操作,是基于多维分析模型的查询语句。计算机在对关系型数据库进行多维分析时,将基于多维分析模型的MDX语句自动翻译成多条SQL(Structured Query Language,结构化查询语言)语句。
步骤130,对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示。
计算机在利用所述SQL语句进行查询时,通过JDBC(Java Data BaseConnectivity,Java数据库连接)执行SQL语句,这时,通过Java接口动态代理方式拦截JDBC对SQL语句的执行,对拦截到的SQL语句进行编译,进而确定SQL执行步骤(即SQL执行计划),将所述MDX语句、所述MDX语句翻译成的SQL语句以及对应的所述SQL执行步骤进行输出并显示,以供开发人员了解,以供开发人员了解到所存在的性能问题。其中,可以将所述MDX语句、SQL语句以及对应所述SQL执行步骤输出到多种介质中,如日志文件或数据库表等。本步骤可以通过配置文件来触发。
其中,JDBC是一种用于执行SQL语句的Java API(Application ProgrammingInterface,应用程序编程接口),可以为多种关系型数据库提供统一访问,由一组用Java语言编写的类和接口组成。SQL执行计划描述执行一条SQL语句时必须执行的详细步骤,根据数据库的不同和版本的不同,会包括索引的使用情况、执行时间及查询出的记录数等信息。
步骤140,采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
采用所述SQL语句对所述事实表和维表执行SQL查询,将SQL查询结果通过多维分析函数、算法等进行计算和分析,得到最终的基于所述多维分析模型的多维分析查询结果,并返回多维分析的查询结果。其中,多维分析的查询结果有多种展示形式,包括表格或者饼图等。
本实施例通过在关系型数据库中建事实表和维表,并建多维分析模型,将多维分析模型中的MDX语句翻译成SQL语句,并对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示,采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果,通过输出显示所述MDX语句、SQL语句及SQL执行步骤,有利于开发人员及时发现可能存在的性能问题,提高了多维分析的效率,简化了开发人员对MDX语句性能分析的工作,可以方便开发人员监控MDX语句生成SQL语句,方便了多维分析调优的工作。
实施例二
图2是本发明实施例二提供的一种关系型数据库的多维分析的方法的流程图,具体包括如下步骤:
步骤210,在关系型数据库中建事实表和维表,并建多维分析模型。
步骤220,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果。
在接收到用户的校验指令后,对所述多维分析模型中的事实表和维表之间的结构(如数据类型)、以及索引关系进行校验,具体可以校验事实表与维表的主外键是否合理,包括索引是否建立、数据类型是否一致、字符类型的字段是否超出255个字节等,并输出显示校验结果,供开发人员参考。校验结果是根据校验得出的可能会影响多维分析性能的警告,例如:在一个多维分析模型中,一个维表的主键列和事实表中的外键列的数据类型不同;事实表中某一个键列没有建立索引;事实表中的建立索引的外键列的长度超过了255个字节;等等。
优选的,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果,包括:
根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
其中,事实表与维表所对应的列即事实表的外键列与维表的主键列。
优选的,根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示,具体包括:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
步骤230,根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
例如:如果校验结果为一个维表的主键列和事实表中的外键列的数据类型不同,则对所述事实表和维表之间的结构、索引关系给出的优化建议为将维表的主键列和事实表中的外键列的数据类型修改为相同数据类型;如果校验结果为事实表中某一个键列没有建立索引,则对所述事实表和维表之间的结构、索引关系给出的优化建议为为事实表中没有建立索引的键列建立索引;如果事实表中的建立索引的外键列的长度超过了255个字节,则对所述事实表和维表之间的结构、索引关系给出的优化建议为建议将事实表中的建立索引的外键列的长度控制在255个字节以内;如果校验结果为维表中级别列的数据均为数值,却定义了非数值类型,则建议改为数值类型;等等。
其中,根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议,优选包括:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
如果所述事实表和维表之间的结构、以及索引关系不明确,或者,所述事实表和维表之间的结构、以及索引关系不合理,所述事实表和维表之间的结构、以及索引关系不利于开发人员排查问题。在多维分析中出现性能问题时,由于索引关系不明确开发人员无法快速发现问题,需要很长时间去排查,从而影响多维分析的整体效率;当所述事实表和维表之间的索引关系不合理时,在执行查询的时候,不能查找到相应的索引列,从而出现问题,还需要开发人员去排查问题,从而影响多维分析的整体效率。当所述事实表和维表之间的结构、以及索引关系会影响多维分析的效率时,便会产生如上所述的提示建议。在除了上述的单独索引以外,不建议建立其他的单独索引。
步骤240,将所述多维分析模型中的MDX语句翻译成SQL语句。
步骤250,对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示。
步骤260,采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
图3是本发明实施例二提供的一种关系型数据库的多维分析的方法的系统架构图,如图3所示,其中,优化分析组件包括模型分析组件和SQL分析组件,模型分析组件用于对多维分析引擎中建立的多维分析模型进行校验分析,SQL分析组件用于拦截JDBC对MDX语句翻译成的SQL语句的执行,执行SQL的执行计划,并输出结果到指定位置,结果包括MDX语句、所述MDX语句翻译成的SQL语句和执行计划的结果。其中,模型分析组件会给出预警提示和优化建议。SQL分析组件在通过配置文件开启SQL分析功能后才会拦截JDBC对SQL语句的执行,在配置文件没有开启SQL分析功能时,则不会对SQL语句的执行进行拦截。
如图3所示,实线框中的多维分析引擎是现有技术中的多维分析的方法,虚线框中的模型分析组件是本发明实施例加入的优化方法,从图3中可以看出,本发明实施例提供的关系型数据库的多维分析的方法采用非侵入式的方式对原有的多维分析系统进行分析和监控,可以提前发现一些性能问题,做到事先预防。
其中,多维分析引擎可以采用Mondrian,Mondrian是使用Java开发的、开源的基于关系数据库(而非多维数据库)的多维分析引擎,它实现了xmla和jolap规范,而且自定义了一种使用MDX语言的客户端接口。
本实施例通过对建立的多维分析模型中的事实表和维表之间的结构、索引关系进行校验,并输出校验结果,根据校验结果给出优化建议,进一步揭示了多维分析模型中可能存在的性能问题,有利于开发人员及时发现可能存在的性能问题,进一步提高了多维分析的效率,给出的优化建议可以使得对数据库技术不是特别熟悉的开发人员了解到可能存在的性能问题,并根据优化建议进行修改,而且给出的优化建议是对多维分析模型整体进行了分析后给出的结论而不是针对其中的某一个分析单元。
实施例三
图4是本发明实施例三提供的一种关系型数据库的多维分析的装置的示意图,如图4所示,本实施例提供的关系型数据库的多维分析的装置包括:多维分析模型建立模块410、语句翻译模块420、输出显示模块430和查询模块440。
其中,多维分析模型建立模块410用于在关系型数据库中建事实表和维表,并建多维分析模型;
语句翻译模块420用于将所述多维分析模型中的MDX语句翻译成SQL语句;
输出显示模块430用于对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及对应所述SQL执行步骤进行输出显示;
查询模块440用于采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
优选的,还包括:
校验模块,用于在关系型数据库中建事实表和维表,并建多维分析模型之后,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果;
优化建议模块,用于根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
优选的,所述校验模块包括:
校验单元,用于根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
预警提示单元,用于根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
优选的,所述预警提示单元具体用于:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
优选的,所述优化建议模块具体用于:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种关系型数据库的多维分析的方法,其特征在于,所述方法包括:
在关系型数据库中建事实表和维表,并建多维分析模型;
将所述多维分析模型中的多维分析MDX语句翻译成结构化查询语言SQL语句;
对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及所述SQL语句对应的所述SQL执行步骤进行输出显示;
采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
2.根据权利要求1所述的方法,其特征在于,在关系型数据库中建事实表和维表,并建多维分析模型之后,还包括:
对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果;
根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
3.根据权利要求2所述的方法,其特征在于,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果,包括:
根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
4.根据权利要求3所述的方法,其特征在于,根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示,具体包括:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
5.根据权利要求2所述的方法,其特征在于,根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议包括:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
6.一种关系型数据库的多维分析的装置,其特征在于,所述装置包括:
多维分析模型建立模块,用于在关系型数据库中建事实表和维表,并建多维分析模型;
语句翻译模块,用于将所述多维分析模型中的MDX语句翻译成SQL语句;
输出显示模块,用于对所述SQL语句进行编译以确定SQL执行步骤,并将所述MDX语句、SQL语句以及所述SQL语句对应的所述SQL执行步骤进行输出显示;
查询模块,用于采用所述SQL语句对所述事实表和维表执行SQL查询,并返回查询结果。
7.根据权利要求6所述的装置,其特征在于,还包括:
校验模块,用于在关系型数据库中建事实表和维表,并建多维分析模型之后,对所述多维分析模型中的事实表和维表之间的结构、以及索引关系进行校验,并输出校验结果;
优化建议模块,用于根据所述校验结果,对所述事实表和维表之间的结构、以及索引关系给出优化建议。
8.根据权利要求7所述的装置,其特征在于,所述校验模块包括:
校验单元,用于根据所述多维分析模型中的事实表与维表的关系,对所述事实表和所述维表所对应的列进行校验;
预警提示单元,用于根据校验得出数据库中事实表或维表的结构定义不合理,则给出预警提示。
9.根据权利要求8所述的装置,其特征在于,所述预警提示单元具体用于:
当所述事实表的外键列的数据类型与所述维表中的级别列的数据类型不一致时,给出预警提示;或
当所述事实表或所述维表中的索引列为字符类型且长度超过255个字节时,给出预警提示。
10.根据权利要求7所述的装置,其特征在于,所述优化建议模块具体用于:
如果校验结果表明所述事实表和维表之间的结构、以及索引关系影响多维分析的效率,则产生如下至少一项提示建议:
所述多维分析模型中的事实表与维表关联的各外键列分别建立单独索引;
在所述维表中,所有层次中的所有级别对应的列分别建立单独索引;
不建议建立联合索引。
CN201510305578.2A 2015-06-05 2015-06-05 关系型数据库的多维分析的方法及装置 Active CN104899291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510305578.2A CN104899291B (zh) 2015-06-05 2015-06-05 关系型数据库的多维分析的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510305578.2A CN104899291B (zh) 2015-06-05 2015-06-05 关系型数据库的多维分析的方法及装置

Publications (2)

Publication Number Publication Date
CN104899291A CN104899291A (zh) 2015-09-09
CN104899291B true CN104899291B (zh) 2018-05-04

Family

ID=54031953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510305578.2A Active CN104899291B (zh) 2015-06-05 2015-06-05 关系型数据库的多维分析的方法及装置

Country Status (1)

Country Link
CN (1) CN104899291B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106066895B (zh) * 2016-06-30 2020-01-24 广东亿迅科技有限公司 一种智能查询系统
CN106293712B (zh) * 2016-08-01 2019-06-25 浪潮金融信息技术有限公司 一种报表加工cube模型的实现方法
CN107767933A (zh) * 2016-08-16 2018-03-06 厦门君沣信息科技有限公司 基于olap的心理态势预警方法及装置
CN106682183A (zh) * 2016-12-29 2017-05-17 武汉璞华大数据技术有限公司 一种可联动的数据可视化看板系统
CN106919678A (zh) * 2017-02-27 2017-07-04 武汉珞佳伟业科技有限公司 一种数据库查询优化系统及方法
CN109491896B (zh) * 2018-10-26 2022-06-21 深圳点猫科技有限公司 一种教育系统的微信小程序表单校验方法及电子设备
CN113010611A (zh) * 2019-12-19 2021-06-22 北京阿博茨科技有限公司 一种自动生成关系型数据库表间关系的方法和系统
CN111241211A (zh) * 2020-01-16 2020-06-05 青岛特来电云科技有限公司 一种适配多类大数据库的多维分析方法
CN111427626B (zh) * 2020-03-26 2023-07-25 浪潮通用软件有限公司 基于维度数据仓库快速生成报表的方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588358A (zh) * 2004-08-26 2005-03-02 陈红 对mdx多维数据查询语句的处理方法和系统
CN102682118A (zh) * 2012-05-15 2012-09-19 北京久其软件股份有限公司 一种多维数据模型访问方法及装置
CN103488475A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 多维数据分析系统和多维数据分析方法
CN104462430A (zh) * 2014-12-12 2015-03-25 北京国双科技有限公司 关系型数据库的数据处理方法及装置
CN104484392A (zh) * 2014-12-11 2015-04-01 北京国双科技有限公司 数据库查询语句生成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588358A (zh) * 2004-08-26 2005-03-02 陈红 对mdx多维数据查询语句的处理方法和系统
CN102682118A (zh) * 2012-05-15 2012-09-19 北京久其软件股份有限公司 一种多维数据模型访问方法及装置
CN103488475A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 多维数据分析系统和多维数据分析方法
CN104484392A (zh) * 2014-12-11 2015-04-01 北京国双科技有限公司 数据库查询语句生成方法及装置
CN104462430A (zh) * 2014-12-12 2015-03-25 北京国双科技有限公司 关系型数据库的数据处理方法及装置

Also Published As

Publication number Publication date
CN104899291A (zh) 2015-09-09

Similar Documents

Publication Publication Date Title
CN104899291B (zh) 关系型数据库的多维分析的方法及装置
JP6857689B2 (ja) データ検索装置、プログラム、及び記録媒体
Wang et al. Industrial big data analytics: challenges, methodologies, and applications
US10127278B2 (en) Processing database queries using format conversion
US20200233905A1 (en) Systems and Methods for Data Analysis and Visualization Spanning Multiple Datasets
Ghazal et al. Bigbench: Towards an industry standard benchmark for big data analytics
CN102682118B (zh) 一种多维数据模型访问方法及装置
US6718338B2 (en) Storing data mining clustering results in a relational database for querying and reporting
US7716174B2 (en) System and method for planning and generating queries for multi-dimensional analysis using domain models and data federation
US20160328443A1 (en) Knowledge Graph Based Query Generation
US8086592B2 (en) Apparatus and method for associating unstructured text with structured data
CN104765731B (zh) 数据库查询优化方法和设备
CN107111639B (zh) 构建报表
US20140149446A1 (en) Question Answering Framework for Structured Query Languages
US20180075161A1 (en) Extensible automatic query language generator for semantic data
US8892545B2 (en) Generating a compiler infrastructure
US20120143831A1 (en) Automatic conversion of multidimentional schema entities
Hamouda et al. Document-oriented data schema for relational database migration to NoSQL
CN104750496B (zh) 一种模型变更影响度自动检查方法
US9110935B2 (en) Generate in-memory views from universe schema
CN103853818A (zh) 多维数据的处理方法和装置
US10726005B2 (en) Virtual split dictionary for search optimization
US10171311B2 (en) Generating synthetic data
CN110019554B (zh) 数据驱动型应用的数据模型、数据建模系统和方法
CN103886021A (zh) 一种基于自然语言的数据库审计结果翻译方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant