CN1987860A - 表示数据的连续集的方法和装置 - Google Patents
表示数据的连续集的方法和装置 Download PDFInfo
- Publication number
- CN1987860A CN1987860A CNA200610144715XA CN200610144715A CN1987860A CN 1987860 A CN1987860 A CN 1987860A CN A200610144715X A CNA200610144715X A CN A200610144715XA CN 200610144715 A CN200610144715 A CN 200610144715A CN 1987860 A CN1987860 A CN 1987860A
- Authority
- CN
- China
- Prior art keywords
- data
- rolling column
- continuum
- column
- value
- 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/24—Querying
- G06F16/245—Query processing
Abstract
本发明公开了一种用于将数据的连续集表示为关系模型中的滚动列的方法和装置。来自连续数据源的数据可以用于填充滚动列。用于定义滚动列的元数据指定应当用于填充滚动列的、来自数据的连续集的数据的正确部分。每当来自滚动列的数据被包括在诸如数据库查询之类的数据访问请求中时,数据库管理系统可以被配置为按照所述元数据来更新所述滚动列。
Description
技术领域
本发明一般地涉及计算机数据库。具体上,本发明涉及在数据库中将数据的面向时间或面向容量的部分表示为滚动列。
背景技术
数据库是计算机化的信息存储和检索系统。关系数据库管理系统(RDBMS)是使用用于存储和检索数据的关系技术的计算机数据库管理系统。关系数据库是计算机化的信息存储和检索系统,其中,以表格(正式地被命名为“关系”)的形式将数据存储在盘驱动器或类似的海量数据存储器中。“表格”包括跨越几列(正式地被命名为“属性”)的一组行(正式地被命名为“元组”或“记录”)。
RDBMS被构造来接受使用例如高级查询语言——诸如结构化查询语言(SQL)——来存储、检索和删除数据的命令。术语“查询”命名一组用于从所存储的数据库检索数据的命令。这些查询可以来自用户、应用程序或远程系统(客户或对等体)。查询执行的方法通常被称为查询计划、访问计划或仅仅是“计划”,它提供了用于在关系数据库中访问信息的有序的一组步骤。通常有用于任何特定查询的许多不同的有益执行计划,其中每个返回正确的数据集。对于大数据库,选择查询计划以相对于执行所述计划所需要的时间和硬件资源以合理的成本提供查询结果。
多个应用产生可以被存储为一系列在时间上的指定点测量的值的数据或与特定系列的事件相关联的数据。这些离散点可以表示数据的连续集。例如,不同感测装置的实时监控系统可以监控不同的多个连续事件,诸如病人生命指征、天气条件和当前的股票价格,这是一些示例。这些数据源的每个可以提供在RDBMS中被存储为记录的数据。
这个数据的部分经常有益于数据提炼和分析程序,所述数据提炼和分析程序被设计来分析在关系数据库中存储的数据,诸如股票特性分析应用。因为数据的连续集可以处于通量的不变状态,因此对于依赖于来自关系数据库的数据的应用,产生多个问题。首先,在关系数据模型中存储实时或准连续的数据馈送需要连续地插入数据。当需要所述数据的一部分或一片时,当前不存在有效的方法来定义要累积或向用于处理来自RDBMS的数据的应用提供多少数据。换句话说,处理实时数据的应用必须被配置来选择用于处理的数据的特定子部分或片。
当有可能以这种方式来配置某些应用时,这种手段的一个缺点是它经常导致在RDBMS和既不可升级也不有效的数据消耗的应用之间的关系。另一种手段包括使用数据抽象技术。但是,使用数据抽象可能由于每个应用为了获得相关联的子部分而必须关于实时数据的结构而具有的信息量而变得笨重。而且,在任何一种手段中,每次在RDBMS中的数据模型甚至轻微地改变时,也可能需要对于应用代码的成本大的改变。
因此,需要一种用于在关系数据库模型中表示来自实时或准连续数据源的数据的方法。
发明内容
本发明一般地涉及一种系统、方法和产品,用于在关系数据库模型中将特定的面向时间或面向容量的数据片表示为“滚动列”。
本发明的一个实施例提供了一种计算机实现的方法,用于在关系模型中表示从外部数据源接收的数据的连续集。所述方法一般包括:定义一组元数据参数,该组元数据参数用于定义要存储在滚动列中的数据的连续集的一部分。响应于接收到包括对滚动列的引用的查询,所述方法一般还包括:检索用于定义要存储在滚动列中的数据的连续集的所述部分的元数据参数;按照所述元数据参数有条件地更新在所述滚动列中存储的数据值,以反映所述数据连续集的正确部分;并且,相对于更新的滚动列而处理所述数据库查询。
本发明的另一个实施例包括计算机可读的存储介质,其中包含程序,所述程序当被处理器执行时执行用于在关系模型中表示从外部数据源接收的数据的连续集的操作。所述操作一般包括:响应于接收到包括对滚动列的引用的查询,检索用于定义要存储在滚动列中的数据的连续集的一部分的元数据参数;按照所述元数据参数有条件地更新在所述滚动列中存储的数据值,以反映所述数据连续集的正确部分;并且,相对于更新的滚动列而处理所述数据库查询。
本发明的另一个实施例包括计算装置。所述计算装置一般包括处理器和存储器,所述存储器被配置来存储包括指令的应用,所述指令当被执行时使得所述处理器执行用于将从外部数据源接收的数据连续集表示为关系模型中的滚动列的操作,响应于接收到包括对滚动列的引用的查询,所述操作一般包括:(i)检索用于定义要存储在滚动列中的数据的连续集的一部分的元数据参数;(ii)按照所述元数据参数有条件地更新在所述滚动列中存储的数据值,以反映所述数据连续集的正确部分;以及(iii)相对于更新的滚动列而处理所述数据库查询。
附图说明
为了实现并且可以更详细地理解本发明的上述的特征、优点和目的,参见在附图中图解的实施例而提供上面简述的本发明的更具体的说明。
但是,注意,所附的附图仅仅图解本发明的典型实施例,因此不被考虑为限定其范围,因为本发明可以允许其他等同有效的实施例。
图1是图解按照本发明使用的通用计算机系统的方框图;
图2是按照本发明的一个实施例的、被配置为在关系模型中将数据的连续集存储为滚动列的数据库环境的关系视图。
图3是图解按照本发明的一个实施例而配置的运行时间部件的操作的流程图。
图4是进一步图解按照本发明的一个实施例的运行时间部件的操作的流程图。
图5是进一步图解按照本发明的一个实施例的运行时间部件的操作的流程图。
图6是图解按照本发明的一个实施例、在关系数据库中定义滚动列的示例元数据方案。
图7图解了按照本发明的一个实施例的、具有包括滚动列的数据库表格的例证视图的数据库模式。
图8图解了按照本发明的一个实施例的、包括滚动列的数据库表格的例证视图的数据库模式。
具体实施方式
本发明一般地涉及用于将特定的面向时间或面向容量的数据片(slice)表示为关系数据库模型中的“滚动列”的系统、方法和产品。一个实施例涉及通过使用描述新的列类型的元数据来管理来自外部数据源的数据(这个新列类型在此被称为“滚动列”)。在一个实施例中,元数据描述滚动列、如何对于滚动列获得数据、和可用于由外部应用使用和用于处理引用滚动列的查询的滚动列的数据的一部分。在一个实施例中,外部应用以用于从现有的数据库列类型检索数据的相同方式来使用SQL查询从滚动列请求数据。
本发明的一个实施例被实现为用于计算机系统的程序产品,所述计算机系统诸如在图1中示出和下述的计算机系统100。所述程序产品的程序定义了所述实施例的功能(包括在此所述的方法),并且可以被包含在多个信号承载媒体上。说明性信号承载媒体包括、但是不限于:(i)永久存储在非可写存储媒体(例如,诸如由CD-ROM驱动器可读的CD-ROM盘之类的、在计算机中的只读存储器装置)上的信息;(ii)在可写存储媒体(例如在盘驱动器内的软盘或硬盘驱动器)上存储的可改变信息;或(iii)通过通信介质——诸如通过计算机或电话网络,其中包括无线通信——而被传送到计算机的信息。后一个实施例具体包括从因特网和其他网络下载的信息。当承载引导本发明的功能的计算机可读指令时,这样的信号承载媒体表示本发明的实施例。
一般地,被执行来实现本发明的实施例的例程可以是操作系统或特定应用、部件、程序、模块、对象或指令序列的一部分。本发明的计算机程序通常包括将由本地计算机翻译为机器可读格式、因此为可执行指令的多个指令。而且,程序包括多个变量和数据结构,它们或者本地驻留到所述程序,或者位于存储器中或存储装置上。另外,可以在本发明的特定实施例中根据实现其的应用来识别以下所述的各种程序。但是,应当明白,随后的任何特定程序命名仅仅为了方便,因此,本发明应当不限于单独地用于由这样的命名识别和/或暗示的任何具体应用中。
在下面,参见本发明的实施例。但是,应当明白,本发明不限于特定的所述实施例。相反,下面的特征和元素的任何组合——不论是否与不同的实施例相关联与否——被考虑来实现和实践本发明。而且,在各种实施例中,本发明提供了相对于现有技术的多个优点。但是,虽然本发明的实施例可以实现相对于其他可能解决方案和/或相对于现有技术的优点,是否由给定的实施例实现特定优点不是本发明的限定。因此,下面的方面、特征、实施例和优点仅仅是说明性的,不被认为是所附的权利要求的元素或限定,除了在权利要求中明确地说明。同样,对于“本发明”的引用应当不被理解为在此公开的发明主题的一般化,并且不应当被理解为是所附的权利要求的元素或限定,除了在权利要求中明确地说明。
环境的物理视图
现在参见图1,示出了分布式计算环境100。一般地,所述环境100包括计算机系统105和网络175。计算机系统105可以表示任何类型的计算机、计算机系统或其他的可编程电子装置,其中包括客户计算机、服务器计算机、便携计算机、嵌入控制器、基于PC的服务器、微计算机、中型计算机、大型计算机和被适配来支持本发明的所述方法、装置和产品的其他计算机。在一个实施例中,计算机系统26是可以从纽约州的阿芒克(Armonk)的国际商业机器公司获得的eServer iSeries400。
说明性地,计算机系统105包括联网的系统。但是,计算机系统105也可以包括单独的装置。在任何情况下,可以明白,图1仅仅是计算机系统的一种配置。本发明的实施例可以被适配到任何可比较的配置,而不论是否计算机系统100是复杂的多用户设备、单用户工作站或没有其自己的非易失性存储器的网络设备。
也可以在分布式计算环境中实践本发明的实施例,在所述环境中,通过经由通信网络而链接的远程处理装置来执行任务。在分布式计算环境中,可以将程序模块定位在本地和远程存储器中。在这一点上,计算机系统105和/或联网装置175的一个或多个可以是执行很少处理或不执行处理的弱(thin)客户机。
计算机系统105可以包括多个操作员和外围系统,例如如下所示:海量存储接口140,它在运行时间连接到包含数据库185的直接存取存储器155;视频接口145,它在运行时连接到显示器165;网络接口175,它在运行时经由网络175(例如广域网、局域网)而连接到多个联网装置170和180。显示器165可以是用于输出可视信息的任何视频输出装置。
计算机系统105被示出为包括至少一个处理器135,它从主存储器115经由总线120获得指令和数据。处理器135可以是被适配来支持本发明的方法的任何处理器。
主存储器115是足够大以保存必要的程序和数据结构的任何存储器。主存储器115可以是存储器之一或组合,所述存储器包括随机存取存储器、非易失性或备份存储器(例如可编程或快闪存储器、只读存储器等)。另外,存储器115可以被考虑包括物理地定位在计算机系统105中的其它位置的存储器,诸如被用作虚拟存储器或被存储在海量存储器(例如直接存取存储器155)或存储在经由总线120而耦接到计算机系统105的另一个计算机上的任何存储容量。
存储器115被示出配置有操作系统130。操作系统130是用于管理计算机系统110的操作的软件。操作系统130的示例包括IBM OS/1550、UNIX、Microsoft Windows、Linux操作系统的分布等。
存储器115还包括一个或多个数据管理系统。所述数据管理系统190是包括多个指令的软件产品,所述指令在各种时间驻留在计算机系统110中的各种存储器和存储装置中。当被在计算机系统110中的一个或多个处理器135读取和执行时,数据管理系统190使得计算机系统110执行用于执行体现本发明的各个方面的步骤或元素所需要的步骤。
环境的关系视图
图2示出了包括被配置到本发明的一个实施例的一组软件部件的数据处理环境200的关系视图。在一个实施例中,通过多个一般数据源2051、2052、205n(举例示出三个;统称为数据源205)来产生实时数据。在一个实施例中,数据源205提供了在滚动列220中存储的数据。数据管理系统190包含多个数据实体2151、2152、215n(举例示出三个;统称为数据实体215)。如图2中所示,数据实体215的示例是关系数据库表格。
数据库表格215可以包含多个不同类型的列。一个列类型包括按照本发明的一个实施例而配置的滚动列220。其他列可以是非滚动列225。在一个实施例中,滚动列220是用于捕获和表示来自实时数据源的数据——更一般而言,是具有值的连续(或定期)流的任何类型的数据(例如来自数据源205)——的数据库列。实时数据源的示例特别包括病人生命指征监测器、天气条件监测器和当前股票价格监测器。非滚动列225表示不是滚动列的任何现有的数据库列类型,在一个实施例中,数据实体元数据235描述了滚动列220如何收集、存储和返回数据。数据实体元数据235可以包括对于数据库的操作指令,用于指定是否数据被数据源205推到滚动列220中或被滚动列220从数据源205中拉出。下面更详细地说明“推到”和“拉出”情况的示例。另外,数据实体元数据235可以包含关于数据的时间片或被认为相关联的数据点的数量的信息,例如,元数据可以定义滚动列220,以便它包含在过去二十四小时中接收的数据记录、或被监控事件的最后三十五个测量值、或在滚动列220中存储的数据的大小(例如字节)。
在一个实施例中,请求应用250可以经由SQL查询240或数据馈送245、通过请求数据从一个或多个滚动列220检索数据。应用250可以特别表示被配置为分析来自数据库190的数据——包括来自滚动列的数据——的数据提炼和数据分析应用。而且,应用250可以表示用于构成被提交到RDBMS190的数据库查询的查询应用。元数据235指定数据管理系统190要响应于对来自滚动列220的数据的请求而向数据请求应用250返回数据的什么部分。
如上所述,来自滚动列的数据可以被“推到”和“拉出”。被“推到”滚动列220中的数据的示例包括从监控病人的心率的装置提供的数据。这样的监控装置可以被配置来将数据的插入“推到”滚动列220中。每次数据源205(例如心脏监控器)接收到另一个数据点,所述数据点被插入数据库中。所述数据实体元数据235指定RDBMS190应当存储被从心率监控装置推到列220中的数据。
被“拉出”到滚动列220的数据的示例包括数据库管理系统190从数据源205获得当前的股票价格并且将这些信息插入滚动列220中的情况。在这种情况下,数据实体元数据235指定RDBMS190应当每隔多久从数据源205“拉出”股票价格。在“推到”或者“拉出”情况中,数据库管理系统190使用元数据235中的所述信息来确定如何对滚动列220维护数据。
图3是图解按照本发明的一个实施例的方法300的流程图。数据库管理系统190可以执行方法300以处理数据库查询,所述数据库查询包括对于来自滚动列220的数据的请求。在步骤305中,使用现有的数据库查询处理例程来处理查询。例如,RDBMS190可以产生用于所述查询的查询计划。在步骤310,解析所述查询以识别在所述查询中包含的列。在步骤315,选择在步骤310识别的列。在步骤320,确定是否所考虑的列被定义为滚动列220。如果如此,则在步骤325,DBMS190分析用于滚动列220的元数据235以更新其中存储的数据的部分。处理然后返回到步骤315,以确定是否需要评估另外的列。
在一个实施例中,元数据235可以指定滚动列类型“连续”或“按需”。“连续”滚动列220是这样的滚动列,其中,对于列自动收集在滚动列中存储的数据,而与是否已经接收到对来自滚动列的数据的请求无关。相反,“按需”滚动列220是这样的滚动列,其中,仅仅当由外部应用250做出对数据的请求时,才获得在滚动列中存储的数据。下述的图4图解了被设置为“连续”的列类型的滚动列的示例,下述的图5图解了被设置为“按需”的列类型的滚动列的示例。
在任何情况下,列类型设置描述了应当如何更新滚动列以存储如由元数据235所定义的数据的连续集的正确部分。在评估了每个列并且更新了在被识别为滚动列220的任何列中反映的数据部分后,处理从步骤315进行到步骤330。在步骤330,一旦按照需要更新了滚动列来包括正确的数据值集合,则查询条件被评估为好像所包含的查询仅仅引用非滚动列。数据库管理系统190获得所述滚动列数据,并且将所述数据传送到数据库查询执行部件。所述数据可以然后被查询执行部件分析,以确定是否任何所述数据满足所述查询条件。如果有的话,在步骤335将结果返回到该请求应用。在返回查询结果后,方法300在步骤340结束。
图4是图解按照本发明的一个实施例、用于返回来自滚动列220的数据的正确部分的方法400的流程图。所述方法400还图解可以作为方法300的步骤325的一部分而执行的操作。在步骤405,检索所述滚动列的元数据235。在步骤410,使用元数据235来确定滚动列是否是“连续”列。如果滚动列不是“连续”的,则处理在步骤420结束,附加处理在下面参见图5来说明。否则,如果滚动列的元数据指示“连续”的滚动列,则列的数据假定已经被存储在所述列中。但是,在这种情况下,所述列可以包含多于相关联的时间片或由元数据235对于所述列指定的数据的部分,因为当“连续”列的数据变得可以被获得时,可以将其存储在所述列中。因此,在步骤415,可以根据可以被包括在元数据235中的规则来修整来自列220的数据。即,“修整”落在滚动列的时间片或数据部分的定义之外的数据值。在一个实施例中,被修整的数据值可以被记录到存储来自连续馈送的所有值的表格/列。或者,可以简单地丢弃被修整的值。一旦被修整,则可以响应于查询请求而返回来自滚动列220的数据。方法400在步骤420结束。
图5图解了按照本发明的一个实施例的用于返回来自滚动列220的数据的正确部分的方法500。方法500进一步图解了可以作为方法300的步骤325的一部分而执行的操作。在步骤505,获得滚动列的元数据。在步骤510,确定所述滚动列是否是“按需”的列。如果所述滚动列不是“按需”的列,则方法500在步骤535结束(例如,列类型可以按照图4中图解的方法被定义为“连续”的,并且被处理)。
否则,如果元数据235指示“按需”的滚动列,则在步骤515,数据库管理系统190确定滚动列是“拉出”类型还是“推到”类型。如果所述列是“拉出”类型,则在步骤520,从与滚动列相关联的数据源205“拉出”数据,并且处理继续到步骤525,在此,从数据源205检索的数据被附加到滚动列中的现有数据。如果另一方面所述列的元数据类型不是“拉出”类型,则所述数据假定已经被“推到”所述列中,并且处理从步骤515进行到步骤530。在步骤530,例如根据在定义滚动列的元数据235中的规则来修整在滚动列220中的数据。一旦被修整,则来自所述列的数据可以响应于查询请求而被返回。方法500在步骤535结束。
下述的图6、7和8提供了在数据库管理系统190中用于管理滚动列的说明性数据库模式的示例集。但是可以使用其他模式。
图6图解了按照本发明的一个实施例的、用于定义在关系数据库中的滚动列的、用于元数据235的例证元数据模式600。在此使用的术语“模式”指的是数据的布置。说明性地,用于滚动列的数据实体元数据605包含字段column_name(列名称)、column_set_name(列集名称)、data_slice_definition(数据片定义)、data_population_mode(数据填充模式)、data_sample_rate(数据采样率)和data_update_mode(数据更新模式)。下面详细说明用于说明每个元数据字段605的功能的附加示例。所述元数据值表格610显示按照本发明的一个实施例的例证数据实体元数据字段605的值。
每个元数据字段包含由数据库管理系统190使用来管理滚动列的例证集的不同方面的信息。例如,column_name可以存储滚动列的名称,而column_set_name可以包含一组相关滚动列的名称。以这种方式,所述column_set_name元数据字段可以使得数据库管理系统190管理多个滚动列,其中每个可以包含相同事件或相同时间点的不同观察。
说明性地,data_slice_definition字段可以包含时间间隔(时间片),用于定义相对于当前时间的某个功能的时间窗口(例如过去小时的值、过去日期的值等)。在另一个实施例中,data_slice_definition元数据字段可以包含存储在滚动列中的最大数量的值。用于定义来自更大数据连续集的数据部分的其他定义对于本领域内的技术人员是很显然的。例如,data_slice_definition可以指定在滚动列220中的数据值应当表示使用从数据源205接收的数据值而构成的数据值的最高、最低、平均或其他一些相关联的统计测量或采样。在这种情况下,滚动列220可以被配置为存储符合由元数据235指定的标准或公式的数据的集合。
data_population_mode元数据字段可以用于指示用于获得滚动列的数据的数据源205,以及对于所述滚动列获得数据的方式。在一个实施例中,从“拉出”或“推到”选择的值可以用于滚动列。“推到”的值指示外部数据源205被配置为按照预设的更新频率(例如每秒、每分钟两次、每小时一次等)来向滚动列中插入新数据。“拉出”的值指示数据库管理系统190负责检索和从外部数据源向滚动列中插入数据,如元数据235所定义的。
在一个实施例中,当将data_population_mode设置为“拉出”、并且可以使用这个字段的值来确定对滚动列检索新的数据值的频率时,引用data_sample_rate元数据字段。如图所示,datasample_rate元数据字段指定:“每分钟的生命指征读数”。数据库管理系统190负责以在data_sample_rate元数据字段中设置的定义频率来获得滚动列的当前数据。
data_update_mode可以存储定义数据库管理系统190每隔多久更新滚动列的信息。在一个实施例中,“连续”的值指示数据库管理系统190在连续(规则-定期)的基础上更新滚动列。因此,滚动列将总是包括最新的数据。“按需”的值指示数据库管理系统190应当试图仅仅当接收到对列中的数据的请求时获得滚动列的当前数据。在将data_update_mode设置为“连续”对“按需”之间的选择可以依赖于请求应用的需要。虽然data_update_mode的“连续”的值一般导致对于对数据的应用请求的更快的响应时间,“连续”模式也需要来自数据库管理系统190的更大数量的系统资源。同样,尽管data_update_mode元数据字段的“按需”的值一般不要求来自DBMS190的同样多的系统资源,但可能在向请求应用返回结果中产生附加的处理延迟。这可能发生,因为DBMS190将在返回结果之前花费时间来更新引用来自滚动列的数据的每个独立查询的“按需”列。因此,折中(trade-off)向数据库管理员提供了灵活性。
在一个实施例中,应用250以与现有列相同的方式来访问滚动列。例如,用户可以经由数据库管理系统190的所支持查询语言来构成和递交查询。在查询执行期间,数据库管理系统190保证在所述查询中包括的任何滚动列中的数据是最新的(例如,通过执行在图4和图5中图解的方法)。例如,可以根据data_slice_definition和data_population_mode元数据值来更新具有“按需”的data_update_mode的查询中的任何滚动列(例如,如果指定“拉出”的data_population_mode,则检索附加数据,并且去除不适合于指定的data_slice_definition设置内的数据)。通过分离从应用250管理滚动列中的数据的处理,现有的应用和SQL查询可以利用滚动列,以及诸如数据抽象层的更高级的数据库概念。例如,对于检索特定病人的最大相关心率测量数据的应用,可以相对于在表格PATIENTVITALSTABLE(病人生命表)中的滚动列“24小时心率”来执行SQL查询615。
在另一个实施例中,表格可以包含滚动列和非滚动列,或可以包含多个独立的滚动列。为了在包含所述组合之一的数据库表格中维护参考数据完整性,可以使用至少两个方法。第一个方法可以产生包含用于列数据的每个唯一组合的多个独立的行。第二个方法可以包括建立列之间的列结合约束。图7图解了第一个方法,图8图解了第二个方法。
图7图解了例证数据库模式700。在一些情况下,可能在滚动列和非滚动列之间或在单个表格中的多个滚动列之间没有关系。在这种情况下,可以组合滚动列和非滚动列的数据以形成复合表。结果产生的复合表包括用于非滚动值和独立的滚动列值的每个组合的行或用于唯一的独立的滚动列值的每个组合的行。例如,数据库表格TABLE1(表格1)705包含混合的数据库列A和B。A是具有值X和Y的非滚动列,B是具有值1、2和3的滚动列。如图所示,由查询720返回的TABLE1中的相关数据将是结果集725,诸如在滚动列和非滚动列上的笛卡尔(Cartersian)积。
图8图解了例证数据库模式800。在本发明的一个实施例中,可以使用替代的方法来合并非滚动列和滚动列,而不要求建立如在图7中上述的数据库行实体的Cartersian积。当定义滚动列的元数据时,这种替代方法需要识别结合约束。
例如,数据库表格TABLE2(表格2)805包含两个非滚动列PATIENTID(病人ID)和LASTNAME(姓)以及ID和HEARTRATE(心率)的相关联的滚动列。如图所示,每个列的示例值被列出到图8的侧面以更清楚。所述方法需要在非滚动列和滚动列之间或在表格中的独立滚动列之间建立结合约束,这类似于在现有的数据库系统中当前使用的不同表格中的不同字段之间的结合约束。可以想象,滚动列元数据约束820可以在滚动列的元数据中被配置,以建立在滚动列数据和非滚动列数据之间的关系。在一个实施例中,通过设置PATIENTID=ID的元数据约束,有可能执行类似于查询825的查询,以便产生TABLE2的结果集830。如图所示,通过使用如上所述的结合约束,表格可以具有滚动列和非滚动列,而不必具有用于滚动列和非滚动列数据的每个唯一组合的行。
结论
本发明的实施例使用滚动列提供了在关系数据库模型中的数据连续集的面向时间或面向容量的部分。以这种方式,本发明的实施例使得用户可以查询实时的数据连续集,而不必知道保存当前滚动列的数据的机制。结果,用户能够使用现有的应用在数据库管理系统中与实时的数据连续集交互。
虽然上面涉及本发明的实施例,但是可以在不脱离其基本范围的情况下来设计本发明的其他实施例,本发明的范围由所附的权利要求确定。
Claims (13)
1.一种计算机实现的方法,用于在关系模型中表示从外部数据源接收的数据的连续集,所述方法包括:
定义一组元数据参数,所述元数据参数定义要存储在滚动列中的数据的连续集的一部分;并且
响应于接收到包括对于滚动列的引用的查询,
检索用于定义要存储在滚动列中的数据的连续集的所述部分的元数据参数;
按照所述元数据参数,有条件地更新所述滚动列,以反映所述数据连续集的正确部分;并且,
相对于更新的滚动列而处理所述数据库查询。
2.按照权利要求1的方法,其中,所述数据连续集的部分表示在指定时间段上收集的数据值。
3.按照权利要求1的方法,其中,所述数据连续集的部分表示在滚动列中存储的连续数据值的指定数量的离散测量值。
4.按照权利要求1的方法,其中,所述元数据参数定义数据的连续集的所述部分,以表示使用从外部数据源接收的数据而构成的数据的统计测量值;其中,所述数据的统计测量值包括最高测量值、最低测量值和平均测量值的至少一个。
5.按照权利要求1的方法,其中,所述数据连续集的部分表示要存储在滚动列中的指定大小的数据。
6.按照权利要求1的方法,其中,所述外部数据源提供数据值的连续流,以存储在滚动列中,并且其中有条件地更新在所述滚动列中存储的数据值包括:修整滚动列中的数据值。
7.按照权利要求1的方法,其中,外部数据源是实时数据源,用于向包括所述滚动列的数据库管理系统提供数据值的连续测量值。
8.按照权利要求1的方法,其中,所述滚动列被配置为以由所述元数据参数定义的时间间隔从所述外部数据源向所述滚动列中拉出数据值。
9.按照权利要求1的方法,其中,所述滚动列被配置为接收从所述外部数据源被推到所述滚动列中的数据值。
10.按照权利要求1的方法,其中,有条件地更新滚动列包括:确定元数据是否指定了滚动列的连续或按需模式,并且其中,所述连续模式导致在连续基础上更新滚动列,而不必等待对来自滚动列的数据的请求,并且其中,所述按需模式导致仅仅响应于接收到包括对滚动列的引用的查询,所述数据库管理系统更新用于填充滚动列数据的数据。
11.一种计算装置,包括:
处理器,以及
存储器,被配置来存储包括指令的应用,所述指令当被处理器执行时使得处理器执行操作,所述操作用于将从外部数据源接收的数据的连续集表示为关系模型中的滚动列,包括:
响应于接收到包括对滚动列的引用的查询;
(i)检索用于定义要存储在滚动列中的数据的连续集的一部分的元数据参数;
(ii)按照所述元数据参数更新所述滚动列,以反映所述数据连续集的正确部分;并且,
(iii)相对于更新的滚动列而处理所述数据库查询。
12.按照权利要求11的计算装置,其中,所述滚动列被配置为在由元数据参数定义的时间间隔从所述外部数据源向滚动列中拉出数据值。
13.按照权利要求11的计算装置,其中,所述滚动列被配置为接收从所述外部数据源被推到滚动列中的数据值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/316,246 US20070150489A1 (en) | 2005-12-22 | 2005-12-22 | Method of representing continuum of data as a rolling column within a relational model |
US11/316,246 | 2005-12-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1987860A true CN1987860A (zh) | 2007-06-27 |
Family
ID=38184657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA200610144715XA Pending CN1987860A (zh) | 2005-12-22 | 2006-11-07 | 表示数据的连续集的方法和装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20070150489A1 (zh) |
CN (1) | CN1987860A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521226A (zh) * | 2010-09-29 | 2012-06-27 | 微软公司 | 比较并选择数据净化服务提供者 |
CN107256229A (zh) * | 2017-05-02 | 2017-10-17 | 上海斐讯数据通信技术有限公司 | 一种连续值测量统计方法及系统 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8200668B2 (en) * | 2008-06-24 | 2012-06-12 | Microsoft Corporation | Scalar representation for a logical group of columns in relational databases |
US8473854B2 (en) * | 2008-08-19 | 2013-06-25 | Rockwell Automation Technologies, Inc. | Visualization profiles and templates for auto-configuration of industrial automation systems |
CN105306279A (zh) * | 2015-11-30 | 2016-02-03 | 国网江西省电力公司信息通信分公司 | 一种企业级应用系统的数据性能分析平台及方法 |
US10452631B2 (en) * | 2017-03-15 | 2019-10-22 | International Business Machines Corporation | Managing large scale association sets using optimized bit map representations |
US11115302B1 (en) * | 2018-09-17 | 2021-09-07 | Amazon Technologies, Inc. | Self-service metric publication in a computer network |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664695B2 (en) * | 2001-07-24 | 2010-02-16 | Stephen Cutler | Securities market and market maker activity tracking system and method |
US6915305B2 (en) * | 2001-08-15 | 2005-07-05 | International Business Machines Corporation | Restructuring view maintenance system and method |
US7099879B2 (en) * | 2001-12-21 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | Real-time monitoring of service performance through the use of relational database calculation clusters |
US7325042B1 (en) * | 2002-06-24 | 2008-01-29 | Microsoft Corporation | Systems and methods to manage information pulls |
US7177859B2 (en) * | 2002-06-26 | 2007-02-13 | Microsoft Corporation | Programming model for subscription services |
-
2005
- 2005-12-22 US US11/316,246 patent/US20070150489A1/en not_active Abandoned
-
2006
- 2006-11-07 CN CNA200610144715XA patent/CN1987860A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521226A (zh) * | 2010-09-29 | 2012-06-27 | 微软公司 | 比较并选择数据净化服务提供者 |
CN102521226B (zh) * | 2010-09-29 | 2014-07-16 | 微软公司 | 比较并选择数据净化服务提供者 |
CN107256229A (zh) * | 2017-05-02 | 2017-10-17 | 上海斐讯数据通信技术有限公司 | 一种连续值测量统计方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20070150489A1 (en) | 2007-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372723B2 (en) | Efficient query processing using histograms in a columnar database | |
US11461309B2 (en) | Incremental refresh of a materialized view | |
US9367574B2 (en) | Efficient query processing in columnar databases using bloom filters | |
US20180210934A1 (en) | Systems and methods for interest-driven business intelligence systems including event-oriented data | |
US6748394B2 (en) | Graphical user interface for relational database | |
US7080090B2 (en) | Allocation measures and metric calculations in star schema multi-dimensional data warehouse | |
CN103177061B (zh) | 分区表中的唯一值估计 | |
US8082258B2 (en) | Updating an inverted index in a real time fashion | |
US7664778B2 (en) | SQL tuning sets | |
US8244701B2 (en) | Using behavior data to quickly improve search ranking | |
US20060116981A1 (en) | Method and system for automated data collection and analysis of a computer system | |
US20020099692A1 (en) | Aggregate navigation system | |
CN1987860A (zh) | 表示数据的连续集的方法和装置 | |
EP2767912A2 (en) | In-memory real-time synchronized database system and method | |
US20020038229A1 (en) | Non-additive measures and metric calculation | |
US8086574B2 (en) | Usage-based optimization of network traffic and data warehouse size | |
US20100228739A1 (en) | Methods and Systems for Automatically Determining a Default Hierarchy from Data | |
US6732115B2 (en) | Chameleon measure and metric calculation | |
US7447682B2 (en) | Framework for retrieval and display of large result sets | |
CN114298525A (zh) | 一种数据库风险评估方法及装置 | |
GB2488147A (en) | A method for generating an OLAP cube from a database of user activity on a network | |
JP2010165004A (ja) | データ蓄積システムおよびデータ管理方法 | |
JP2004185465A (ja) | 多次元データベース処理方法及びその実施システム並びにその処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20070627 |