CN103823823B - 基于频繁项集挖掘算法的反规范化策略选择方法 - Google Patents

基于频繁项集挖掘算法的反规范化策略选择方法 Download PDF

Info

Publication number
CN103823823B
CN103823823B CN201310283857.4A CN201310283857A CN103823823B CN 103823823 B CN103823823 B CN 103823823B CN 201310283857 A CN201310283857 A CN 201310283857A CN 103823823 B CN103823823 B CN 103823823B
Authority
CN
China
Prior art keywords
tree
frequent
item
denormalization
node
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
CN201310283857.4A
Other languages
English (en)
Other versions
CN103823823A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201310283857.4A priority Critical patent/CN103823823B/zh
Publication of CN103823823A publication Critical patent/CN103823823A/zh
Application granted granted Critical
Publication of CN103823823B publication Critical patent/CN103823823B/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

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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于频繁项集挖掘算法的反规范化策略选择方法,具体的说是海量数据集上基于频繁项集挖掘算法的反规范化策略选择方法。本方法将频繁模式挖掘的方法首次用于指导数据库反规范化操作;以及基于精简前缀树的频繁模式挖掘算法中,提出了服务于数据库反规范化选择的全新的建立精简前缀树的过程和正确的计数方法。本发明有益效果表现在:通过关联规则的频繁项集挖掘算法,发现大量数据中项集之间重要的关联或者相关联系,指导DBA等开展数据库的反规范化策略的选择和构建,解决海量数据中因大量的表连接操作而带来的性能瓶颈问题。

Description

基于频繁项集挖掘算法的反规范化策略选择方法
技术领域
本发明涉及反规范化策略选择方法,具体的说是一种海量数据集上基于频繁项集挖掘算法的反规范化策略选择方法。
背景技术
构造关系数据库必须遵循一定的规则,称为范式。范式级别越高,数据库设计的要求也越高。同时随着范式的增高,数据库的冗余逐级减少,数据一致性逐级增强。然而关系数据库理论也存在不足之处,范式越高,数据模型越细,意味着需要更多的数据表,这使得程序在运行过程中需要更多的表连接操作,尽管部分数据库系统支持存储过程等技术,但这并不能带来革命性的效率提升,尤其是当需要连接的两张或者多张表数据非常庞大的时候,表连接操作几乎是一个噩梦。
而现今许多研究者对海量数据存储下数据库设计的一些反范式方法(或者叫反规范化方法)进行讨论,所谓反范式,即不完全按照范式的理论来设计数据表结构,旨在解决海量数据中因大量的表连接操作而带来的性能瓶颈问题。大量的实际应用表明适当的反范式能带来性能极大的提升,尤其是在海量数据存储的情况下,效果尤为明显。但同时,反范式也会引入相应的更新删除等额外操作和程序设计的复杂性,因此,在实际应用中应按实际需求适当使用。如果系统较小,数据量不大,反范式反而不能体现性能的优势,甚至会带来程序和数据库设计上的复杂性。
反规范化方法主要分为以下几类:反规范化方法主要有增加冗余列、增加派生列、水平分割表、垂直分割表、重新组表等策略。
1.增加冗余列:在多个表中存放相同的列数据,以冗余数据取代表间主键外键形式的多表连接。
2.增加派生列:增加的列由其它表中或表中其他列数据通过集函数计算生成。
3.重新组表:如果查询时需连接多张表,可将部分查询表项组成新表。重新组表的冗余数据可由触发器实时更新。
4.水平分割表:根据一列或多列数据的值,把一张大表的数据放到几个独立的表中。
5.垂直分割表:把主键和一些列放到一个表,将主键和其他列放到另外几个表中。
反规范化的设计和应用,需要有严格的要求,对应需要增加的冗余列和派生字段等,也需要根据业务需要进行严格定义,否则会引起严重的后果,这里有几个原则作为反规范化设计的一些选择依据:
(1)多表之间存在大量重复连接操作,可以考虑增加冗余列;
(2)经常使用有关系的表的几列,可以考虑重新组表;
(3)列数多、记录数较多的表,可以进行分解;
(4)复合主键的表,可以增加冗余列作为主键字段。
(5)等等。
上面的原则,只是根据实际应用情况,得出的部分反规范化选择的经验依据,不仅不全面,不系统,同时,对于反规范化选择也是不够准确和科学的,较为主观。
目前,国内反规范化技术的研究和设计,主要是针对相应的应用,开展反规范化设计和实现工作,或者对于反规范化技术本身的介绍和分析。
国外的研究工作者,对反规范化的工作开展了更加深入的工作,但也是处于发展阶段。主要代表的工作包括反规范化技术本身的分析,优化,规范化和反规范化的比较等工作上。其中,对于反规范化的错误估计和有效性评价,是比较有价值的研究。
发明内容
针对上述反规范化技术的缺陷和研究需求,提出了本发明---基于频繁项集挖掘算法的反 规范化策略选择方法,提出了数据库反规范化策略的选择方法,区别于目前的反规范化错误评估和有效性评价(反规范化后期阶段工作)的成果。本算法通过关联规则的频繁项集挖掘算法,发现大量数据中项集(指反规范化的基本元素,如表等)之间重要的关联或者相关联系,指导DBA等开展数据库的反规范化策略的选择和构建。
本发明为实现上述技术问题所采用的基于频繁项集挖掘算法的反规范化策略选择方法:基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于包括以下步骤:
1-(a).获取数据库日志文件步骤:获取待分析的数据库日志文件;
1-(b).解析日志步骤:分析日志中的SELECT语句,提取其所涉及的表名,字段名作为事务项;继而获取涉及跨表查询的事物记录或者仅单表查询的事物记录;
1-(c).数据挖掘步骤,本步骤基于精简前缀树的频繁模式挖掘,依次包含三个部分:
(c-1).建立FP-tree步骤:读取事务记录集,由预设的支持度经验值建立频繁模式树(FP-tree),所述支持度阈值经由大量反规范化实例分析所确定,为经验值;
(c-2).根据FP-tree建立精简前缀树(Concise-tree)步骤,所述精简前缀树由一个指针域、一个频繁项头表组成;指针域存储指向整棵虚拟树(即Concise-tree)的信息;频繁项头表中每一条表项存储一个节点的支持度计数Count;是一种蕴含所有频繁模式的树,可高效挖掘出频繁模式;
(c-3).递归频繁项集的步骤:不断递归建立Concise-tree直到所有频繁模式被导出。
1-(d).反规范化频繁模式集步骤:获得反规范化的频繁模式;
1-(e).垂直分割步骤:具体地,把主键以及用户自定义列存放于重用表a中,将主键和其他列放到另外几个表中,以减少I/O开销的步骤;
1-(f).产生重新组表/增加冗余列的SQL语句的步骤:该步骤导出的频繁模式集包含了频繁被查询的列表名及字段名,用于指导重新组表/增加冗余列。
进一步地,所述解析日志步骤中,涉及跨表查询的事务记录、仅单表查询的事务记录为解析日志;若事务记录中同时含有不同的表名、不同的字段名,则为涉及跨表查询的事务记录;若事务记录中仅含同一表中的不同的字段名,则为仅单表查询的事务记录。
具体地,所述建立FP-tree包含以下具体步骤:
将事务数据集读入内存,根据预设的支持度阈值过滤得到频繁1-项集;
将事务集中所有频繁项挂接在FP-tree中。
进一步地,所述建立Concise-tree包含ConciseTree(k)或ConciseTree(k1,k2,k3...,km-1,km)两类精减前缀树,其特征在于包含以下步骤:
2-(a).建立基于FP-tree构建以项序号k为后缀基的精简前缀树ConciseTree(k)的步骤:
从FP-tree的头表遍历项k的所有同名项节点;
对于每个同名项节点,同时向上遍历此条件路径上所有项节点;同时统计各项的支持度计数并填充每个项节点的ConciseLink域、后缀基k的支持度计数(BaseCount域);
2-(b).建立基于ConciseTree(k1,k2,k3...,km-1)构建ConciseTree(k1,k2,k3...,km-1,km)的步骤:
遍历前一精简前缀树的整棵虚拟的树(VirtualCT)信息及相应的FP-tree中项节点的ConciseLink域来;
若其前缀路径直接指向项km,向上遍历此前缀路径中每一个项节点并统计其支持度计数;
若前缀路径不直接指向项km,在向上遍历此路径的同时,直到出现项km节点才统计路径中km节点之后项节点支持度计数,否则直接跳过各项节点。
进一步地,所述递归频繁项集的步骤,特征在于包含以下步骤:
不断递归生成Concise-tree来获取频繁项集信息;每一次递归生成Concise-tree,其对应的后缀基都将被压入栈中,当源于同一Concise-tree的一系列子Concise-tree都被生成后,输出栈中所有项(即为一个频繁项集);
继而从另一棵Concise-tree起,递归生成其子Concise-tree,并把频繁项压入栈中,如此 循环下去直到所有Concise-tree都已经生成;
输出所有的频繁项集。
具体地,所述产生重新组表/增加冗余列的SQL语句的步骤,特征在于当表间的连接复杂度高于某阈值时,将选择进行重新组表操作,其中重新组表和增加冗余列的目的都是减少大量表连接带来的开销,其中,重新组表是将部分频繁查询的表项组成新表,增加冗余列是在多个表中存放相同的列数据。
具体地,所述Conciselink域代表精简树中相关节点的链接,FP-tree中用支持度计数降序序号Order标记各个项,所述各项Count、Child、Parent、Sibling、Link分别表示项的支持度计数、项在FP-tree中的孩子节点项、父节点项、兄弟节点项、同名链接节点项;ConciseLink用来链接ConciseTree中的关联节点。
精简前缀树(Concise-tree)定义:FP-tree中所有以项集{x1,x2,...,xk}为后缀基的条件路径构成的子树称为以项集{x1,x2,...,xk}为后缀基的前缀树。由于此树结构非常简单,进一步称其为精简前缀树(Concise-tree),记为Concise{x1,x2,...,xk}。
精简前缀树实质上只由一个存储项计数的头表和一个指针域构成:VirtualCT域便指示了整棵虚拟的树,VirtualCT域是Concise-tree的唯一指针域。
Concise-tree还附带有一个头表,头表中每个表项存储了项的支持度计数:Concise-tree头表表项。
综上所述,精简前缀树(Concise-tree)是具有如下特征的一种前缀树:
1.由一个指针域、一个频繁项头表组成;
2.指针域存储指向整棵虚拟树(即Concise-tree)的信息;
3.频繁项头表中每一条表项存储一个节点的支持度计数Count。
与现有的技术相比,本发明具有以下优势:
服务于数据库反规范化选择方法的频繁模式挖掘算法核心设计---精简前缀树全面正确的建立流程;具体地,在Array-tree的基础上进一步精简其结构而产生Concise-tree的优势在于频繁模式挖掘算法有80%的时间都花费在递归建立条件FP-tree(或Array-tree、Concise-tree)上,减轻它们的构建负担(实际上把负担转移到建立原始FP-tree上),会给递归建树的过程带来便捷,减少挖掘时间。
通过表和字段的分析和计算,通过关联规则的频繁项集挖掘算法,发现大量数据中项集(指反规范化的基本元素,如表等)之间重要的关联或者相关联系,指导DBA等开展数据库的反规范化策略的选择和构建,解决海量数据中因大量的表连接操作而带来的性能瓶颈问题。
附图说明
图1是本发明反规范化策略选择方法总流程示意图;
图2是本发明中FP-tree的建立过程示例示意图;
图3是本发明中基于FP-tree构建的ConciseTree(4)与ConciseTree(3)示意图;
图4是本发明中基于FP-tree构建以项序号k为后缀基的精简前缀树ConciseTree(k)流程示意图;
图5是本发明中基于ConciseTree(3)构建ConciseTree(3,2)、ConciseTree(3,2,1)、ConciseTree(3,2,1,0)的过程示意图;
图6是本发明基于ConciseTree(k1,k2,k3...,km-1)构建ConciseTree(k1,k2,k3...,km-1,km)流程示意图;
具体实施方式
下面将结合附图及具体实施方式对本发明作进一步的描述。
例一:基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于包括以下步骤:
1-(a).获取数据库日志文件步骤:获取待分析的数据库日志文件;
1-(b).解析日志步骤:分析日志中的SELECT语句,提取其所涉及的表名,字段名作为 事务项;继而获取涉及跨表查询的事物记录或者仅单表查询的事物记录;
1-(c).数据挖掘步骤,本步骤基于精简前缀树的频繁模式挖掘,依次包含三个部分:
(c-1).建立FP-tree步骤:读取事务记录集,由预设的支持度经验值建立频繁模式树(FP-tree),所述支持度阈值经由大量反规范化实例分析所确定,为经验值;
(c-2).根据FP-tree建立精简前缀树(Concise-tree)步骤,所述精简前缀树由一个指针域、一个频繁项头表组成;指针域存储指向整棵虚拟树(即Concise-tree)的信息;频繁项头表中每一条表项存储一个节点的支持度计数Count;是一种蕴含所有频繁模式的树,可高效挖掘出频繁模式;
(c-3).递归频繁项集的步骤:不断递归建立Concise-tree直到所有频繁模式被导出。
1-(d).反规范化频繁模式集步骤:获得反规范化的频繁模式;
1-(e).垂直分割步骤:具体地,把主键以及用户自定义列存放于重用表a中,将主键和其他列放到另外几个表中,以减少I/O开销的步骤;
1-(f).产生重新组表/增加冗余列的SQL语句的步骤:该步骤导出的频繁模式集包含了频繁被查询的列表名及字段名,用于指导重新组表/增加冗余列。
进一步地,所述解析日志步骤中,涉及跨表查询的事务记录、仅单表查询的事务记录为解析日志;若事务记录中同时含有不同的表名、不同的字段名,则为涉及跨表查询的事务记录;若事务记录中仅含同一表中的不同的字段名,则为仅单表查询的事务记录。
具体地,所述建立FP-tree包含以下具体步骤:
将事务数据集读入内存,根据预设的支持度阈值过滤得到频繁1-项集;
将事务集中所有频繁项挂接在FP-tree中。
进一步地,所述建立Concise-tree包含建立ConciseTree(k)或ConciseTree(k1,k2,k3...,km-1,km)两类精减前缀树,其特征在于包含以下步骤:
2-(a).建立基于FP-tree构建以项序号k为后缀基的精简前缀树ConciseTree(k)的步骤:
从FP-tree的头表遍历项k的所有同名项节点;
对于每个同名项节点,同时向上遍历此条件路径上所有项节点;同时统计各项的支持度计数并填充每个项节点的ConciseLink域、后缀基k的支持度计数(BaseCount域);
2-(b).建立基于ConciseTree(k1,k2,k3...,km-1)构建ConciseTree(k1,k2,k3...,km-1,km)的步骤:
遍历前一精简前缀树的整棵虚拟的树(VirtualCT)信息及相应的FP-tree中项节点的ConciseLink域来;
若其前缀路径直接指向项km,向上遍历此前缀路径中每一个项节点并统计其支持度计数;
若前缀路径不直接指向项km,在向上遍历此路径的同时,直到出现项km节点才统计路径中km节点之后项节点支持度计数,否则直接跳过各项节点。
进一步地,所述递归频繁项集的步骤,特征在于包含以下步骤:
不断递归生成Concise-tree来获取频繁项集信息;每一次递归生成Concise-tree,其对应的后缀基都将被压入栈中,当源于同一Concise-tree的一系列子Concise-tree都被生成后,输出栈中所有项(即为一个频繁项集);
继而从另一棵Concise-tree起,递归生成其子Concise-tree,并把频繁项压入栈中,如此循环下去直到所有Concise-tree都已经生成;
输出所有的频繁项集。
具体地,所述产生重新组表/增加冗余列的SQL语句的步骤,特征在于当表间的连接复杂度高于某阈值时,将选择进行重新组表操作,其中重新组表和增加冗余列的目的都是减少大量表连接带来的开销,其中,重新组表是将部分频繁查询的表项组成新表,增加冗余列是在多个表中存放相同的列数据。
例二:
获取待分析的数据库日志文件:假设一组精简的测试数据集TestSet,如表1所示。
预设支持度计数阈值为3。
表1:测试数据集TestSet
分析日志中的SELECT语句,提取其所涉及的表名,字段名作为事务项:测试数据集TestSet读入内存后获取的频繁1-项集(或称项序转换表),如表2所示。
序号 项目
0 course.academy_id
1 academy.academy_id
2 course.course_id
3 teacher.teacher_id
4 give_lesson.givelesson_id
表2:频繁1项集(项序转换表)
如图2将事务数据集读入内存,根据预设的支持度阈值过滤得到频繁1-项集;
将事务集中所有频繁项挂接在FP-tree中;
如图3从FP-tree的头表遍历项k的所有同名项节点;
对于每个同名项节点,同时向上遍历此条件路径上所有项节点;同时统计各项的支持度计数并填充每个项节点的ConciseLink域、后缀基k的支持度计数(BaseCount域);
精简前缀树本身蕴含的信息就是频繁项集,通过不断递归生成Concise-tree来获取频繁项集信息。每一次递归生成Concise-tree,其对应的后缀基都将被压入栈中,当源于同一Concise-tree的一系列子Concise-tree都被生成后,输出栈中所有项(即为一个频繁项集)。接着从另一棵Concise-tree起,递归生成其子Concise-tree,并把频繁项压入栈中,如此循环下去直到所有Concise-tree都已经生成。此时,所有的频繁项集都已输出。TestSet数据集导出的频繁项集结果如表3所示(支持度计数阈值为3)。
表3:TestSet导出的频繁项集
例三:
获取待分析的数据库日志文件:假设一组精简的测试数据集TestSet,如表1所示。
预设支持度计数阈值为3。
表1:测试数据集TestSet
分析日志中的SELECT语句,提取其所涉及的表名,字段名作为事务项:测试数据集TestSet读入内存后获取的频繁1-项集(或称项序转换表),如表2所示。
序号 项目
0 course.academy_id
1 academy.academy_id
2 course.course_id
3 teacher.teacher_id
4 give_lesson.givelesson_id
表2:频繁1项集(项序转换表)
如图2将事务数据集读入内存,根据预设的支持度阈值过滤得到频繁1-项集;
将事务集中所有频繁项挂接在FP-tree中;
如图5遍历前一精简前缀树的整棵虚拟的树(VirtualCT)信息及相应的FP-tree中项节点的ConciseLink域来;
若其前缀路径直接指向项km,向上遍历此前缀路径中每一个项节点并统计其支持度计数;
若前缀路径不直接指向项km,在向上遍历此路径的同时,直到出现项km节点才统计路径中km节点之后项节点支持度计数,否则直接跳过各项节点。
精简前缀树本身蕴含的信息就是频繁项集,通过不断递归生成Concise-tree来获取频繁项集信息。每一次递归生成Concise-tree,其对应的后缀基都将被压入栈中,当源于同一 Concise-tree的一系列子Concise-tree都被生成后,输出栈中所有项(即为一个频繁项集)。接着从另一棵Concise-tree起,递归生成其子Concise-tree,并把频繁项压入栈中,如此循环下去直到所有Concise-tree都已经生成。此时,所有的频繁项集都已输出。TestSet数据集导出的频繁项集结果如表3所示(支持度计数阈值为3)。
表3:TestSet导出的频繁项集。

Claims (6)

1.基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于包括以下步骤:
1-(a).获取数据库日志文件步骤:获取待分析的数据库日志文件;
1-(b).解析日志步骤:分析日志中的SELECT语句,提取其所涉及的表名、字段名作为事务项;继而获取涉及跨表查询的事物记录或者仅单表查询的事物记录;
1-(c)数据挖掘步骤,本步骤基于精简前缀树的频繁模式挖掘,依次包含三个部分:
(c-1).建立FP-tree步骤:读取事务记录集,由预设的支持度经验值建立频繁模式树(FP-tree),支持度阈值经由大量反规范化实例分析所确定,为经验值;
(c-2).根据FP-tree建立精简前缀树步骤,所述精简前缀树由一个指针域、一个频繁项头表组成;指针域存储指向整棵虚拟树的信息;频繁项头表中每一条表项存储一个节点的支持度计数Count;是一种蕴含所有频繁模式的树,可高效挖掘出频繁模式;
(c-3).递归频繁项集的步骤:不断递归建立精简前缀树直到所有频繁模式被导出;
1-(d).反规范化频繁模式集步骤:获得反规范化的频繁模式;
1-(e).垂直分割步骤:具体地,把主键以及用户自定义列存放于重用表a中,将主键和其他列放到另外几个表中,以减少I/O开销的步骤;
1-(f)产生重新组表/增加冗余列的SQL语句的步骤:该步骤导出的频繁模式集包含了频繁被查询的列表名及字段名,用于指导重新组表/增加冗余列。
2.根据权利要求1所述的基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于建立精简前缀树步骤中包含ConciseTree(k)和ConciseTree(k1,k2,k3…,km-1,km)两类精简前缀树,具体步骤如下:
2-(a).建立基于FP-tree构建以项序号k为后缀基的ConciseTree(k)的步骤:
从FP-tree的头表遍历项k的所有同名项节点;
对于每个同名项节点,同时向上遍历此条件路径上所有项节点;同时统计各项的支持度计数并填充每个项节点的ConciseLink域、后缀基k的支持度计数,Conciselink域代表精简前缀树中相关节点的链接;
2-(b).建立基于ConciseTree(k1,k2,k3…,km-1)构建ConciseTree(k1,k2,k3…,km-1,km)的步骤:
遍历前一精简前缀树的整棵虚拟的树信息及相应的FP-tree中项节点的ConciseLink域来;
若其前缀路径直接指向项km,向上遍历此前缀路径中每一个项节点并统计其支持度计数;
若前缀路径不直接指向项km,再向上遍历此路径,直到出现项km节点才统计路径中km节点之后项节点支持度计数,否则直接跳过各项节点。
3.根据权利要求1所述的基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于建立FP-tree包含以下步骤:
将事务记录集读入内存,根据预设的支持度阈值过滤得到频繁1-项集;
将事务记录集中所有频繁项挂接在FP-tree中。
4.根据权利要求1所述的基于频繁项集挖掘算法的反规范化策略选择方法,其特征在于递归频繁项集包含以下步骤:
经过每一次递归生成精简前缀树,其对应的后缀基都将被压入栈中,当源于同一精简前缀树的一系列子精简前缀树都被生成后,输出栈中所有项;
继而从另一棵精简前缀树起,递归生成其子精简前缀树,并把频繁项压入栈中,如此循环下去直到所有精简前缀树都已经生成;
输出所有的频繁项集。
5.根据权利要求1所述的基于频繁项集挖掘算法的反规范化策略选择方法,特征在于产生重新组表/增加冗余列的SQL语句的步骤中当表间的连接复杂度高于某阈值时,将选择进行重新组表操作,其中重新组表和增加冗余列的目的都是减少大量表连接带来的开销,其中,重新组表是将部分频繁查询的表项组成新表,增加冗余列是在多个表中存放相同的列数据。
6.根据权利要求1-5中任意一项所述的基于频繁项集挖掘算法的反规范化策略选择方法,Conciselink域代表精简前缀树中相关节点的链接,FP-tree中用支持度计数降序序号Order标记各个项,各项Count、Child、Parent、Sibling、Link分别表示项的支持度计数、项在FP-tree中的孩子节点项、父节点项、兄弟节点项、同名链接节点项。
CN201310283857.4A 2013-07-08 2013-07-08 基于频繁项集挖掘算法的反规范化策略选择方法 Active CN103823823B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310283857.4A CN103823823B (zh) 2013-07-08 2013-07-08 基于频繁项集挖掘算法的反规范化策略选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310283857.4A CN103823823B (zh) 2013-07-08 2013-07-08 基于频繁项集挖掘算法的反规范化策略选择方法

Publications (2)

Publication Number Publication Date
CN103823823A CN103823823A (zh) 2014-05-28
CN103823823B true CN103823823B (zh) 2016-12-28

Family

ID=50758891

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310283857.4A Active CN103823823B (zh) 2013-07-08 2013-07-08 基于频繁项集挖掘算法的反规范化策略选择方法

Country Status (1)

Country Link
CN (1) CN103823823B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066587A (zh) * 2017-04-17 2017-08-18 贵州大学 一种基于组链表的高效频繁项集挖掘方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298778B (zh) * 2014-11-04 2017-07-04 北京科技大学 一种基于关联规则树的轧钢产品质量的预测方法及系统
CN104965674B (zh) * 2015-06-08 2018-01-19 暨南大学 一种基于块关联的低能耗磁盘调度方法及系统
US9576025B1 (en) 2015-11-20 2017-02-21 International Business Machines Corporation Abstracting denormalized data datasets in relational database management systems
CN105512322B (zh) * 2015-12-18 2019-02-15 中国农业银行股份有限公司 频繁项集的生成方法及装置
CN106095879A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 一种大数据分析方法和系统
CN106779146A (zh) * 2016-11-15 2017-05-31 广州铁路职业技术学院 一种用于提供推荐旅游路线的旅游服务系统
CN107480072B (zh) * 2017-08-22 2020-07-10 中南大学 基于关联模式的透明计算服务端缓存优化方法及系统
CN107748781A (zh) * 2017-10-20 2018-03-02 天津科技大学 基于不确定数据的约束频繁闭项集挖掘算法
CN107908665B (zh) * 2017-10-20 2021-01-08 国网浙江省电力公司经济技术研究院 一种有向无环图电网企业频繁节点挖掘方法及挖掘系统
CN107909251A (zh) * 2017-10-31 2018-04-13 山东中烟工业有限责任公司 一种卷烟设备综合效率影响因素分析方法和装置
CN108647339A (zh) * 2018-05-14 2018-10-12 五八有限公司 一种维度建模方法、装置、设备及存储介质
CN108717442B (zh) * 2018-05-16 2021-12-03 成都极米科技股份有限公司 基于机器学习的相似影视推荐方法
CN110136008A (zh) * 2019-04-15 2019-08-16 深圳壹账通智能科技有限公司 利用大数据的产品数据推送方法、装置、设备和存储介质
CN113553493A (zh) * 2020-04-24 2021-10-26 哈尔滨工业大学 一种基于需求服务概率矩阵的服务选择方法
CN112882997B (zh) * 2021-02-19 2022-06-07 武汉大学 一种基于N-gram与频繁模式挖掘的系统日志解析方法
CN114840577B (zh) * 2022-04-14 2023-08-29 四川大学 一种基于邻接比特压缩表的频繁闭项集挖掘算法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979418B1 (en) * 2007-12-21 2011-07-12 Mcafee, Inc. System, method, and computer program product for processing a prefix tree file utilizing a selected agent
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979418B1 (en) * 2007-12-21 2011-07-12 Mcafee, Inc. System, method, and computer program product for processing a prefix tree file utilizing a selected agent
CN103020256A (zh) * 2012-12-21 2013-04-03 电子科技大学 一种大规模数据的关联规则挖掘方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Discovering Frequent Patterns in Sensitive Data;Raghav Bhaskar 等;《Proceedings of the 16th ACM SIGKDD international conference on knowledge》;20100728;第170-171页 *
浅谈数据库设计中范式的应用;邹琼等;《湖北经济学院学报》;20111130;第8卷(第11期);第503-512页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066587A (zh) * 2017-04-17 2017-08-18 贵州大学 一种基于组链表的高效频繁项集挖掘方法

Also Published As

Publication number Publication date
CN103823823A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
CN103823823B (zh) 基于频繁项集挖掘算法的反规范化策略选择方法
CN102033954B (zh) 关系数据库中可扩展标记语言文档全文检索查询索引方法
CN104715073B (zh) 基于改进Apriori算法的关联规则挖掘系统
AU2002229734B2 (en) Database system and query optimiser
CN102521303B (zh) 一种用于列数据库的单表多列序存储方法
CN104778540A (zh) 一种建材装备制造bom管理方法及管理系统
CN107169033A (zh) 基于数据模式转换和并行框架的关系数据查询优化方法
CN103020301B (zh) 一种多维度数据查询和存储方法及系统
CN103177120B (zh) 一种基于索引的XPath查询模式树匹配方法
CN106126543A (zh) 一种关系型数据库到MongoDB的模型转换和数据迁移方法
CN103678620A (zh) 一种基于用户历史行为特征的知识文档推荐方法
Jiang et al. Web page recommendation based on bitwise frequent pattern mining
CN102867066A (zh) 数据汇总装置和数据汇总方法
CN109299154A (zh) 一种大数据的数据存储系统及方法
CN103123650A (zh) 一种基于整数映射的xml数据库全文索引方法
CN104021156A (zh) 一种基于sql语句快速汇总多层事实数据的方法
CN107291895A (zh) 一种快速的层次化文档查询方法
CN108550381A (zh) 一种基于FP-growth的药品推荐方法
CN106599064A (zh) 一种适用于高端装备的复杂知识自动分类、获取及存储方法
CN109325062A (zh) 一种基于分布式计算的数据依赖挖掘方法及系统
CN103699647A (zh) 一种字符串词典的索引方法及系统
CN106354772A (zh) 具有数据清洗的海量数据系统
Lin et al. A fast association rule algorithm based on bitmap and granular computing
Song et al. Mining multi-relational high utility itemsets from star schemas
CN107577752A (zh) 一种基于关键字的xml检索排序处理系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant