CN102349054A - 自动数据存储结构检测 - Google Patents
自动数据存储结构检测 Download PDFInfo
- Publication number
- CN102349054A CN102349054A CN200980150414XA CN200980150414A CN102349054A CN 102349054 A CN102349054 A CN 102349054A CN 200980150414X A CN200980150414X A CN 200980150414XA CN 200980150414 A CN200980150414 A CN 200980150414A CN 102349054 A CN102349054 A CN 102349054A
- Authority
- CN
- China
- Prior art keywords
- data storage
- data
- storage
- query
- analyzer
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/213—Schema design and management with details for schema evolution support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明是一种用于自动识别数据存储结构和跟踪数据存储结构的动态改变和演进的系统。本发明的系统是一种补充系统,所述补充系统能够通过使用现有接口被附加至现有的数据存储系统或能够与数据存储系统集成。所述系统包括三个主要组件,这些主要组件被配置为构成数据存储结构的近似。这些主要组件中的第一个适于对所述数据存储的结构执行分析;这些组件中的第二个适于收集并编辑来自所述数据存储的统计结果;以及这些组件中的第三个适于构成所述数据存储的结构的近似。还描述了使用本发明的系统的方法。
Description
技术领域
本发明涉及数字数据存储领域。更具体地,涉及用于自动识别数据存储结构和跟踪数据存储结构的动态改变和演进的方法和系统。
背景技术
此处,短语“数据存储结构”指数据存储表的列间关系。与结构的初始设计有关的信息通常存储在图形/文本文档中,而不是数据存储自身的一部分。该文档通常是在设计数据存储的初始阶段编写的,并且通常在升级/改变后不进行更新。该文档极为迅速地变得越来越不精确。在应用中使用不正确的列/对列进行错误操作将导致不精确的或错误的结果。许多应用使用数据存储,这些应用通常不是与初始的数据存储结构同时开发的。每个这样的应用对数据存储结构造成一些改变。最终结果是,原始设计文档无法精确反映数据存储的实际结构。每当在数据存储上实现另一应用时,差异变得更大。
此处,词语“用户”用于指负责应用改进的人员或使用与数据存储有关的信息来改进数据存储性能的自动软件应用。
此处,短语“终端用户”用于指查询并期望获得答案的人员。此处,短语“结构近似”用于指在使用“数据存储结构分析器”后产生的分析报告。结构近似包括对数据存储结构(即对象和列间的关系)的技术描述,所述技术描述具有关于数据存储对象的某些有用信息,例如,对象活动性的百分比、对象相对性能的级别(例如相对于对象的大小、或相对于可能的最佳性能)。
用户对数据存储的成功使用需要完全理解其结构。可以开发和使用相同数据存储的许多替代表示。这些表示在语义、符号以及表示关系的方式上不同。如果公司的要求简单,数据管理的标准工具满足公司的所有需要。然而,如果公司的需要变得更为复杂,将需要寻求具有更多能力的更精良的数据存储管理包。通常使用专门设计用于管理和操控特定行业内的信息的专家数据存储产品或应用来管理特定的行业流程。类似地,诸如制造、出版、保险等许多行业类型将具有专门针对其确切需要和要求的数据存储方案。数据存储结构连续更新、重构和恢复。随着时间的推移,数据存储结构变得极为复杂,即使为了确定数据存储结构的近似,也需要大量的人力。在努力提供该问题的解决方案的过程中,在创建“自主数据库”的方向上研究取得了进展。该研究的目标在于,开发自管理数据库(或者更一般地,自管理数据存储)。换言之,目标在于:开发能够自配置、自优化、自保护和自愈的数据存储。该类型的研究的一个示例是DB2自主计算项目,又称SMART(自管理和资源调整)[http://www.almaden.ibm.com/cs/projects/autonomic/]。
在大多数情形下,典型的用户是不参与数据存储结构开发和/或维护和/或数据挖掘而其工作仅与数据存储的一部分相关联的人。为了高效地使用数据存储,数据存储的用户需要精确理解数据存储的结构或者数据存储的至少一部分的结构,所述至少一部分是该用户在特定时间需要使用的。为了自动定义数据存储的结构,现有系统(被称为“分析器”)基于对用户查询的数据集进行数据存储探索和分析。如果“分析器”不研究这两个知识来源,就无法产生数据存储结构的高效模型。该方式的问题在于:在能够从“分析器”接收对数据存储的结构的估计前,用户需要与数据存储关联工作,即插入、移除或请求数据。
因此,本发明的目的在于,提供一种自动识别数据存储结构和跟踪数据存储结构的动态改变和演进的方法和系统。
本发明的另一目的是提供一种能够自动产生数据存储结构近似的方法和系统。
本发明的再一目的是提供一种能够产生数据存储结构近似的方法和系统,该数据存储结构近似仅与数据存储及其数据关联工作而无需先前查询的知识。本发明的又一目的是提供一种能够跟踪数据存储结构的改变和演进的方法和系统。
随着描述的进行,本发明的进一步的目的和优势将显现出来。
发明内容
本发明是一种补充系统(complementary system),所述补充系统通过使用现有接口被附加至现有的数据存储系统或与数据存储系统集成,并且被配置为构成数据存储结构的近似。所述补充系统包括“数据存储分析器”模块,所述“数据存储分析器”模块包括:
(a)结构分析构成器和分析器组件,适于对所述数据存储的结构执行分析;
(b)数据存储统计构成器组件,适于收集并编辑来自所述数据存储的统计结果;以及
(c)数据存储结构构成器组件,适于构成所述数据存储的结构的近似。
本发明的补充系统的实施例附加地包括“查询分析器”模块,所述“查询分析器”模块包括:
(a)查询分析器组件,如果查询可用,对用户查询执行句法分析;
(b)查询统计构成器组件,编辑对于查询内容和查询环境属性的统计结果;
(c)查询结构构成器组件,构成数据存储结构的更新后的近似;
(d)查询库组件,查询库组件的内容被发送至所述查询分析器组件,当所述系统识别出所述数据存储改变时,所述查询分析器组件使用所述内容对数据存储结构改变和演进的影响执行立即且有效的分析;以及
(e)资源极限检测器组件,检查所述数据存储系统的指定资源,分析所述数据存储系统资源极限,并向用户发送“资源分析”报告。
所述查询分析器模块的组件被配置为,使所述查询分析器模块能够收集、分析并产生与所述用户查询有关的统计结果,以及将所述统计结果与从“数据存储分析器”接收的近似集成,以构成所述数据存储的结构的更精确的近似。
在本发明的实施例中,数据存储近似是由从数据存储提取的数据构造的统计结果集,并且被存储为单独的实体。数据存储近似可以被用作任何数据整理应用的输入。数据存储近似可由数据存储管理员用于改变现有的数据存储结构。
在本发明的实施例中,资源极限检测器组件包括特定软件组件,所述特定软件组件通过跟踪所述数据存储系统性能的少量指示符来检查数据存储系统的资源,从而知晓所述补充系统是否能够使用所述数据存储系统的可用资源来执行另一轮数据存储结构近似改进,或者所述数据存储系统是否过于繁忙或不具有足够的可用存储器、磁盘空间或CPU来实现所述另一轮数据存储结构近似改进。
在本发明的实施例中,所述补充系统不包含资源极限检测器。
本发明的补充系统的实施例被配置为:通过自动执行连续的数据存储结构分析并比较所述数据存储的结构的连续近似,来动态识别何时插入、修改或从数据存储移除数据或表。
本发明的补充系统的实施例被配置为:与数据存储的子集关联工作,所述数据存储的子集是通过采样或任何其他的容量减小方法获得的。
本发明的补充系统的实施例被配置为:与镜像数据存储关联工作,所述镜像数据存储是通过对原始数据存储进行复制获得的。
本发明的补充系统的实施例被配置为:与数据仓库关联工作,以通过修改汇聚层(aggregation layer)来改进性能。
通过以下对本发明的优选实施例的示意性而非限制性的描述,参照附图,将进一步理解本发明的所有上述和其他特征及优点;附图中,相似组件以相同的附图标记进行了标注。
附图说明
图1示意性地示出了包括数据存储结构分析器模块的现有技术系统工作流程;
图2a示意性地示出了具有数据存储结构设计器的系统工作流程,该工作流程起始于在不进行用户查询分析的情况下对更新后的近似数据进行可选的数据存储近似请求应答的步骤;
图2b示意性地示出了具有数据存储结构设计器的系统工作流程,该工作流程起始于在进行用户查询分析的情况下对更新后的近似数据进行可选的数据存储近似请求应答的步骤;
图3示意性地示出了当系统不被要求检测数据存储结构动态改变和演进时的数据存储结构设计器结构,此时的数据存储结构设计器结构包括数据存储分析器模块和查询分析器模块;
图4示意性地示出了具有动态改变和演进识别的数据存储结构设计器工作流程;
图5示意性地示出了具有动态改变和演进识别的数据存储结构设计器结构;以及
图6示意性地示出了具有动态改变和演进识别的数据存储结构工作流程,图6与图4的主要区别在于引入了在先的查询库分析步骤。
具体实施方式
此处,本发明被描述为补充系统,所述补充系统能够通过使用现有接口被附加至现有的数据存储系统以改进数据存储性能。所属领域技术人员将意识到:本发明的系统完全可以集成至采用现有设计或新设计的数据存储系统。此处所用的术语“补充系统”指本发明的附加和集成实施例。本发明的补充系统包括:“数据存储分析器”模块,基于数据存储结构对数据存储进行分析,从数据存储收集统计结果,并构成数据存储结构的近似。数据存储结构的近似被用于向数据存储的用户产生关于数据存储表的使用和/或有效性的有用评述/建议,和/或被用作用于监督和管理数字数据存储系统的自动化系统的输入,以获得最高效的数据整理和查询执行。本发明的补充系统所附加至的数据存储系统可以被扩展为应用于通过复制原始数据存储而获得的镜像系统。因此,此处术语“数据存储系统”可以是单个系统或镜像系统(两个相同的数据复制);然而此处将用“数据存储系统”指代单个系统。此处,短语“用于管理数字数据存储系统的自动化系统”指能够对当前结构和数据进行修改和添加从而改进特定度量(如,性能、大小等)的系统。这些系统能够向表添加索引,产生新表,并且能够创建或修改汇聚层中的汇聚结构。
本发明允许自动识别数据存储结构以及自动联机和/或脱机检测数据存储结构的动态改变和演进。即使当查询不可用时,本发明也能够仅仅基于数据存储分析来提取数据存储结构。
本发明的方法基于两个步骤:
-在第一步骤中,由“数据存储分析器模块”(图2a中的211)执行对数据存储的分析,所述分析基于数据存储的结构及其数据统计。
-第二步骤发生在“查询分析器模块”(图2b中的213)中,并且基于对终端用户查询和有关统计结果的收集和分析。这些统计结果与查询内容(即,所使用的表、所使用的过滤器、过滤器强度、查询复杂度、查询用户的优先级、查询在数据存储系统中的执行时间、相同查询模板的使用频率)有关。使用这些统计结果和其他数据来检测活动的数据存储表,并定义有效的数据整理以针对终端用户的查询流获得最佳性能。
“数据存储分析器模块”能够独立于“查询分析器模块”工作。“数据存储结构设计器”能够不依赖于查询可用性以及来自“查询分析器”模块的任意输出,立即开始工作,对数据存储结构进行估计。这允许在最佳时间帧内并在获取用户查询前,产生数据存储结构的初始近似。这两个模块的组合定义了“数据存储结构设计器”(图3-6中的209)。本发明的软件实现能够与任意现有的或新的数据存储系统接口连接。
图1示出了现有技术数据存储系统(107),包括“数据存储和查询分析器”(113)。为了开始数据存储(123)结构分析,该系统需要接收终端用户的(101)查询(103),查询(103)在(111,119)中被分解,该系统还需要响应于由数据存储管理员定义的某些约束(例如,查询的最小数目)。在系统中产生并保持数据存储结构的近似。该近似可以在用户(129)请求该近似的任意时刻被发送至用户。该近似基于来自数据存储的知识(121)以及关于查询的知识(111,119)。该系统(113)必须与数据存储分析和终端用户的查询分析关联工作。如将于此处所见的,这不同于本发明的系统,本发明的系统能够单独处理两种信息并且能够在不使用终端用户的查询分析的情况下产生结果。数据存储(123)和查询流(109)间的双向链路(130)表示访问数据存储和接收对查询的应答。重要的是,图1表示数据流的一般图解。特别地,图1示出了数据流在相同机器上执行的重要的特殊情形。通过必要的修改,本发明能够适用于系统的其他配置,并将提供如此处所述的相同的优点。
图2a和图2b示出了系统结构,所述系统结构示出了现有数据存储(123)和本发明的“数据存储结构设计器”模块(209)间的数据流。
图2a示出了本发明的基本实施例。在该实施例中,“数据存储结构设计器”模块(209)仅包括“数据存储分析器”模块(211)。“数据存储分析器”模块(211)在安装后启动并立即运行,以执行仅仅数据存储结构分析步骤,并产生数据存储结构的第一近似。当用户请求数据存储结构的第一近似或当本发明的系统发现关于数据存储对象的某些有用的新的重要信息时,保存数据存储结构的第一近似,并将其返回给用户(217)。可选地,如果用户请求和/或系统资源极限允许,近似返回(219)至“数据存储分析器”(211)用于第二轮改进(221)。
以下是“数据存储分析器”处理的简略示例。在该示例中,使用关系数据库和SQL语法查询,然而作为替代还可以使用任何其他语言。首先,使用简单的查询“Select*from tab;”找到所有表名。然后,使用“Select*from<table name>;”找到每个表的列。对于出现在查询中的每一列,用户获取通过使用″Select count(<column name>)from<table name>;″而确定的大小、以及针对每个表的所有相关(查询中使用的)列的总大小。不同的列可以表示相同的含义。由于性能或其他原因,相同信息的复制可能是必要的。识别出不同列具有实质相同的含义是十分关键的。实现这一目的的一种方式是通过比较列名。在大多数情况下,这是等同的良好标识。然而,在某些情况下,该属性是不够充分的。更可靠的属性是:如果两列在查询中被视为等同(例如,它们出现在联合声明中,之间以“=”连接),那么(最大可能地)它们确实是等同的。应当注意的是,两种情形均可能存在于数据存储中:即,在不同的表中可能存在具有不同列名但实际相同的两列,以及相反的情况(其中,两列具有相同的列名但实际保持不同的数据)。
通过对相关列的每个集合的键值(distinct value)计数来识别/估计每个数据源文件/表的层次结构。在概念上,较高等级的层次结构将具有较小的键值。可以使用仅对表中数据进行一次扫描的单个查询,针对表中的所有列实现该计数。这是获取列大小的最快方式。例如,假设具有两列(COL1和COL2)的表,则为了计算列大小,使用以下查询:“Select count(distinct(COLl)),count(distinct(COL2))from<table name>;”。假定表具有以下内容:
接着,通过使用“COUNT DISTICT”查询来确定列大小,返回以下结果:
应当注意的是,虽然在诸如“count distinct”等示例中,要求遍历整个表以获得列大小,然而可以应用现有技术中已知的容量减小程序,使得并非必须遍历整个表,而是使用基于统计样本的估计。可以使用的容量减小程序的示例为Noga Alon、Yossi Matias、Mario Szegedy所著的“The space complexity of approximating the frequency moments”以及Philippe Flajolet,G.Nigel Martin所著的“ProbabilisticCounting Algorithms for Data Base Applications”。
图2b示意性地示出了本发明的“数据存储结构设计器”模块(209)的第二实施例。在该实施例中,“数据存储结构设计器”模块(209)包括“数据存储分析器”模块(211)和“查询分析器”模块(213)。当用户查询可用时,使用该实施例。“查询分析器”模块(213)获取这些用户查询(111,119),并对其进行分析。基于来自“数据存储结构设计器”模块(209)的数据存储结构(215)的近似和基于查询分析,“查询分析器”模块(213)构成并保存数据存储结构的更新后的近似(221)。如果用户请求和/或系统资源极限允许,近似可以返回(219)至“数据存储分析器”模块(211),用于第二轮改进。
以下是“查询分析器”处理的简略示例。在该示例中,使用关系数据库和SQL语法查询。该示例说明了如何由给定查询集合得出数据模型。使用以下准则:
查询分析器仅处理SELECT有关的语句,即一般并非意图改变数据存储的查询语句。无论数据存储分析器模块是否对数据演进进行分析,查询分析器执行信息检索过程。重要的是应当注意此处SELECT语句采用比较宽泛的定义。特别地,包含SELECT子查询在内的任何嵌套查询都是同等重要的,也应当对嵌套查询进行分析,并且还应当分析将基于其他表产生/填充表的查询(例如,总表-“create table as select....”)。
以下示例仅仅是为了示意的目的而给出的,并且不应被看作将本发明的应用限制于星形架构(star schema)。当本发明应用于其他情形时,同样有效。星形架构是一种有用的结构,相对于其他数据表示在性能和可用性方面具有重要的优点。典型的星形架构包括:事实表、辅助的查找表以及可选的总表。事实表包含所要总结的基本数据并具有平面结构。事实表的列可以是事实列和描述列。事实列表示所要分析的任何类型的测量(measurement)。描述列表示测量的属性(例如,进行测量的时间)。查找表是允许进行分类汇聚的按照层次结构组织的数据的集合。查找表的层次结构由层级组成,其中,最低层级与事实数据列相一致。
示例:
事实表表示每日测量的病人温度的测量序列。该数据由“时间”和“温度”两列表示:
2008年1月1日;100
2008年1月2日;97
.
.
.
2008年8月28日;102.3
此处,“温度”是测量列,“时间”是描述列。查找表表示时间层次结构,并且可以包含例如日、月和年三个层级。日的层级是最低的层级,与事实表的“时间”列相一致。
查询分析器提出前述星形架构的良好近似。所建议的设计是对用户查询进行句法分析的新方法的结果。以下是基本方法的概述。对于SELECT查询,使用以下分类法:
·针对总结事实的准则:出现在SELECT中的具有以下属性的列:
1.聚合函数存在并被应用于该列。(聚合函数是对多个值进行总结并返回单个值的函数。SQL聚合函数的示例包括但不限于sum、min、max和average。)
·针对查找列的准则:出现在SELECT或GROUP BY子句中的列。
·针对最低查找列的准则:查找表的可能的最低层级是具有以下属性的查找表:(1)该列出现WHERE子句;以及(2)该列与不同表中的另一列进行比较(使用=符号)。
通过以下方法分析SELECT查询的集合。起初,输出是空的。以任意但固定的顺序逐一对查询进行分析。对于每个查询,执行两个基本步骤。第一,对每个查询应用前述准则。第二,将所提取的分类与当前输出进行统一。结果,输出可能变大。在完成这些步骤后,对于下一查询重复该过程。当分析完所有查询时,过程终止。应当注意的是,查询可以具有复杂的结构并涉及嵌套语句(如以下示例中)。在该情况下,以自下向上的方式迭代处理每个子查询。
以下示例使用Oracle数据库SQL语法,但该方法对于任何数据库SQL语法都是适用的。
查询#1
查询#2
查询#3
图3示出了当系统不被要求检测数据存储结构动态改变和演进时“数据存储结构设计器”模块(209)的结构。
“数据存储分析器”模块(211)包括以下组件:
·“结构分析构成器和分析器”组件(301),执行数据存储结构分析;
·“数据存储统计构成器”组件(303),编辑统计结果;以及
·“数据存储结构构成器”组件(305),构成数据存储结构的第一近似。
“查询分析器”模块(213)包括以下组件:
·“查询分析器”组件(307),如果(一个或多个)查询可用,对用户查询执行句法分析;
·“查询统计构成器”组件(311),编辑关于查询内容和查询环境属性的统计结果;
·“查询结构构成器”组件(315),构成数据存储结构的更新后的近似(221);
·“查询库”组件(323),存储由查询结构构成器(315)向其发送的查询模板(321),以及可选地存储数据存储结构的更新后的近似(327)以便稍后使用。当系统被要求检测数据存储结构动态改变和演进时(参见图5),查询库组件(323)的内容被发送至查询分析器组件(307),在查询分析器组件(307)中,当本发明的系统识别出数据存储改变时,查询库组件(323)的内容被用于对数据存储结构改变和演进的影响执行立即且有效的分析;以及
·“资源极限检测器”组件(319),检查数据存储系统的指定资源,分析系统资源极限,并向用户发送“资源分析”(325)报告。通过使用用于跟踪数据存储系统性能的少量指示符的特定软件组件来实现资源检查,从而知晓本发明的系统是否能够使用数据存储系统的可用资源以执行另一轮数据存储结构近似改进,或者数据存储系统是否过于繁忙或不具有足够的可用资源(例如,存储器、磁盘空间或CPU)来实现改进。本发明的系统可以基于用户提供给该系统的数据存储系统资源的知识来执行该分析,或者本发明的系统能够自己确定哪些资源可用。
图4示出了发生于“数据存储结构设计器”模块(209)中的操作的流程图。
在第一步骤(401)中,“数据存储分析器模块”(211)中的“结构分析构成器和分析器”(301)执行数据存储结构分析。该分析的结果被发送至“数据存储统计构成器”(303),“数据存储统计构成器”(303)构成过程的后续步骤所需的统计结果(403)。在第三步骤(405)中,“数据存储结构构成器”(305)构成数据存储结构的初始近似(405)。如果用户向数据存储分析器模块(211)发送指令(205)(参见图2b),要求将该近似传送给他(407),则该近似被传输给该用户(409)。如果未接收到传送初始近似的指令,过程继续执行步骤(411)。
后续步骤发生在“查询分析器”模块(213)中。如果用户查询可用(411),“查询分析器”组件(307)从查询库(323)获取用户查询模板,并对查询模板执行句法分析(413)。否则,查询分析器(307)从可用的查询日志或查询流取得查询。该分析的结果由“查询统计构成器”(311)使用,“查询统计构成器”(311)收集关于查询内容及其环境属性的信息(415)。在下一步骤(417)中,“查询结构构成器”(315)基于来自步骤(415)和第一近似(405)的数据,构成数据存储结构的更新后的近似。可选地,在步骤(419)中,转置(transpose)参与步骤(417)(构成数据存储结构的更新后的近似)的查询模板(321),并将其保存在“查询库”(323)中。在另一步骤中,将更新后的数据存储近似传输给用户(421)。如果用户查询在步骤(411)中不可用,则不执行步骤(413)至(419),并且过程直接跳至步骤(421)。在步骤(423)中,“资源极限检测器”组件(319)对系统资源进行分析。如果资源极限允许执行新一轮的数据存储近似以改进当前的数据存储近似,或者如果存在如此指示的用户指令(425),过程再次起始于第一步骤(401)。如果资源极限不允许新一轮的数据存储近似,更新后的数据存储结构近似被路由至用户。如果资源不允许接着生成更新后的近似(步骤425),手动地或以预定时间间隔自动地,系统执行步骤(423),判断目前条件是否允许基于保存在本发明的系统中的当前近似来生成更新后的近似。
图5示意性地示出了“数据存储结构设计器”模块(209)中的动态改变和演进识别过程的结构。数据存储结构可以随时间改变。本发明的“数据存储分析器”模块(211)被配置为动态地识别这些改变(例如,识别何时插入、修改和移除数据或表)。此外,用户可以可选地(601)(图5)向“数据存储分析器”模块通知数据存储改变。该通知可以是一般性的,或者可以包括特定数据存储改变的细节。然而,即使没有用户输入,“数据存储分析器”模块(211)也能够通过自动执行连续的数据存储结构分析(401)并比较连续的近似,检测数据存储改变。此外,可以通过显式指定的数据存储的改变,来触发新一阶段的分析。例如,如果“数据存储分析器”模块(211)见证了由创建/删除表命令触发的结构改变(例如,新表创建/旧表删除)或者现有表的大规模更新,其可以确定现有分析过时,必须进行新一阶段的分析。如果识别出数据存储的改变,在一种重要步骤中,数据存储结构检测过程不同于先前在图4中所示的过程。如果使用“查询库”组件(323),则其从“数据存储分析器”模块(211)的“数据结构构成器”组件(305)接收被称为“数据存储结构变动”的输入。“变动”(Delta)涉及数据存储结构的一部分的改变。“变动”是可由系统自动使用的或者对用户有用的、与改变有关的信息的报告。基于“变动”中的信息,“查询库”(323)选择有关的查询模板(503)(例如,不包含数据存储的改变组件的查询模板),并将它们传送至“查询分析器”组件(307)。采用该方式,“查询分析器”组件(307)可以立即开始其工作,而无需等待来自用户的单个查询(321)。这导致数据存储结构检测过程性能的重大改进。在过程循环的末尾,“查询分析器”模块(213)的“查询结构构成器”组件(315)构成并保存数据存储结构(501)的更新后的近似,在用户(501,421)要求数据存储结构(501)的更新后的近似的任何时刻,其被传送至该用户。
根据用户设置和/或根据系统资源极限,起始于现有近似,重复整轮数据存储结构检测过程或该过程的一部分(219),以获得更好的近似。
图6示出了当采用本发明的动态改变和演进识别功能时发生在“数据存储结构设计器”模块(209)中的操作的流程图。图6流程图中的大部分阶段与图4流程图中对应的阶段相同。两幅图中相同的阶段以相同的数字标识。
在步骤一(401)中,“数据存储分析器模块”(211)的“结构分析构成器和分析器”(301)执行数据存储结构分析。该分析可由来自用户的“数据存储结构通知”(601)或资源极限分析(步骤425)来启动,从而允许新一轮的数据存储近似。此后,结果被发送至“统计结果收集器”(303),“统计结果收集器”(303)构成所需的统计结果(403)。在第三步骤(405),“数据结构构成器”(305)构成“数据存储结构变动”。
如果存在“查询库”(323),则将“数据存储结构变动”传输至“查询库”(步骤607),接着“查询分析器”(307)对来自“查询库”的相关查询模板进行分析(步骤609)。如果不存在“查询库”,将“数据存储结构变动”传输(605)至“数据结构构成器”(317)。在两种情况下,如果用户查询可用(411),则“查询分析器”组件(307)从数据存储获取用户查询,并且对它们执行句法分析(413)。该分析的结果由“查询统计构成器”(311)使用,所述“查询统计构成器”(311)收集与查询内容及其环境属性有关的信息(415)。在下一步骤(417)中,“查询结构构成器”(315)基于来自步骤(415)的数据和第一近似(405),构成数据存储结构的更新后的近似。可选地,在步骤(419)中,转置参与构成数据存储结构的更新后的近似步骤(417)的查询模板(321),并将其保存在“查询库”(323)中。在另一步骤中,将更新后的数据存储近似传输给用户(421)。如果用户查询在步骤(411)中不可用,则不执行步骤(413)至(419),并且过程直接跳至步骤(421)。在步骤(423)中,“资源极限检测器”组件(319)对系统资源进行分析。如果资源极限允许执行新一轮的数据存储近似以改进当前的数据存储近似,或者如果存在如此指示的用户指令(425),过程再次起始于第一步骤(401)。如果资源极限不允许新一轮的数据存储近似,更新后的数据存储结构近似被路由至用户。
重要的是应当注意附图给出了数据流的一般图解。特别地,附图示出了数据流在相同机器上执行的重要的特殊情形。然而,系统系统可以包括多于一个机器,并且数据将运行在不同的机器上。在该情况下,数据流将位于两个或更多个机器之间。在任意情况下,以上就特殊情况描述的本发明的优点也适用于更一般的情况。
虽然以示意方式描述了本发明的实施例,应当理解的是,可利用多种变型、修改和适配来实现本发明而不超出权利要求的范围。
Claims (11)
1.一种补充系统,所述补充系统通过使用现有接口被附加至现有的数据存储系统或与数据存储系统集成,并且被配置为构成数据存储结构的近似,所述补充系统包括“数据存储分析器”模块,所述“数据存储分析器”模块包括:
(a)结构分析构成器和分析器组件,适于对所述数据存储的结构执行分析;
(b)数据存储统计构成器组件,适于收集并编辑来自所述数据存储的统计结果;以及
(c)数据存储结构构成器组件,适于构成所述数据存储的结构的近似。
2.根据权利要求1所述的补充系统,包括“查询分析器”模块,所述“查询分析器”模块包括:
(a)查询分析器组件,如果查询可用,对用户查询执行句法分析;
(b)查询统计构成器组件,编辑对于查询内容和查询环境属性的统计结果;
(c)查询结构构成器组件,构成数据存储结构的更新后的近似;
(d)查询库组件,查询库组件的内容被发送至所述查询分析器组件,当所述系统识别出所述数据存储改变时,所述查询分析器组件使用所述内容对数据存储结构改变和演进的影响执行立即且有效的分析;以及
(e)资源极限检测器组件,检查所述数据存储系统的指定资源,分析所述数据存储系统资源极限,并向用户发送“资源分析”报告;
其中,所述组件被配置为,使所述查询分析器模块能够收集、分析并产生与所述用户查询有关的统计结果,以及将所述统计结果与从“数据存储分析器”接收的近似集成,以构成所述数据存储的结构的更精确的近似。
3.根据权利要求1或2所述的补充系统,其中,数据存储近似是由从数据存储提取的数据构造的统计结果集,并且被存储为单独的实体。
4.根据权利要求3所述的补充系统,其中,数据存储近似被用作任何数据整理应用的输入。
5.根据权利要求1或2所述的补充系统,其中,数据存储近似由数据存储管理员用于改变现有的数据存储结构。
6.根据权利要求2所述的补充系统,其中,资源极限检测器组件包括特定软件组件,所述特定软件组件通过跟踪所述数据存储系统性能的少量指示符来检查数据存储系统的资源,从而知晓所述补充系统是否能够使用所述数据存储系统的可用资源来执行另一轮数据存储结构近似改进,或者所述数据存储系统是否过于繁忙或不具有足够的可用存储器、磁盘空间或CPU来执行所述另一轮数据存储结构近似改进。
7.根据权利要求2所述的补充系统,其中,所述补充系统不包含资源极限检测器。
8.根据权利要求1或2所述的补充系统,其中,所述补充系统被配置为:通过自动执行连续的数据存储结构分析并比较所述数据存储的结构的连续近似,来动态识别何时插入、修改或从数据存储移除数据或表。
9.根据权利要求1或2所述的补充系统,其中,所述补充系统被配置为:与数据存储的子集关联工作,所述数据存储的子集是通过采样或任何其他的容量减小方法获得的。
10.根据权利要求1或2所述的补充系统,其中,所述补充系统被配置为:与镜像数据存储关联工作,所述镜像数据存储是通过对原始数据存储进行复制获得的。
11.根据权利要求1或2所述的补充系统,其中,所述补充系统被配置为:与数据仓库关联工作,以通过修改汇聚层来改进性能。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IL195956 | 2008-12-15 | ||
IL195956A IL195956A0 (en) | 2008-12-15 | 2008-12-15 | Automatic data store architecture detection |
PCT/IL2009/001187 WO2010070638A1 (en) | 2008-12-15 | 2009-12-14 | Automatic data store architecture detection |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102349054A true CN102349054A (zh) | 2012-02-08 |
Family
ID=42110900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980150414XA Pending CN102349054A (zh) | 2008-12-15 | 2009-12-14 | 自动数据存储结构检测 |
Country Status (8)
Country | Link |
---|---|
US (4) | US9607022B2 (zh) |
EP (1) | EP2377021A4 (zh) |
JP (1) | JP2012512455A (zh) |
KR (1) | KR101162468B1 (zh) |
CN (1) | CN102349054A (zh) |
CA (1) | CA2746724A1 (zh) |
IL (1) | IL195956A0 (zh) |
WO (1) | WO2010070638A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10127249B2 (en) * | 2013-10-24 | 2018-11-13 | Metropolitan Life Insurance Co. | System and method for new database permitting |
US10445755B2 (en) | 2015-12-30 | 2019-10-15 | Paypal, Inc. | Data structures for categorizing and filtering content |
CN109325167B (zh) * | 2017-07-31 | 2022-02-18 | 株式会社理光 | 特征分析方法、装置、设备、计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675785A (en) * | 1994-10-04 | 1997-10-07 | Hewlett-Packard Company | Data warehouse which is accessed by a user using a schema of virtual tables |
US5926810A (en) * | 1996-08-30 | 1999-07-20 | Oracle Corporation | Universal schema system |
US20020169777A1 (en) * | 2001-03-15 | 2002-11-14 | Liviu Balajel | Database architecture and method |
US20080133454A1 (en) * | 2004-10-29 | 2008-06-05 | International Business Machines Corporation | System and method for updating database statistics according to query feedback |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62290948A (ja) | 1986-06-11 | 1987-12-17 | Hitachi Ltd | デ−タベ−ス処理方法 |
JPH08241327A (ja) * | 1995-03-06 | 1996-09-17 | Nippon Telegr & Teleph Corp <Ntt> | データベースシステムの性能チューニング装置及びデータベースシステムの性能チューニング方法 |
US6408292B1 (en) | 1999-08-04 | 2002-06-18 | Hyperroll, Israel, Ltd. | Method of and system for managing multi-dimensional databases using modular-arithmetic based address data mapping processes on integer-encoded business dimensions |
EP1428140A2 (en) | 1999-11-09 | 2004-06-16 | Brent David Tucker | Systems and methods for collecting, storing, and analyzing database statistics |
US7822629B2 (en) | 1999-12-15 | 2010-10-26 | Hewlett-Packard Development Company, L.P. | Customer profiling apparatus for conducting customer behavior pattern analysis, and method for comparing customer behavior patterns |
US6721749B1 (en) | 2000-07-06 | 2004-04-13 | Microsoft Corporation | Populating a data warehouse using a pipeline approach |
US6684207B1 (en) | 2000-08-01 | 2004-01-27 | Oracle International Corp. | System and method for online analytical processing |
US6996576B2 (en) | 2000-11-22 | 2006-02-07 | Bmc Software, Inc. | Database management system and method which automatically schedules and performs actions and monitors results |
US7356542B2 (en) | 2003-08-22 | 2008-04-08 | Oracle International Corporation | DML statements for densifying data |
US7664798B2 (en) * | 2003-09-04 | 2010-02-16 | Oracle International Corporation | Database performance baselines |
US7194451B2 (en) * | 2004-02-26 | 2007-03-20 | Microsoft Corporation | Database monitoring system |
US20060190432A1 (en) | 2005-02-22 | 2006-08-24 | Sas Institute Inc. | System and method for graphically distinguishing levels of a multidimensional database |
US7225103B2 (en) | 2005-06-30 | 2007-05-29 | Oracle International Corporation | Automatic determination of high significance alert thresholds for system performance metrics using an exponentially tailed model |
US7668579B2 (en) | 2006-02-10 | 2010-02-23 | Lynn Lawrence A | System and method for the detection of physiologic response to stimulation |
JP4445941B2 (ja) | 2006-03-31 | 2010-04-07 | 三菱電機インフォメーションシステムズ株式会社 | 顧客データベース管理装置及び顧客データベース管理プログラム |
US7676288B2 (en) | 2006-06-23 | 2010-03-09 | Invensys Systems, Inc. | Presenting continuous timestamped time-series data values for observed supervisory control and manufacturing/production parameters |
US7571225B2 (en) * | 2006-06-29 | 2009-08-04 | Stratavia Corporation | Standard operating procedure automation in database administration |
EP2111593A2 (en) | 2007-01-26 | 2009-10-28 | Information Resources, Inc. | Analytic platform |
JP5055039B2 (ja) | 2007-06-27 | 2012-10-24 | 株式会社日立製作所 | ストリームデータ処理方法およびストリームデータ処理システム |
US8386445B2 (en) * | 2011-05-11 | 2013-02-26 | International Business Machines Corporation | Reorganizing database tables |
-
2008
- 2008-12-15 IL IL195956A patent/IL195956A0/en unknown
-
2009
- 2009-12-14 KR KR1020117016616A patent/KR101162468B1/ko active IP Right Grant
- 2009-12-14 CA CA2746724A patent/CA2746724A1/en not_active Abandoned
- 2009-12-14 WO PCT/IL2009/001187 patent/WO2010070638A1/en active Application Filing
- 2009-12-14 US US13/139,718 patent/US9607022B2/en active Active
- 2009-12-14 JP JP2011540324A patent/JP2012512455A/ja active Pending
- 2009-12-14 CN CN200980150414XA patent/CN102349054A/zh active Pending
- 2009-12-14 EP EP09833059.0A patent/EP2377021A4/en not_active Ceased
-
2017
- 2017-03-22 US US15/466,430 patent/US10223390B2/en active Active
-
2019
- 2019-02-20 US US16/280,507 patent/US11593333B2/en active Active
-
2023
- 2023-01-27 US US18/160,969 patent/US20230325368A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675785A (en) * | 1994-10-04 | 1997-10-07 | Hewlett-Packard Company | Data warehouse which is accessed by a user using a schema of virtual tables |
US5926810A (en) * | 1996-08-30 | 1999-07-20 | Oracle Corporation | Universal schema system |
US20020169777A1 (en) * | 2001-03-15 | 2002-11-14 | Liviu Balajel | Database architecture and method |
US20080133454A1 (en) * | 2004-10-29 | 2008-06-05 | International Business Machines Corporation | System and method for updating database statistics according to query feedback |
Also Published As
Publication number | Publication date |
---|---|
US9607022B2 (en) | 2017-03-28 |
KR20110099319A (ko) | 2011-09-07 |
US20190370234A1 (en) | 2019-12-05 |
US20120066264A1 (en) | 2012-03-15 |
CA2746724A1 (en) | 2010-06-24 |
US20170193018A1 (en) | 2017-07-06 |
KR101162468B1 (ko) | 2012-07-04 |
JP2012512455A (ja) | 2012-05-31 |
US11593333B2 (en) | 2023-02-28 |
IL195956A0 (en) | 2009-09-01 |
WO2010070638A1 (en) | 2010-06-24 |
US20230325368A1 (en) | 2023-10-12 |
EP2377021A4 (en) | 2013-10-16 |
EP2377021A1 (en) | 2011-10-19 |
US10223390B2 (en) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7624118B2 (en) | Data processing over very large databases | |
US8099725B2 (en) | Method and apparatus for generating code for an extract, transform, and load (ETL) data flow | |
US7818292B2 (en) | SQL change tracking layer | |
CN104620239A (zh) | 自适应查询优化 | |
US8913264B2 (en) | Method and system for storing and retrieving data | |
CN102262640A (zh) | 一种全文检索文档数据库的方法及装置 | |
CN103514223A (zh) | 一种数据仓库数据同步方法和系统 | |
CN103460208A (zh) | 用于将数据加载到时态数据仓库的方法和系统 | |
US20230325368A1 (en) | Automatic data store architecture detection | |
KR101679050B1 (ko) | 규칙 기반 로그 데이터 그룹화를 이용한 개인 맞춤형 로그 분석 시스템 및 그 방법 | |
CN111125213A (zh) | 数据采集的方法、装置及其系统 | |
CN115132366A (zh) | 基于健康医疗大数据标准库的多源数据处理方法与系统 | |
CN105550351A (zh) | 旅客行程数据即席查询系统及方法 | |
CN103309929B (zh) | 存储和检索数据的方法和系统 | |
CN114817226A (zh) | 政府数据的处理方法及装置 | |
CN107168984A (zh) | 一种基于多文件格式自动识别的跨地域关联统计方法 | |
Löser et al. | Ad-Hoc Queries over Document Collections–A Case Study | |
Liu et al. | Application of Hadoop Based Distributed Data Cleaning Technology in Periodical Meta Data Integration | |
Kinnander | A comparison between MongoDB & CouchDB on search performance: A comparative analysis | |
Singh et al. | DATA QUALITY TOOLS FOR DATAWAREHOUSE MODELS | |
CN117370419A (zh) | 一种统一流程中心的实现方法 | |
CN113934744A (zh) | 一种数据共享的方法及设备 | |
Wojciechowski | E-ETL: framework for managing evolving ETL workflows | |
CN116266185A (zh) | 一种数据处理方法及装置 | |
CN115599843A (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120208 |