用于访问源数据库中的一组数据表格的方法和系统的利记博彩app

文档序号:6625749阅读:558来源:国知局
用于访问源数据库中的一组数据表格的方法和系统的利记博彩app
【专利摘要】本发明涉及用于访问源数据库中的一组数据表格的方法和系统。具体而言,涉及一种用于访问源数据库(117)中的一组数据表格的方法,该方法包括:为源数据库中的表格提供一组表格类别;提供一组度量,每个度量包括每个表格类别的相应特性度量;针对所述一组数据表格中的每一个表格,评估所述一组度量;分析经评估的所述一组度量;使用分析结果将该表格分类为所述一组表格类别之一;输出指示所述一组表格中的每一个表格的表格类别的信息;响应于该输出而接收根据表格类别的一部分选择所述一组数据表格中的数据表格以用于数据处理的请求;以及使用所述表格类别来选择所述一组数据表格中的数据表格的子集以对数据表格的该子集执行所述数据处理。
【专利说明】用于访问源数据库中的一组数据表格的方法和系统

【技术领域】
[0001] 本发明涉及计算系统,并且更具体地涉及一种用于访问源数据库中的一组数据表 格的方法。

【背景技术】
[0002] 例如SAP应用整合项目、主数据管理(MDM)项目或者企业数据管理(EDM)项目中 的数据库应用具有必须从中提取数据的数千个表格。然而对于这种应用,数据模型可能未 被记录或者可能对客户不可用。另外,对于源系统分析,任何数据集成项目中的时间窗口是 有限的,而同时数太字节的数据需要被处理。


【发明内容】

[0003] 本发明实施例的一个目的是提供一种改进的方法、一种计算机系统或者一种计算 机程序产品。所述目的是由独立权利要求的主题解决的。有利实施例在从属权利要求中得 到描述。
[0004] 在一个方面,本发明涉及一种用于访问源数据库中的一组数据表格的方法,该方 法包括:
[0005] a.为所述源数据库中的表格提供一组表格类别;
[0006] b.提供一组度量,每个度量包括每个表格类别的相应特性度量;
[0007] c.针对所述一组数据表格中的每一个表格
[0008] -评估所述一组度量;
[0009] -分析经评估的所述一组度量;
[0010] -使用分析结果将该表格分类为所述一组表格类别之一;
[0011] d.输出指不所述一组表格中的每一个表格的表格类别的信息;
[0012] e.响应于该输出而接收根据表格类别的一部分选择所述一组数据表格中的数据 表格以用于数据处理的请求;以及
[0013] f.使用所述表格类别来选择所述一组数据表格中的数据表格的子集以对数据表 格的该子集执行所述数据处理。
[0014] 这里所使用的术语"源数据库"指代其中用户存储输入到系统中的例如非结构化 文本和/或结构化数据形式的数据或者操作信息的数据库。源数据库可被用来创建目标数 据库。
[0015] 根据一个实施例,该方法还包括提供与用于描述所述一组表格类别的特性的所述 一组度量相关联的阈值,其中所述分析包括将经评估的所述一组度量与所述阈值相比较。
[0016] 根据一个实施例,对经评估的所述一组度量的分析包括对经评估的所述一组度量 的统计分析。例如,数据挖掘分类或者聚类算法可被用于该统计分析。
[0017] 数据处理例如可能是ETL处理和/或数据挖掘。
[0018] 这里所使用的"ETL过程"是提取、转换和加载的首字母缩写。该过程包含从源数 据库中提取数据、将该数据转换为适合用于分析的结构以及将数据加载到目标表格中。
[0019] 这些特征可能是有利的,这是因为它们可能通过消除分析不相关数据表格所需时 间而使数据处理加速。因此,该方法可被无缝地集成在具有有限时间窗口来处理数太字节 数据的数据集成系统中。
[0020] 另一优点可能是数据剖析工作(例如用于准备ETL项目)或者数据处理工作的量 可能被减少为相关最小,从而节省开发时间、测试时间并且降低硬件成本。
[0021] 另一优点可能是更少的数据被从源数据库下载(例如被ETL过程)到暂存环境 中,更少的硬件(例如CPU、磁盘等)可能被需要。
[0022] 根据一个实施例,为给定表格类别提供度量包括生成具有该给定表格类别的多个 探测表格,使用这多个表格的特性来确定所述表格类别的度量,定义与用于描述所述表格 类别的特性的度量相关联的一个或多个阈值。
[0023] 在另一示例中,可能为了分析经评估的度量值而定义一个或多个统计方法。
[0024] 根据一个实施例,所述度量是使用表格的特性中的至少一个来确定的:
[0025] -读访问速率;
[0026] -插入、删除和更新速率;
[0027] -记录的数目;
[0028] -列的数目;
[0029] -主键(PK)和外键(FK)关系的数目;
[0030] -ETL过程的容量吞吐量;
[0031] -时间戳值;
[0032] -指派的触发器类型。
[0033] 这些实施例可能是有利的,这是因为它们可能提供用于基于多个表格特性对数据 表格进行分类的精确且可靠的方法。
[0034] 根据一个实施例,所述度量是使用预先确定的第一组统计数据来评估的,其中确 定所述第一组统计数据包括根据以下各项中的至少一个来生成所述第一组统计数据:
[0035] -源数据库的数据库目录中存储的数据;
[0036] -与源数据库相关联的数据库缓存中存储的数据;
[0037]-源数据库的工作负载管理组件的工作负载数据;
[0038]-源数据库的监视数据;
[0039]-先前数据处理的历史数据;
[0040]-具有关于源数据库中存储的数据的用户定义信息的词汇表数据库。
[0041] 该实施例可能是有利的,这是因为其可允许使用关于源数据库中的数据的多个信 息源的更精确的表格类别化(或者说分类)方法。
[0042] 根据一个实施例,所述度量是使用预先确定的第一组统计数据来评估的,所述第 一组统计数据包括第一和第二部分,其中确定所述第一组统计数据包括:使用所述一组表 格来计算所述第一组统计数据的第一部分,请求所述源数据库的监视数据,接收所请求的 监视数据,以及使用所请求的监视数据生成所述第一统计数据的第二部分。
[0043] 该实施例可能是有利的,这是因为可能对包括没有关于源数据库中存储的数据表 格的信息源的系统的多个系统执行表格分类。
[0044] 根据一个实施例,所述第一组统计数据包括:
[0045]-表格中的行的数目;
[0046]-表格中的列的数目;
[0047]-被读取的行的数目;
[0048]-被插入的行的数目;
[0049] -被更新的行的数目;
[0050] -被删除的行的数目;
[0051] -跨所述一组表格的列的数目的中值;
[0052] -跨所述一组表格的列的平均数目;
[0053] -分区号码;
[0054] -表格类型。
[0055] 根据一个实施例,该方法还包括对所述一组表格中的表格进行排序以生成排序列 表,这些表格是基于针对所述一组表格中的每一个表格确定的第二组统计数据来排序的, 其中对所述表格的所述子集的选择是使用所述排序列表来执行的。
[0056] 针对每种表格类别提供表格的排序列表可能提供另一选择标准,该选择标准可能 通过仅选择例如高排名表格来进一步减少剖析或者说处理时间。
[0057] 根据一个实施例,所述第二组统计数据包括:
[0058] -所述一组数据表格中的表格中随着时间过去的使用数据的百分比;
[0059] -工作负载类型;以及
[0060] -与所述源数据库相关联的缓存中的、针对所述一组表格中的表格的访问计数。
[0061] 根据一个实施例,该方法还包括响应于所述输出而接收指示所述一组表格的类 别的数据;使用接收到的类别将表格重新分类为所述一组表格类别之一,以及执行步骤 d) -f)。
[0062] 该实施例可能是有利的,这是因为其可支持用户寻找包含与它们的分析最相关的 数据的表格和列。
[0063] 根据一个实施例,该方法还包括与所执行的数据处理相关联地存储指示所述一组 表格中的每一个表格的表格类别的信息,将所述存储的信息用于对正被后一数据处理处理 的表格进行分类,其中所述表格包括所述一组数据表格的至少一部分。
[0064] 该实施例可能是有利的,这是因为其可能在避免对先前处理过的数据表格进行重 新选择和重新分类的同时降低系统资源消耗。
[0065] 根据一个实施例,还包括使用列和行的特性在所述一组表格中的每一个表格中识 别列和行;其中所述数据处理是对所述表格的所述子集中的识别出的列和行执行的。
[0066] 该实施例可能是有利的,因为其可能进一步减少剖析时间。例如通过避免对关键 列进行分析而将剖析时间减少至2至4分之一。
[0067] 根据一个实施例,列的特性包括:
[0068] -关键列;
[0069] -缺省值列;
[0070] -范围分区键;
[0071] -空列;
[0072] -最频繁值的发生频率=表格中的行的数目;
[0073] -具有信息约束的列;
[0074] -具有自动生成的值的列;
[0075] -字符串(string)列。
[0076] 具有自动生成的值的列可能是具有自动递增字段(1、2、3、4…)或者时间戳的列。
[0077] 根据一个实施例,行的特性包括所述一组数据表格中将被处理的的数据的预定义 时间范围。
[0078] 在另一方面,本发明涉及一种包括用来执行如在先实施例中的任一个所述的方法 的方法步骤的计算机可执行指令的计算机程序产品。
[0079] 在另一方面,本发明涉及一种用于访问源数据库中的一组数据表格的计算机系 统,该计算机系统被配置用于:
[0080] a.为所述源数据库中的表格提供一组表格类别;
[0081] b.提供一组度量,每个度量包括每个表格类别的相应特性度量;
[0082] c.针对所述一组数据表格中的每一个表格 [0083]-评估所述一组度量;
[0084]-分析经评估的所述一组度量;
[0085]-使用分析结果将该表格分类为所述一组表格类别之一;
[0086] d.输出指不所述一组表格中的每一个表格的表格类别的信息;
[0087] e.响应于该输出而接收根据表格类别的一部分选择所述一组数据表格中的数据 表格以用于数据处理的请求;以及
[0088] f.使用所述表格类别来选择所述一组数据表格中的数据表格的子集以对数据表 格的该子集执行所述数据处理。
[0089] 这里所使用的"计算机可读存储介质"包括可能存储可由计算设备的处理器执行 的指令的任何有形存储介质。该"计算机可读存储介质"可被称作计算机可读非暂时存储 介质。该计算机可读存储介质还可被称作有形计算机可读介质。在一些实施例中,计算机 可读存储介质可能还能够存储能够被计算设备的处理器访问的数据。计算机可读存储介质 的示例包括但不限于:软盘、磁性硬盘驱动器、固态硬盘、闪速存储器、USB指状驱动器、随 机访问存储器(RAM)、只读存储器(ROM)、光盘、磁光盘,以及处理器的寄存器堆。光盘的示 例包括紧凑盘(CD)和数字通用盘(DVD),例如CD-ROM、CD-RW、CD-R、DVD-ROM、DVD-RW或者 DVD-R盘。术语计算机可读存储介质还指代能够被计算机设备经由网络或者通信链路访问 的各种类型的记录介质。例如,数据可能通过调制解调器、通过因特网、或者通过局域网而 被取回。计算机可读介质上包含的计算机可执行代码可利用任何适当介质来传输,包括但 不限于无线、有线、光纤线缆、RF等,或者前述者的任何合适组合。
[0090] 计算机可读信号介质可能包括其中包含有计算机可执行代码的传播数据信号,例 如,在基带中或者作为载波的一部分。这种传播信号可能采用各种形式中的任何形式,包括 但不限于电磁、光学或其任何合适组合。计算机可读信号介质可能是不是计算机可读存储 介质并且可以传送、传播或者传输供指令执行系统、装置或设备使用或者与指令执行系统、 装置或设备有关的程序。
[0091] "计算机存储器"或者说"存储器"是计算机可读存储介质的一个示例。计算机存 储器是处理器可以直接访问的任何存储器。"计算机存储装置"或者说"存储装置"是计算 机可读存储介质的另一示例。计算机存储装置是任何非易失性计算机可读存储介质。在一 些实施例中,计算机存储装置也可能是计算机存储器,或者反之亦然。
[0092] 这里所使用的"处理器"包括能够执行程序或者机器可执行指令或者计算机可执 行代码的电子组件。对包括"处理器"的计算设备的提及应当被理解为可能包含多于一个 处理器或者处理核心。处理器可能例如是多核心处理器。处理器可能还指代单个计算机系 统内的或者在多个计算机系统当中分布的处理器的集合。术语计算设备还应当被解释为可 能指代各自包括一个或多个处理器的计算设备的集合或者网络。计算机可执行代码可能被 可能位于同一计算设备内或者可能甚至跨多个计算设备分布的多个处理器执行。
[0093] 计算机可执行代码可能包括使处理器执行本发明一个方面的机器可执行指令 或者程序。用于执行本发明各方面的操作的计算机可执行代码可能是以包括诸如Java、 SmalltalKC++等面向对象编程语言和诸如"C"编程语言或者类似编程语言之类传统过程 编程语言在内的一种或多种编程语言的任意组合编写的并且被编译为机器可执行指令。在 一些实例中,计算机可执行代码可能是以高级语言的形式或者以预编译的形式并且被与即 时生成机器可执行指令的解释器结合使用。
[0094] 计算机可执行代码可能完全在用户的计算机上执行、部分在用户的计算机上执 行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行或者全 部在远程计算机或者服务器上执行。在后者的情形中,远程计算机可能通过包括局域网 (LAN)或者广域网(WAN)在内的任何类型的网络而被连接到用户的计算机,或者连接可能 是向外部计算机做出的(例如,使用因特网服务提供商通过因特网)。
[0095] 本发明的各个方面参考根据本发明实施例的方法、装置(系统)和计算机程序产 品的流程图图示和/或框图而得到描述。将会明白流程图、图示和/或框图的每个块或者一 部分块在适用时可由计算机可执行代码形式的计算机程序指令来实现。还会明白,当不互 相排斥时,不同流程图、图示和/或框图中的块的组合可被结合。这些计算机程序指令可被 提供给通用计算机、专用计算机或者其他可编程数据处理装置的处理器以生产机器,使得 经由计算机或者其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/ 或框图的一个或多个块中指定的功能/动作的装置。
[0096] 这些计算机程序指令可能还被存储在可以引导计算机、其他可编程数据处理装置 或者其他装置以特定方式工作的计算机可读介质中,使得该计算机可读介质中存储的指令 生产包括实现在流程图和/或框图的一个或多个块中指定的功能/动作的指令的制品。
[0097] 计算机程序指令可能还被加载到计算机、其他可编程数据处理装置或者其他设备 上以使一系列操作步骤在该计算机、其他可编程装置或者其他设备上被执行以产生计算机 实现的处理以使得在计算机或者其他可编程装置上执行的指令提供用于实现在流程图和/ 或框图的一个或多个块中指定的功能/动作的处理。
[0098] 如本领域技术人员将会认识到的,本发明的各方面可被实现为装置、方法或者计 算机程序产品。因此,本发明的各方面可能采取在此全部可被总地称作"电路"、"模块"或 者"系统"的完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或者结合 软件和硬件方面的实施例的形式。另外,本发明的各方面可能采取在其上包含有计算机可 执行代码的一个或多个计算机可读介质中包含的计算机程序产品的形式。
[0099] 明白前述实施例中的一个或多个可被结合,只要被结合的实施例不是互相排除即 可。

【专利附图】

【附图说明】
[0100] 下面,将通过仅提到附图的示例的方式更详细地描述本发明的优选实施例,在附 图中:
[0101] 图1例示出可操作来执行一种用于访问源数据库中的数据表格的方法的系统架 构;
[0102] 图2示出了一种用于访问源数据库中的数据表格的方法的流程图;
[0103] 图3示出了一种用于确定度量的方法的流程图;以及
[0104] 图4示出了用于访问源数据库中的数据表格的另一示例性方法的流程图。

【具体实施方式】
[0105] 下面,附图中类似编号的元素要么标示类似的元素要么标示执行等同功能的元 素。如果功能等同,则先前已被讨论过的元素在后面的附图中将不一定被讨论。
[0106] 图1示出了用于对数据表格的相关子集的数据剖析(profiling)处理的示例性系 统架构100。例如,系统架构100可能是包括IBM DB2数据库系统的IBM?的zEnterprise 系统的一部分。
[0107] 系统架构100提供计算机系统101。计算机系统101的组件可能包括,但不限于, 一个或多个处理器或者处理单元103、存储装置系统111、存储器系统105,以及将包括存储 器系统105在内的各种系统组件耦合到处理器103的总线107。存储器系统105可能包括 易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)和/或高速缓冲存 储器。
[0108] 计算机系统101通常包括各种计算机系统可读介质。这种介质可能是计算机系统 101可以访问的任何可用介质,并且其包括易失性和非易失性介质,可移动和非可移动介 质。
[0109] 计算机系统101还可能与以下设备通信:诸如键盘、点选设备、显示器113等一个 或多个外部设备;使得用户能够与计算机系统101交互的一个或多个设备;和/或使得计 算机系统101能够与一个或多个其他计算设备通信的任何设备(例如,网络卡、调制解调器 等)。这种通信可以经由一个或多个I/O接口 119发生。计算机系统101还可以经由网络 适配器109与诸如局域网(LAN)、一般广域网(WAN)和/或公共网(例如,因特网)之类的 一个或多个网络通信。如图所示,网络适配器117经由总线107与计算机系统101的其他 组件通信。
[0110] 计算机系统101可能担当与数据库基础设施115相连的数据库管理系统。数据库 基础设施115包括源数据库117。数据库基础设施115可能包括SQL缓存123以及包缓存 125。这些缓存的内容提供了对源数据库117中的哪些数据库对象经常被使用并且最近已 被使用的洞察。这有助于对源数据库117中存储的表格的相关性进行评分。
[0111] 数据库基础设施115还包括存储关于源数据库117中的所有现有表格和列的信息 的数据库目录127。对于每个表格,(唯一的)索引结构是已知的。数据库目录127针对源 数据库117中的表格的每个列提供数据类型、字段长度、缺省值、自动生成的身份、约束、空 和不可为空的、PK和FK信息,等等。数据库目录127还包括源数据库117中存储的表格的 行的存储类别(作为目录信息)。该信息例如可能被用来例如在系统100包括IBM DB2系 统的情况下从分析中排除具有存档存储类别的行,这可能通过生成SELECT语句的WHERE子 句范围来完成。数据库目录127还包括源数据库117中存储的表格的分区组(作为目录信 息)。分区组中的所有表格具有支持联接条件的逻辑关系(经常在DW环境中)。因此这些 表格对于数据剖析器工具中的关系检测是"热门候选者"。该信息是有利的,这是因为表格 当中的关系检测是数据剖析器工具的最耗费资源和时间的操作并且通常仅可被应用于表 格的小子集。具有良好的候选者在这里大大地改善了该类剖析的剖析结果。
[0112] 数据库基础设施115可能包括包含源数据库117的至少部分当前存储数据表格的 用户定义信息的元数据DB (即词汇表数据库)133。用户定义信息可能是从先前的数据处理 采集的。元数据DB 133在下面得到更详细地描述。
[0113] 存储器系统105被配置为存储可在处理器103上执行的多个应用。例如,存储器 系统105可能包括操作系统以及应用程序。
[0114] 应用程序包括用于对源数据库117中存储的数据表格进行数据处理的数据剖析 工具120。应用程序还包括用于控制对源数据库117的访问的工作负载管理(WLM)组件 129。WLM组件129可能产生指示由访问源数据库117的过程处理的诸如成批或者对话之类 的不同类型工作的WLM数据。成批工作过程可能使用对源数据库117的插入操作来访问源 数据库117。对话工作过程是以带有一些读操作等的少量插入、更新和删除操作为特性的用 户输入驱动过程。
[0115] 通过上面的结构,系统100可提供关于源数据库117中存储的数据表格的多个信 息源。
[0116] 此外,关于源数据库117的表格的统计数据可能被存储在系统100中。这些统计 数据例如包括针对每个表格和每个索引的表格中的行数目和索引中的节点数目。
[0117] 附加的统计信息可被提供(例如,如果RUNSTATS命令在IBMDB2系统中被使能), 如:索引的第一列中的不同值的数目、索引的第一、二、三和四列中的不同值的数目以及索 引的所有列中的不同值的数目。
[0118] 此外,两种数据分布统计数据即频率值统计数据和分位数统计数据也可能被系统 100提供。
[0119] 频率值统计数据提供达到例如由num_freqvalues数据库配置参数的值指定的水 平的关于列和具有最高数目副本的数据值、具有第二高数目副本的值等的信息。该参数允 许指定当在IBM DB2系统中的RUNSTATS命令上指定了 WITH DISTRIBUTION选项时可被采 集的"最频繁值"的数目。
[0120] 分位数统计数据提供关于数据值关于彼此如何分布的信息。被称作K-quantiles, 这些统计数据代表至少K个值位于其处或者其之下的值V。K-quantile可能通过以升序对 值进行排序来计算。K-quantile值是从范围的低端起的第K个位置的值。这些统计数据可 能通过数据过程来提取,从而避免利用数据剖析工具120来创建它们的需要并因而节省了 处理时间。
[0121] 另外,在系统100包括IBM DB2系统的情况下,标志Last_used_flag可被实现在 系统100中的页面级别上,这使得至少在页面级别上易于识别何时行上次被访问。该标志 的时间戳可被用作页面上的所有行的last_used指示符。
[0122] 计算机系统101和数据库基础设施115可被实现在不同机器中,或者可被实现为 单个机器中的不同过程。
[0123] 在替代示例中,系统100可以仅提供如参考图1描述的信息源的一部分。
[0124] 图2是一种用于访问诸如源数据库117的源数据库中的一组数据表格的方法的流 程图。源数据库117中的表格的一组表格类别(表格类别的一个示例参考图3得到详细描 述)在步骤201中被提供。在步骤203中,一组度量被提供,每个度量包括每个表格类别的 相应特性度量。在步骤205中,与用于描述该组表格类别的特性的该组度量相关联的阈值 被提供。
[0125] 该组度量和阈值可能使用在图3中描述的方法来得到。
[0126] 对于该组数据表格中的每个表格,在步骤207中,描述该表格的第一组统计数据 被确定。第一组统计数据包括以下各项中的至少一个:表格中的行数目;表格中的列数目; 被读取的行数目;被插入的行数目;被更新的行数目;被删除的行数目;跨该组表格的列数 目的中值;跨该组表格的列的平均数目;分区数目;表格类型。表格类型可能包括用户表 格、丢弃表格、临时表格、目录表格和重新组织的表格。第一组统计数据可能被从参考图1 定义的数据源之一(例如,由WLM组件129生成的WLM数据、SQL和包缓存数据123和125 等)中提取。
[0127] 在第一组统计数据未被存储或者不可用的情况下,它们可能通过以下步骤来确 定:使用该组数据表格计算第一组统计数据的第一部分;并且请求源数据库的监视数据; 以及使用所请求的监视数据生成第一统计数据的第二部分。
[0128] 在步骤209中,第一统计数据被用来评估该组度量。在步骤211中,经评估的该组 度量被与阈值相比较。例如,至少一个度量可能被用来定义为了评估这至少一个度量而计 算的关键业绩指示符(KPI)。比较结果在步骤213中被用来将该表格分类成该组表格类别 之一。
[0129] 在步骤215中,指示该组表格中的每个表格的表格类别的信息被输出。在步骤217 中,响应于该输出而请求根据表格类别的一部分来选择该组数据表格中用于数据处理的数 据表格。在步骤219中,使用这些表格类别,该组数据表格中的数据表格的子集被选择。根 据数据处理,数据表格的该子集可能具有给定数据表格类别。在步骤221中,数据表格的该 子集例如被加载到暂存区中。在替代示例中,数据表格的该子集可能在它们被存储即不将 它们加载到暂存区中的情况下被处理或分析。在步骤223中,对数据表格的该子集执行数 据处理。
[0130] 在步骤225中,响应于输出而接收指示该组表格的类别的数据;在步骤227中使用 接收到的类别将表格重新分类为该组表格类别之一,并且执行步骤215-227。
[0131] 此外,可能仅对选中表格子集的列和行的一部分执行数据处理。为此,在该组表格 的每个表格中,可能使用列和行的特性来识别列和行。例如,空的列因为它们不包含数据而 可能不被数据处理处理。在这种情况下,空列可被从分析中排除。列的特性例如包括关键 列;缺省值列;范围分区键;空列;最频繁值的发生频率=表格中的行的数目;具有信息约 束的列;字符串列。
[0132] 行的特性包括该组数据表格中将被处理的数据的预定义时间范围。数据处理可能 仅在该时间范围内的数据行上运行。
[0133] 图2中的方法的步骤可能被数据剖析工具120的剖析预选择器执行。
[0134] 下面,参考图3和图4,编号和显不仅是为了例不出不例性方法并且不是为了限制 要求保护的主题。通过示例而非限制方式,下面示出的结果值可能是使用例如IBM MDM系 统获得的。IBM MDM系统可能在IBM DB2系统上运行。
[0135] 图3示出了一种用于确定用来描绘诸如在源数据库117中存储的表格的表格的特 性以用于数据处理的度量的方法。这些表格可能被分类为不同的表格类别。
[0136] 表格分类的详细描述可能被首先给出如下。根据所执行的数据分析或者处理,每 个表格类别可能与不同的优先级相关联。以下表格示出了数据剖析的一个示例:

【权利要求】
1. 一种用于访问源数据库(117)中的一组数据表格的方法,该方法包括: a. 为所述源数据库(117)中的表格提供一组表格类别; b. 提供一组度量,每个度量包括每个表格类别的相应特性度量; c. 针对所述一组数据表格中的每一个表格 -评估所述一组度量; -分析经评估的所述一组度量; _使用分析结果将该表格分类为所述一组表格类别之一; d. 输出指示所述一组表格中的每一个表格的表格类别的信息; e. 响应于该输出而接收根据表格类别的一部分选择所述一组数据表格中的数据表格 以用于数据处理的请求;以及 f. 使用所述表格类别来选择所述一组数据表格中的数据表格的子集以对数据表格的 该子集执行所述数据处理。
2. 如权利要求1所述的方法,其中,为给定表格类别提供度量包括: -生成具有该给定表格类别的多个探测表格; -使用这多个表格的特性来确定所述表格类别的度量; -定义与用于描述所述表格类别的特性的度量相关联的一个或多个阈值。
3. 如权利要求1或2所述的方法,其中,所述度量是使用表格的特性中的至少一个来确 定的: -读访问速率; -插入、删除和更新速率; -记录的数目; -列的数目; -主键和外键关系的数目; -ETL过程的容量吞吐量; -时间戳值; -指派的触发器类型。
4. 如在先权利要求中任一个所述的方法,其中所述度量是使用预先确定的第一组统计 数据来评估的,其中确定所述第一组统计数据包括根据以下各项中的至少一个来生成所述 第一组统计数据: _所述源数据库(117)的数据库目录(127)中存储的数据; -与所述源数据库(117)相关联的数据库缓存(123,125)中存储的数据; _所述源数据库(117)的工作负载管理组件(129)的工作负载数据; _所述源数据库(117)的监视数据; _先前数据处理的历史数据; -具有关于所述源数据库(117)中存储的数据的用户定义信息的词汇表数据库(133)。
5. 如在先权利要求1-3中任一个所述的方法,其中所述度量是使用预先确定的第一组 统计数据来评估的,所述第一组统计数据包括第一和第二部分,其中确定所述第一组统计 数据包括: -使用所述一组表格来计算所述第一组统计数据的第一部分; -请求所述源数据库的监视数据; -接收所请求的监视数据;以及 -使用所请求的监视数据生成所述第一统计数据的第二部分。
6. 如在先权利要求4或5中任一个所述的方法,其中所述第一组统计数据包括: -表格中的行的数目; -表格中的列的数目; -被读取的行的数目; -被插入的行的数目; -被更新的行的数目; -被删除的行的数目; -跨所述一组表格的列的数目的中值; -跨所述一组表格的列的平均数目; -分区号码; -表格类型。
7. 如在先权利要求中任一个所述的方法,还包括对所述一组表格中的表格进行排序以 生成排序列表,这些表格是基于针对所述一组表格中的每一个表格确定的第二组统计数据 来排序的,其中对所述表格的所述子集的选择是使用所述排序列表来执行的。
8. 如权利要求7所述的方法,其中所述第二组统计数据包括: -所述一组数据表格中的表格中随着时间过去的使用数据的百分比; -工作负载类型;以及 -与所述源数据库(117)相关联的缓存中的、针对所述一组表格中的表格的访问计数。
9. 如在先权利要求中任一个所述的方法,还包括响应于所述输出而接收指示所述一组 表格的类别的数据;使用接收到的类别将表格重新分类为所述一组表格类别之一,以及执 行步骤d)-f)。
10. 如在先权利要求中任一个所述的方法,还包括与所执行的数据处理相关联地存储 指示所述一组表格中的每一个表格的表格类别的信息,将所述存储的信息用于对正被后一 数据处理处理的表格进行分类,其中所述表格包括所述一组数据表格的至少一部分。
11. 如在先权利要求中任一个所述的方法,还包括使用列和行的特性在所述一组表格 中的每一个表格中识别列和行;其中所述数据处理是对所述表格的所述子集中的识别出的 列和行执行的。
12. 如权利要求11所述的方法,其中所述列的特性包括: -关键列; _缺省值列; -范围分区键; -空列; _最频繁值的发生频率=表格中的行的数目; -具有信息约束的列; -字符串列。
13. 如权利要求11或12所述的方法,其中所述行的特性包括所述一组数据表格中将被 处理的的数据的预定义时间范围。
14. 一种用于访问源数据库(117)中的一组数据表格以执行如权利要求1至13中任一 个所述的方法步骤的系统(100)。
【文档编号】G06F17/30GK104424360SQ201410444212
【公开日】2015年3月18日 申请日期:2014年9月3日 优先权日:2013年9月3日
【发明者】J·塞弗特, M·奥伯霍菲尔, S·尼尔克, Y·赛勒特 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1