自动定义热存储和大工作负载.pdf

上传人:e1 文档编号:4036145 上传时间:2018-08-12 格式:PDF 页数:12 大小:1.61MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410444282.4

申请日:

2014.09.03

公开号:

CN104424361A

公开日:

2015.03.18

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F17/30申请日:20140903|||公开

IPC分类号:

G06F17/30

主分类号:

G06F17/30

申请人:

国际商业机器公司

发明人:

K·L·贝克; K·J·奇考尔

地址:

美国纽约

优先权:

14/018,052 2013.09.04 US

专利代理机构:

中国国际贸易促进委员会专利商标事务所11038

代理人:

李玲

PDF下载: PDF下载
内容摘要

提出了自动定义热存储和大工作负载。在定义数据库对象以用于以数据层次存储时,观察在预定的时间期间上对多个数据库对象的访问频率。基于所观察到的对该多个数据库对象的访问频率来计算针对多个数据库对象的均值和标准差。由计算处理器基于将对给定数据库对象的访问频率与针对多个数据库对象计算的均值和标准差的比较来为给定数据库对象确定z评分;以及确定与给定数据库对象的z评分相对应的存储层次的级别。给定据库对象然后可以存储于与给定数据库对象的z评分相对应的存储层次的级别处。

权利要求书

权利要求书
1.  一种用于定义数据库对象以用于以存储层次存储的方法,该方法由计算处理器执行,该方法包括:
由所述计算处理器观察在预定的时间期间上对多个数据库对象的访问频率;
由所述计算处理器基于所观察到的对所述多个数据库对象的访问频率来计算针对所述多个数据库对象的均值和标准差;
由所述计算处理器基于对给定的数据库对象的访问频率与针对所述多个数据库对象的均值和标准差的比较,来为所述给定的数据库对象确定z评分;以及
确定与所述给定的数据库对象的z评分相对应的存储层次的级别。

2.  根据权利要求1所述的方法,还包括:
在与所述给定的数据库对象的z评分相对应的存储层次的级别处存储所述给定的数据库对象。

3.  根据权利要求1所述的方法,其中观察在预定的时间期间上对多个数据库对象的访问频率包括:
确定发生对所述给定的数据库对象的新的访问;
响应于确定发生对所述给定的数据库对象的新的访问,将增量时间计算为当前时间减去对所述给定的数据库对象的最近的访问的时间戳;以及
使用所述增量时间更新对所述给定的数据库对象的累积统计。

4.  根据权利要求3所述的方法,其中基于对给定的数据库对象的访问频率与针对所述多个数据库对象计算的均值和标准差的比较来为所述给定的数据库对象确定z评分包括:
使用对所述给定的数据库对象和所述多个数据库对象的累积统 计,计算针对所述给定的数据库对象的增量时间的均值、以及针对所述多个数据库对象的均值和标准差;以及
使用针对所述给定的数据库对象的增量时间的均值以及针对所述多个数据库对象的均值和标准差来计算针对所述给定的数据库对象的z评分。

5.  根据权利要求3所述的方法,其中对所述给定的数据库对象的累积统计包括:对所述给定的数据库对象的观察的计数;针对所述给定的数据库对象的增量时间的和;和针对所述给定的数据库对象的增量时间的平方和。

6.  根据权利要求1所述的方法,其中确定与所述给定的数据库对象的z评分相对应的存储层次的级别包括:
确定所述给定的数据库对象的z评分是否满足预配置的阈值;以及
基于所述给定的数据库对象的z评分是否满足预配置的阈值来定义与所述给定的数据库对象的z评分相对应的所述存储层次的级别。

7.  根据权利要求1所述的方法,还包括:
观察多个时间期间上对所述多个数据库对象的访问频率;
基于在所述多个时间期间上所观察到的频率来检测任何趋势;以及
基于为所述给定的数据库对象所确定的z评分和任何检测到的趋势来确定是否要修改所述给定的数据库对象的存储层次的级别。

8.  根据权利要求1所述的方法,其中观察在预定的时间期间上对多个数据库对象的访问频率包括:
观察在多个时间期间上对所述多个数据库对象的访问频率,其中所述多个时间期间包括至少两个重叠的时间期间。

9.  一种系统,包括:
处理器;以及
计算机可读存储介质,其中具有计算机可读程序代码,所述程序代码能够由所述处理器执行以:
观察在预定的时间期间上对多个数据库对象的访问频率;
基于所观察到的对所述多个数据库对象的访问频率来计算针对所述多个数据库对象的均值和标准差;
基于对给定的数据库对象的访问频率与针对所述多个数据库对象的均值和标准差的比较来为所述给定的数据库对象确定z评分;以及
确定与所述给定的数据库对象的z评分相对应的存储层次的级别。

10.  根据权利要求9所述的系统,其中所述程序代码能够进一步由所述处理器执行以:
在与所述给定的数据库对象的z评分相对应的存储层次的级别处存储所述给定的数据库对象。

11.  根据权利要求9所述的系统,其中所述程序代码能够进一步由所述处理器执行以:
观察多个时间期间上对所述多个数据库对象的访问频率;
基于在所述多个时间期间上所观察到的频率来检测任何趋势;以及
基于为所述给定的数据库对象所确定的z评分和任何检测到的趋势来确定是否要修改所述给定的数据库对象的存储层次的级别。

12.  根据权利要求9所述的系统,其中能够由所述处理器执行以观察在预定的时间期间上对多个数据库对象的访问频率的程序代码能够进一步由所述处理器执行以:
观察在多个时间期间上对所述多个数据库对象的访问频率,其中所述多个时间期间包括至少两个重叠的时间期间。

说明书

说明书自动定义热存储和大工作负载
背景技术
不同类型的数据存储产生不同的成本,对于每千兆字节来说,较快的存储比较慢的存储花费更大。一种管理存储成本的方法是使用分层或“多温度存储”,其中频繁访问的(又称为“热的”)数据被存储在较快、但更昂贵的存储装置(例如,固态“磁盘”)中,而不频繁访问的数据被移动到渐慢、但更便宜的存储装置(例如,物理硬盘,磁带驱动器等)中。
特定的数据库应用程序或用户也表现出不同的工作负载模式。有些对数据进行高频访问,而其他可能会进行不太频繁的数据访问。在另一个方法中,工作负载管理技术执行和多温度存储类似的任务,其提供一种机制以给不同的工作负载不同的资源访问级别。例如,给高优先级的工作负载比其他工作负载更大份额的可用CPU时间,定性地类似于将给定子集的数据驻留在更快的备用存储器件上。
然而,上述方法需要用户干预,以确定哪些数据或工作负载应该在比例上获得更多的对快速和昂贵的资源的访问,哪些应该被归为更多地访问更慢和更便宜的资源。
发明内容
根据本发明的一个实施例,在定义数据库对象以用于以数据层次存储时,观察在预定的时间期间上对多个数据库对象的访问频率。基于所观察到的对该多个数据库对象的访问频率来计算针对多个数据库对象的均值和标准差。由计算处理器基于将对给定数据库对象的访问频率与针对多个数据库对象的均值和标准差的比较来为给定数据库对象确定z评分;以及确定与给定数据库对象的z评分相对应的存储层次的级别。给定据库对象然后可以存储于与给定数据库对象的z评分 相对应的存储层次的级别处。
附图说明
图1示出了根据本发明的用于定义数据库对象以用于以存储层次存储的系统的实施例。
图2示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。
图3更具体地示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如(Java和所有基于Java的商标和logo是美国、其他国家或美国和其他国家的甲骨文公司的商标)、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”程序设计语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/ 动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他器件上,以用于使得在计算机、其他可编程装置或其他器件上执行一系列操作步骤,从而生成计算机执行的过程,从而在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的局部功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,或者所述方框有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本文使用的术语目的只是描述特定的实施例,而不用于限制本发明。如本文所使用的,单数形式的“一”、“一个”和“所述”也用于包括复数形式,除非上下文另有明确说明。还要理解,当在本说明书中使用术语“包括”和/或“包含”时,规定所述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除可以存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合。
所附权利要求中相应的结构、材料、动作、和所有装置或步骤加 上功能元件的等同方式意在包括任何用于根据特定要求结合其他要求保护的元件执行所述功能的结构、材料或动作。为了示出和描述的目的对本发明进行描述,但并非意在穷举或以所揭示的形式限制本发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是明显的。为了最好地解释本发明的原理和实际应用,以及使本领域的其他技术人员能够理解本发明以通过各种修改做出各种适合于预期的特定用途的实施例,选择和描述了该实施例。
图1示出了根据本发明的用于定义数据库对象以用于以存储层次存储的系统的实施例。计算机系统100可操作地耦合到处理器或处理单元106、存储器101和总线109,所述总线109将各种系统元件进行耦合,包括将存储器101耦合到处理器106。总线109表示一个或多个多种总线结构中的任何总线结构,包括存储器总线或存储器控制器、外围总线、加速图形端口、和使用各种总线体系结构中的任何总线体系结构的处理器或局部总线。存储器101可以包括易失性存储器形式的计算机可读介质,诸如随机访问存储器(RAM)102或高速缓冲存储器103、或非易失性存储介质104。存储器101可以包括至少一个程序产品,该程序产品具有一组至少一个程序代码模块105,该程序代码模块105被配置成当被处理器106执行时执行本发明的实施例的功能。计算机系统100还可以经由I/O接口107与一个或多个外部设备111(诸如显示器110)通信。计算机系统100可以经由网络适配器108与一个或多个数据库管理系统(DBMS)112通信。
图2示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。数据库对象可以包括数据库的表格、索引等。该方法观察在预定时间期间对多个数据库对象的访问频率(201)。该方法基于观察的对数据库对象的访问频率来计算针对多个数据库对象的均值和标准差(deviation)(202)。对于给定的数据库对象,方法基于将对给定对象的访问频率与针对多个数据库对象计算的均值和标准差进行比较,来确定z评分(z-score)(203)。在该实施例中,z评分表示以标准差为单位的对给定数据库对象的访问频率与被观察的 所有数据库对象的均值和标准差之间的差。然后该方法确定对应于给定数据库对象的z评分的存储层次的级别(204)。
图3更具体地示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。在该实施例中,在一段时间期间上观察对数据库对象的访问频率。对数据库对象访问的监测在该时间期间的起始处开始(300)。可以为每个观察的数据库对象保存对监测数据的记录,包括最近的访问的时间戳和对每个数据库对象的累积统计,如下文进一步所述。当检测到新的数据库对象访问时(301),该方法将增量(delta)时间(ΔT)计算为当前时间减去对数据库对象的最近的访问的时间戳(302)。使用ΔT来更新对数据库对象的累积统计。在该实施例中,累积统计包括:对数据库对象的观察的计数N;针对数据库对象的ΔT的和(ΣΔT);以及针对数据库对象的ΔT的平方和(Σ(ΔT 2))。这三个累积统计能够针对数据库对象计算均值和标准差(304),而不必须保存每个访问的时间戳。在该实施例中,计算数据库对象的ΔT的均值(304)。还计算所有观察的数据库对象的均值和标准差(305)。通过将数据库对象的ΔT的均值与所有观察的数据库对象的均值和标准差进行比较来计算数据库对象的z评分(306)。在该实施例中,最近访问的时间戳是计算ΔT所需的最小数据。累积统计(计数、ΣΔT、和Σ(ΔT)2)是生成所有观察的数据库对象的总均值和标准差所需的最小数据。生成单个数据库对象的均值所需的最小数据是对该对象的计数和ΣΔT。
一旦计算了数据库对象的z评分,则可以根据预配置的z评分阈值来定义数据库对象的“温度”。z评分阈值可以是用户可设置的参数。可替换地,可以基于有多少快速存储可用来自动调整z评分阈值。例如,如果快速存储的可用性较低,则可以提升z评分阈值。如果快速存储的可用性较高,则可以降低z评分阈值。如果计算的z评分满足或超过阈值(307),则数据库对象被定义为“热的”(309)。否则,数据库对象被定义为“冷的”或“温的”(308)。例如,阈值可被配置为使得对应于0.99或以上的累积概率(即,单尾正态分布 (single-tailed normal distribution)的1%尾部中的数据库对象)的z评分为“热的”,对应于0.95-0.99的累积概率(即,5%尾部中除了1%尾部的数据库对象)的z评分为“温的”,和所有其他z评分为“冷的”。然后数据库对象可以被存储或移动到对应于其z评分的存储层次的级别。例如,定义为“热的”数据库对象可以被存储或移动到快速存储装置,定义为“温的”数据库对象可以被存储或移动到较慢的和/或不太昂贵的存储装置,以及定义为“冷的”数据库对象可以被存储或移动到最慢的和/或最便宜的存储装置。可以定义任意数目的存储层次的级别以及可以选择任何的z评分的分布。类似地,对于工作负载管理,可以利用预配置的阈值通过z评分来识别最忙的工作负载,然后基于这些工作负载的优先级加上其z评分来增加或降低访问。例如,具有对应于0.99或更高的累积概率的z评分的高优先级的工作负载可被授权以许多资源,而也具有对应于0.99或更高的累积概率的z评分的低优先级的工作负载可被授权以比高优先级的工作负载少的资源。以该方式,可以考虑真实世界中的访问的预期正态分布。
在一个实施例中,以跨越不同范围的最近时间的不同间隔对统计进行累积。对于每个这样的分开的间隔,保存和更新最少三个额外的累积和。为了方便起见,这些可表示为Σx0(当求和的为计数时,观察值求0次幂)、Σx1(观察值的和)和Σx2(观察值的平方和)。例如,可以针对最近的1小时、最近的1天、最近的30天和最近的1年累积这些和。在该示例中,十二个累积统计,加上最近的访问的时间戳,能够以四个不同的间隔计算给定数据库对象的均值和标准差。
再次参考图3,在监测时间期间的最后(310),重置对数据库对象的累积统计(311)。例如,假设时间期间为1小时。当当前的小时结束和下一个小时要开始时,将按小时的累积统计重置为0。然而,此时,由于缺少观察值,对最近的小时的有用的统计对于新的小时已经开始之后的一段时间不再可用。这意味着最近的访问数据不可用。为了解决这种情况,可以在至少两个重叠的窗口中保持统计的每个间隔。例如,两个窗口可以用于按小时的统计,这两个窗口可以有半小 时的偏移(offset),诸如一个窗口覆盖8:00-9:00,然后下一个窗口覆盖8:30-9:30。当到9:00时,重置对8:00-9:00窗口的累积统计,并且对新的9:00-10:00窗口的监测开始。同时,对8:30-9:30窗口的累积统计的采集对于另外半小时仍然是有效的,并已经包括了对最近30分钟的观察值。用适当的归一化(normalization),在该窗口中累积的统计可以用作9:00-10:00窗口中的观察值的最近的访问数据。这样,使得对最近的访问的统计可用。可以使用任意数目的重叠窗口。例如,8:00-9:00、8:20-9:20和8:40-9:40给出了三个重叠窗口,并且当重置在一个窗口中采集的统计时,在另一个重叠窗口中仍然有2/3个小时的观察值可用。更一般地,对于所使用的n个重叠窗口,一旦监测已被启用了至少(n-1)/n的所考虑的时间间隔那么长,总有包括至少(n-1)/n的所述时间间隔的观察值可用。
可选地,为了定义什么时候是要重置窗口的时间,可以针对从1970年1月1日开始的“划时代的”秒数计算机时间S来使用模运算。实际挂钟时间或当前时区都无所谓。例如,在限定了有半小时重叠的两小时长的窗口时,一个窗口可以被定义为每当(S mod 3600)=0时重置,而另一个窗口每当(S mod 3600)=1800时重置。3600就是一小时内的秒数,而1800是该数的一半。相同的技术可以用于任何间隔。例如,30天的时间颗粒(grain)大小会使用(S mod(30×24×60×60)),其中30×24×60×60就是30天中的秒数(30天,乘以每天24小时,乘以每小时60分,乘以每分60秒)。
在另一个实施例中,采集的统计可以用于趋势检测。例如,如果保存对最近1年、30天、1天、和1小时的统计,这四个间隔的均值显示频率随着时间是怎样变化的。假设每个时间期间的均值最好地表示了该时间期间的中点,则统计对应于对处于1/2年前、15天前、12小时前、和1/2小时前的时候的均值的估计。如果如上所述还保存重叠的观察窗口,则甚至有更多数据点可用。然后,标准曲线拟合技术,包括线性拟合,可以被应用于检测趋势。将来可以加入该趋势检测以预测存储装置使用的增长、跟踪数据库对象的大小和/或访问的频率, 或预测什么时候客户将用完可用的存储装置。可以基于为数据库对象确定的z评分和任何检测的趋势来修改数据库对象的存储层次的级别。注意,可以使用累积统计而不用计算z评分来完成趋势检测。
在另一个实施例中,如上所述,基于对存储温度或工作负载繁忙程度的定义,并基于所检测的趋势,可以自动地对用户给出建议。例如,如果数据迁移到不同的存储装置实际上不是自动的,仍然通知用户什么时候数据应该被移动到不同的存储层次的级别,或什么时候工作负载是要被授权以更多的资源或者更少的资源的候选。而且,可以基于检测的趋势自动给用户建议,诸如给用户警告“‘客户’表格可能将在三天之内用尽可用的存储装置”。
为了说明的目的对本发明各种实施例进行了描述,但是不意在穷尽或限于所揭示的实施例。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说将是明显的。这里使用的术语被选择用来最好地解释实施例的原理、实际应用或对市场上可见的技术进行的技术改进,或者用于使本领域的其他普通技术人员能够理解本文所揭示的实施例。

自动定义热存储和大工作负载.pdf_第1页
第1页 / 共12页
自动定义热存储和大工作负载.pdf_第2页
第2页 / 共12页
自动定义热存储和大工作负载.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《自动定义热存储和大工作负载.pdf》由会员分享,可在线阅读,更多相关《自动定义热存储和大工作负载.pdf(12页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 (43)申请公布日 (21)申请号 201410444282.4(22)申请日 2014.09.0314/018,052 2013.09.04 USG06F 17/30(2006.01)(71)申请人国际商业机器公司地址美国纽约(72)发明人 KL贝克 KJ奇考尔(74)专利代理机构中国国际贸易促进委员会专利商标事务所 11038代理人李玲(54) 发明名称自动定义热存储和大工作负载(57) 摘要提出了自动定义热存储和大工作负载。在定义数据库对象以用于以数据层次存储时,观察在预定的时间期间上对多个数据库对象的访问频率。基于所观察到的对该多个数据库对象的访问频率来计算针对多个。

2、数据库对象的均值和标准差。由计算处理器基于将对给定数据库对象的访问频率与针对多个数据库对象计算的均值和标准差的比较来为给定数据库对象确定z评分;以及确定与给定数据库对象的z评分相对应的存储层次的级别。给定据库对象然后可以存储于与给定数据库对象的z评分相对应的存储层次的级别处。(30)优先权数据(51)Int.Cl.(19)中华人民共和国国家知识产权局(12)发明专利申请权利要求书2页 说明书6页 附图3页(10)申请公布号 CN 104424361 A(43)申请公布日 2015.03.18CN 104424361 A1/2页21.一种用于定义数据库对象以用于以存储层次存储的方法,该方法由计算。

3、处理器执行,该方法包括:由所述计算处理器观察在预定的时间期间上对多个数据库对象的访问频率;由所述计算处理器基于所观察到的对所述多个数据库对象的访问频率来计算针对所述多个数据库对象的均值和标准差;由所述计算处理器基于对给定的数据库对象的访问频率与针对所述多个数据库对象的均值和标准差的比较,来为所述给定的数据库对象确定z评分;以及确定与所述给定的数据库对象的z评分相对应的存储层次的级别。2.根据权利要求1所述的方法,还包括:在与所述给定的数据库对象的z评分相对应的存储层次的级别处存储所述给定的数据库对象。3.根据权利要求1所述的方法,其中观察在预定的时间期间上对多个数据库对象的访问频率包括:确定发。

4、生对所述给定的数据库对象的新的访问;响应于确定发生对所述给定的数据库对象的新的访问,将增量时间计算为当前时间减去对所述给定的数据库对象的最近的访问的时间戳;以及使用所述增量时间更新对所述给定的数据库对象的累积统计。4.根据权利要求3所述的方法,其中基于对给定的数据库对象的访问频率与针对所述多个数据库对象计算的均值和标准差的比较来为所述给定的数据库对象确定z评分包括:使用对所述给定的数据库对象和所述多个数据库对象的累积统计,计算针对所述给定的数据库对象的增量时间的均值、以及针对所述多个数据库对象的均值和标准差;以及使用针对所述给定的数据库对象的增量时间的均值以及针对所述多个数据库对象的均值和标准。

5、差来计算针对所述给定的数据库对象的z评分。5.根据权利要求3所述的方法,其中对所述给定的数据库对象的累积统计包括:对所述给定的数据库对象的观察的计数;针对所述给定的数据库对象的增量时间的和;和针对所述给定的数据库对象的增量时间的平方和。6.根据权利要求1所述的方法,其中确定与所述给定的数据库对象的z评分相对应的存储层次的级别包括:确定所述给定的数据库对象的z评分是否满足预配置的阈值;以及基于所述给定的数据库对象的z评分是否满足预配置的阈值来定义与所述给定的数据库对象的z评分相对应的所述存储层次的级别。7.根据权利要求1所述的方法,还包括:观察多个时间期间上对所述多个数据库对象的访问频率;基于在。

6、所述多个时间期间上所观察到的频率来检测任何趋势;以及基于为所述给定的数据库对象所确定的z评分和任何检测到的趋势来确定是否要修改所述给定的数据库对象的存储层次的级别。8.根据权利要求1所述的方法,其中观察在预定的时间期间上对多个数据库对象的访问频率包括:观察在多个时间期间上对所述多个数据库对象的访问频率,其中所述多个时间期间包权 利 要 求 书CN 104424361 A2/2页3括至少两个重叠的时间期间。9.一种系统,包括:处理器;以及计算机可读存储介质,其中具有计算机可读程序代码,所述程序代码能够由所述处理器执行以:观察在预定的时间期间上对多个数据库对象的访问频率;基于所观察到的对所述多个数。

7、据库对象的访问频率来计算针对所述多个数据库对象的均值和标准差;基于对给定的数据库对象的访问频率与针对所述多个数据库对象的均值和标准差的比较来为所述给定的数据库对象确定z评分;以及确定与所述给定的数据库对象的z评分相对应的存储层次的级别。10.根据权利要求9所述的系统,其中所述程序代码能够进一步由所述处理器执行以:在与所述给定的数据库对象的z评分相对应的存储层次的级别处存储所述给定的数据库对象。11.根据权利要求9所述的系统,其中所述程序代码能够进一步由所述处理器执行以:观察多个时间期间上对所述多个数据库对象的访问频率;基于在所述多个时间期间上所观察到的频率来检测任何趋势;以及基于为所述给定的数。

8、据库对象所确定的z评分和任何检测到的趋势来确定是否要修改所述给定的数据库对象的存储层次的级别。12.根据权利要求9所述的系统,其中能够由所述处理器执行以观察在预定的时间期间上对多个数据库对象的访问频率的程序代码能够进一步由所述处理器执行以:观察在多个时间期间上对所述多个数据库对象的访问频率,其中所述多个时间期间包括至少两个重叠的时间期间。权 利 要 求 书CN 104424361 A1/6页4自动定义热存储和大工作负载背景技术0001 不同类型的数据存储产生不同的成本,对于每千兆字节来说,较快的存储比较慢的存储花费更大。一种管理存储成本的方法是使用分层或“多温度存储”,其中频繁访问的(又称为“。

9、热的”)数据被存储在较快、但更昂贵的存储装置(例如,固态“磁盘”)中,而不频繁访问的数据被移动到渐慢、但更便宜的存储装置(例如,物理硬盘,磁带驱动器等)中。0002 特定的数据库应用程序或用户也表现出不同的工作负载模式。有些对数据进行高频访问,而其他可能会进行不太频繁的数据访问。在另一个方法中,工作负载管理技术执行和多温度存储类似的任务,其提供一种机制以给不同的工作负载不同的资源访问级别。例如,给高优先级的工作负载比其他工作负载更大份额的可用CPU时间,定性地类似于将给定子集的数据驻留在更快的备用存储器件上。0003 然而,上述方法需要用户干预,以确定哪些数据或工作负载应该在比例上获得更多的对。

10、快速和昂贵的资源的访问,哪些应该被归为更多地访问更慢和更便宜的资源。发明内容0004 根据本发明的一个实施例,在定义数据库对象以用于以数据层次存储时,观察在预定的时间期间上对多个数据库对象的访问频率。基于所观察到的对该多个数据库对象的访问频率来计算针对多个数据库对象的均值和标准差。由计算处理器基于将对给定数据库对象的访问频率与针对多个数据库对象的均值和标准差的比较来为给定数据库对象确定z评分;以及确定与给定数据库对象的z评分相对应的存储层次的级别。给定据库对象然后可以存储于与给定数据库对象的z评分相对应的存储层次的级别处。附图说明0005 图1示出了根据本发明的用于定义数据库对象以用于以存储层。

11、次存储的系统的实施例。0006 图2示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。0007 图3更具体地示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。具体实施方式0008 所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可。

12、读介质中包含计算机可读的程序代码。说 明 书CN 104424361 A2/6页50009 可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。。

13、在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。0010 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。0011 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等。

14、,或者上述的任意合适的组合。0012 可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如(Java和所有基于Java的商标和logo是美国、其他国家或美国和其他国家的甲骨文公司的商标)、Smalltalk、C+等,还包括常规的过程式程序设计语言诸如“C”程序设计语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域。

15、网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。0013 下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。0014 也可以把这些计算机程序指。

16、令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。0015 计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或其他器件上,以用于使得在计算机、其他可编程装置或其他器件上执行一系列操作步骤,从而生成计算机执行的过程,从而在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。0016 附图中的流程图和框图显示了根据本发明的多个。

17、实施例的系统、方法和计算机程说 明 书CN 104424361 A3/6页6序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的局部功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,或者所述方框有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来。

18、实现,或者可以用专用硬件与计算机指令的组合来实现。0017 本文使用的术语目的只是描述特定的实施例,而不用于限制本发明。如本文所使用的,单数形式的“一”、“一个”和“所述”也用于包括复数形式,除非上下文另有明确说明。还要理解,当在本说明书中使用术语“包括”和/或“包含”时,规定所述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除可以存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合。0018 所附权利要求中相应的结构、材料、动作、和所有装置或步骤加上功能元件的等同方式意在包括任何用于根据特定要求结合其他要求保护的元件执行所述功能的结构、材料或动作。为了示出和描述的目。

19、的对本发明进行描述,但并非意在穷举或以所揭示的形式限制本发明。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是明显的。为了最好地解释本发明的原理和实际应用,以及使本领域的其他技术人员能够理解本发明以通过各种修改做出各种适合于预期的特定用途的实施例,选择和描述了该实施例。0019 图1示出了根据本发明的用于定义数据库对象以用于以存储层次存储的系统的实施例。计算机系统100可操作地耦合到处理器或处理单元106、存储器101和总线109,所述总线109将各种系统元件进行耦合,包括将存储器101耦合到处理器106。总线109表示一个或多个多种总线结构中的任何总线结构,包括。

20、存储器总线或存储器控制器、外围总线、加速图形端口、和使用各种总线体系结构中的任何总线体系结构的处理器或局部总线。存储器101可以包括易失性存储器形式的计算机可读介质,诸如随机访问存储器(RAM)102或高速缓冲存储器103、或非易失性存储介质104。存储器101可以包括至少一个程序产品,该程序产品具有一组至少一个程序代码模块105,该程序代码模块105被配置成当被处理器106执行时执行本发明的实施例的功能。计算机系统100还可以经由I/O接口107与一个或多个外部设备111(诸如显示器110)通信。计算机系统100可以经由网络适配器108与一个或多个数据库管理系统(DBMS)112通信。002。

21、0 图2示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。数据库对象可以包括数据库的表格、索引等。该方法观察在预定时间期间对多个数据库对象的访问频率(201)。该方法基于观察的对数据库对象的访问频率来计算针对多个数据库对象的均值和标准差(deviation)(202)。对于给定的数据库对象,方法基于将对给定对象的访问频率与针对多个数据库对象计算的均值和标准差进行比较,来确定z评分(z-score)(203)。在该实施例中,z评分表示以标准差为单位的对给定数据库对象的访问频率与被观察的所有数据库对象的均值和标准差之间的差。然后该方法确定对应于给定数据库对象的z评分的存储层次。

22、的级别(204)。说 明 书CN 104424361 A4/6页70021 图3更具体地示出了根据本发明的用于定义数据库对象以用于以存储层次存储的方法的实施例。在该实施例中,在一段时间期间上观察对数据库对象的访问频率。对数据库对象访问的监测在该时间期间的起始处开始(300)。可以为每个观察的数据库对象保存对监测数据的记录,包括最近的访问的时间戳和对每个数据库对象的累积统计,如下文进一步所述。当检测到新的数据库对象访问时(301),该方法将增量(delta)时间(T)计算为当前时间减去对数据库对象的最近的访问的时间戳(302)。使用T来更新对数据库对象的累积统计。在该实施例中,累积统计包括:对数。

23、据库对象的观察的计数N;针对数据库对象的T的和(T);以及针对数据库对象的T的平方和(T 2)。这三个累积统计能够针对数据库对象计算均值和标准差(304),而不必须保存每个访问的时间戳。在该实施例中,计算数据库对象的T的均值(304)。还计算所有观察的数据库对象的均值和标准差(305)。通过将数据库对象的T的均值与所有观察的数据库对象的均值和标准差进行比较来计算数据库对象的z评分(306)。在该实施例中,最近访问的时间戳是计算T所需的最小数据。累积统计(计数、T、和(T)2)是生成所有观察的数据库对象的总均值和标准差所需的最小数据。生成单个数据库对象的均值所需的最小数据是对该对象的计数和T。0。

24、022 一旦计算了数据库对象的z评分,则可以根据预配置的z评分阈值来定义数据库对象的“温度”。z评分阈值可以是用户可设置的参数。可替换地,可以基于有多少快速存储可用来自动调整z评分阈值。例如,如果快速存储的可用性较低,则可以提升z评分阈值。如果快速存储的可用性较高,则可以降低z评分阈值。如果计算的z评分满足或超过阈值(307),则数据库对象被定义为“热的”(309)。否则,数据库对象被定义为“冷的”或“温的”(308)。例如,阈值可被配置为使得对应于0.99或以上的累积概率(即,单尾正态分布(single-tailed normal distribution)的1尾部中的数据库对象)的z评分为。

25、“热的”,对应于0.95-0.99的累积概率(即,5尾部中除了1尾部的数据库对象)的z评分为“温的”,和所有其他z评分为“冷的”。然后数据库对象可以被存储或移动到对应于其z评分的存储层次的级别。例如,定义为“热的”数据库对象可以被存储或移动到快速存储装置,定义为“温的”数据库对象可以被存储或移动到较慢的和/或不太昂贵的存储装置,以及定义为“冷的”数据库对象可以被存储或移动到最慢的和/或最便宜的存储装置。可以定义任意数目的存储层次的级别以及可以选择任何的z评分的分布。类似地,对于工作负载管理,可以利用预配置的阈值通过z评分来识别最忙的工作负载,然后基于这些工作负载的优先级加上其z评分来增加或降低。

26、访问。例如,具有对应于0.99或更高的累积概率的z评分的高优先级的工作负载可被授权以许多资源,而也具有对应于0.99或更高的累积概率的z评分的低优先级的工作负载可被授权以比高优先级的工作负载少的资源。以该方式,可以考虑真实世界中的访问的预期正态分布。0023 在一个实施例中,以跨越不同范围的最近时间的不同间隔对统计进行累积。对于每个这样的分开的间隔,保存和更新最少三个额外的累积和。为了方便起见,这些可表示为x0(当求和的为计数时,观察值求0次幂)、x1(观察值的和)和x2(观察值的平方和)。例如,可以针对最近的1小时、最近的1天、最近的30天和最近的1年累积这些和。在该示例中,十二个累积统计,。

27、加上最近的访问的时间戳,能够以四个不同的间隔计算给定数据库对象的均值和标准差。说 明 书CN 104424361 A5/6页80024 再次参考图3,在监测时间期间的最后(310),重置对数据库对象的累积统计(311)。例如,假设时间期间为1小时。当当前的小时结束和下一个小时要开始时,将按小时的累积统计重置为0。然而,此时,由于缺少观察值,对最近的小时的有用的统计对于新的小时已经开始之后的一段时间不再可用。这意味着最近的访问数据不可用。为了解决这种情况,可以在至少两个重叠的窗口中保持统计的每个间隔。例如,两个窗口可以用于按小时的统计,这两个窗口可以有半小时的偏移(offset),诸如一个窗口覆。

28、盖8:00-9:00,然后下一个窗口覆盖8:30-9:30。当到9:00时,重置对8:00-9:00窗口的累积统计,并且对新的9:00-10:00窗口的监测开始。同时,对8:30-9:30窗口的累积统计的采集对于另外半小时仍然是有效的,并已经包括了对最近30分钟的观察值。用适当的归一化(normalization),在该窗口中累积的统计可以用作9:00-10:00窗口中的观察值的最近的访问数据。这样,使得对最近的访问的统计可用。可以使用任意数目的重叠窗口。例如,8:00-9:00、8:20-9:20和8:40-9:40给出了三个重叠窗口,并且当重置在一个窗口中采集的统计时,在另一个重叠窗口中仍。

29、然有2/3个小时的观察值可用。更一般地,对于所使用的n个重叠窗口,一旦监测已被启用了至少(n-1)/n的所考虑的时间间隔那么长,总有包括至少(n-1)/n的所述时间间隔的观察值可用。0025 可选地,为了定义什么时候是要重置窗口的时间,可以针对从1970年1月1日开始的“划时代的”秒数计算机时间S来使用模运算。实际挂钟时间或当前时区都无所谓。例如,在限定了有半小时重叠的两小时长的窗口时,一个窗口可以被定义为每当(S mod 3600)0时重置,而另一个窗口每当(S mod 3600)1800时重置。3600就是一小时内的秒数,而1800是该数的一半。相同的技术可以用于任何间隔。例如,30天的时。

30、间颗粒(grain)大小会使用(S mod(30246060),其中30246060就是30天中的秒数(30天,乘以每天24小时,乘以每小时60分,乘以每分60秒)。0026 在另一个实施例中,采集的统计可以用于趋势检测。例如,如果保存对最近1年、30天、1天、和1小时的统计,这四个间隔的均值显示频率随着时间是怎样变化的。假设每个时间期间的均值最好地表示了该时间期间的中点,则统计对应于对处于1/2年前、15天前、12小时前、和1/2小时前的时候的均值的估计。如果如上所述还保存重叠的观察窗口,则甚至有更多数据点可用。然后,标准曲线拟合技术,包括线性拟合,可以被应用于检测趋势。将来可以加入该趋势检。

31、测以预测存储装置使用的增长、跟踪数据库对象的大小和/或访问的频率,或预测什么时候客户将用完可用的存储装置。可以基于为数据库对象确定的z评分和任何检测的趋势来修改数据库对象的存储层次的级别。注意,可以使用累积统计而不用计算z评分来完成趋势检测。0027 在另一个实施例中,如上所述,基于对存储温度或工作负载繁忙程度的定义,并基于所检测的趋势,可以自动地对用户给出建议。例如,如果数据迁移到不同的存储装置实际上不是自动的,仍然通知用户什么时候数据应该被移动到不同的存储层次的级别,或什么时候工作负载是要被授权以更多的资源或者更少的资源的候选。而且,可以基于检测的趋势自动给用户建议,诸如给用户警告“客户表格可能将在三天之内用尽可用的存储装置”。0028 为了说明的目的对本发明各种实施例进行了描述,但是不意在穷尽或限于所揭示的实施例。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域的普通技说 明 书CN 104424361 A6/6页9术人员来说将是明显的。这里使用的术语被选择用来最好地解释实施例的原理、实际应用或对市场上可见的技术进行的技术改进,或者用于使本领域的其他普通技术人员能够理解本文所揭示的实施例。说 明 书CN 104424361 A1/3页10图1说 明 书 附 图CN 104424361 A10。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1