具有动态加载能力的关系数据库架构的制作方法

文档序号:6454279阅读:161来源:国知局
专利名称:具有动态加载能力的关系数据库架构的制作方法
技术领域
本发明涉及计算机数据库架构。
背景技术
例如信用卡^^司和电话公司的一些大型公司使用大^f莫关系数据库系 统,用于在每天存储几百万条记录,其中将每个记录保留在直接存取存储 设备上的数据库中一定时间段,之后从数据库去除记录。这种大目使用可需要兆兆字节(terabyte )的直接存M储器以支持进行中的查询。然而, 大部分查询仅需要对整个数据库的很小部分进行访问,而许多记录在它们 的保留期间根本不会被访问。发明内容因此,本发明提供一种具有动态加载能力的关系数据库架构,其中并 不是存储在数据库中,而是将记录存储在单独管理的外部存储装置上的文 件中,并且响应于访问记录的请求将记录动态加载到数据库中。在本发明的一方面中,提供一种具有动态加栽能力的关系数据库架构, 包括关系数据库,用于存储记录;存储单元;记录分配器,用于在所述 存储单元中存储多个对象,其中每个对象包含至少一个记录;所述对象到 所述对象包含的记录的映射,其中所述记录分配器被配置为,接收动态加 载请求,所述动态加载请求包含期望记录的键值,搜索所迷映射,以确定 在所述存储单元中的所述对象中的哪个对象包含与所述键值匹配的记录, 和将所匹配的记录中的任一个加栽到关系数据库中。在本发明的另一方面中,所M象是数据文件。在本发明的另一方面中,所述架构还包括查询处理器,被配置为从 计算机接收查询,确定作为所述查询的焦点的至少一个键值,将包含所述 键值的所述动态加载请求传送至所述记录分配器,以及在将所匹配记录加 载到所述数据库中之后对于所述数据库执行所述查询。在本发明的另一方面中,所述记录分配器^:配置为更新所述映射,以表示所述记录中任一个的当前位置在所述数据库中或者所述存储单元中。 在本发明的另 一方面中,所述记录分配器被配置为根据所述记录能够驻留在所述数据库期间的预定时间长度^:置用于所述记录中任一个的期满 时间戳,以及在到达所述期满时间戳时从所述数据库去除所述记录。在本发明的另 一方面中,所述记录分配器被配置为以压缩格式在所述 存储单元中存储所述对象中的任一个,以及在将所述记录加载到所述数据 库之前对所述记录中的任一个解压缩。在本发明的另一方面中,基于计算可能性选择所述键,所述计算可能 性是所述数据库的未来查询基于所述键的键值选择记录的计算可能性,其 中如果所述可能性超过预定值则选择所述键。在本发明的另一方面中,在所述数据库的过去查询基于所述键的键值 选择记录的情况下选择所述键。在本发明的另一方面中,所述映射使用一个映射记录,以将所述对象 中的任一个映射到在具有相同键值的所ii^t象中包含的多个记录。在本发明的另一方面中,所述映射j吏用第一映射记录,以将所述对象 中的任一个映射到在所述对象中包含的具有第一键值的第一多个记录,以 及使用第二映射记录,以将所述对象映射到在所述对象中包含的具有第二 键值的第二多个记录。在本发明的另 一方面中,所述记录分配器^L配置为生成所述对象中的任一个,以仅包括具有相同键值的记录。在本发明的另 一方面中,所述记录分配器^L配置为生成所述对象中的 任一个,以仅包括具有来自预定数目的不同^^值中任一个的键值的记录。 在本发明的另 一方面中,所述记录分配器4皮配置为生成所述对象中的任一个,以包括多个分区对象,每个分区对象包括在所述对象中的所述记 录的子集,由分区键识别所述子集。在本发明的另 一方面中,所述记录分配器被配置为并行地将来自所述 分区对象中任一个的记录加栽到所述数据库的对应分区。在本发明的另一方面中,所述记录分配器^J己置为通过以下方式生成 所述对象中的任一个,即首先通过用所述记录中的任一个填充所述数据库, 然后从所述数据库将所述记录中的任一个移到随后存储在所述存储单元中 的新形成的对象中。在本发明的另一方面中,所述架构还包括计算机;和查询处理器, 其中所述计算机4皮配置为,在向所述查询处理器发出查询之前将所述动态 加载请求传递到所述查询处理器,和其中所述查询处理器被配置为,在将 所匹配记录加栽到所述数据库中之后对于所述数据库执行所述查询。在本发明的另一方面中,所述架构还包括计算机;和查询处理器, 其中所述计算机被配置为,在向所述查询处理器发出查询之前将所述动态 加载请求传递到所述记录分配器,和其中所述查询处理器被配置为,在将 所匹配记录加载到所述数据库中之后对于所述数据库执行所述查询。在本发明的另 一方面中,所述记录分配器被配置为在所述对象中的任 一个中存储所述记录中的任一个,其中所存储的记录属于所述数据库中的 一个或多个表,其中所述数据库包括具有未在所述对象中存储的记录的其 他表。在本发明的另 一方面中,提供一种具有动态加栽能力的关系数据库方 法,该方法包括在存储单元中存储多个对象,其中每个对象包含至少一 个记录;将所述对象映射到所述对象包含的记录,接收动态加载请求,所 述动态加栽请求包含期望记录的键值,搜索所述映射,以确定在所述存储 单元中的所述对象中的哪个对象包含与所述键值匹配的记录,和将所匹配 的记录中的任一个加载到关系数据库中。在本发明的另一方面中,对于以数据文件格式的所述对象执行所述步 骤中的任一个。在本发明的另一方面中,该方法还包括从计算机接收查询;确定作 为所述查询的焦点的至少一个键值;和在将所匹配记录加栽到所述数据库 中之后对于所述数据库执行所述查询。在本发明的另一方面中,该方法还包括更新所述映射,以表示所述 记录中任一个的当前位置在所述数据库中或者所述存储单元中。在本发明的另一方面中,该方法还包括根据所述记录能够驻留在所 述数据库期间的预定时间长度设置用于所述记录中任一个的期满时间戳; 和在到达所述期满时间戳时从所述数据库去除所述记录。在本发明的另一方面中,该方法还包括以压缩格式在所述存储单元 中存储所述对象中的任一个;和在将所述记录加载到所述数据库之前对所 述记录中的任一个解压缩。在本发明的另一方面中,该方法还包括基于计算可能性选择所述键, 所述计算可能性是所述数据库的未来查询基于所述键的键值选择记录的计 算可能性,其中如果所述可能性超过预定值则选择所述键。在本发明的另一方面中,该方法还包括在所述数据库的过去查询基 于所述键的键值选#^己录的情况下选择所述键。在本发明的另一方面中,其中所述映射步骤包括使用一个映射记录, 以将所述对象中的任一个映射到在具有相同键值的所述对象中包含的多个 记录。在本发明的另一方面中,所述映射步骤包括使用第一映射记录,以 将所述对象中的任一个映射到在所述对象中包含的具有第一键值的第一多 个记录,以及使用第二映射记录,以将所述对象映射到在所述对象中包含 的具有第二键值的第二多个记录。在本发明的另一方面中,该方法还包括生成所述对象中的任一个, 以仅包括具有相同键值的记录。在本发明的另一方面中,该方法还包括生成所述对象中的任一个, 以仅包括具有来自预定数目的不同键值中任一个的键值的记录。在本发明的另一方面中,该方法还包括生成所述对象中的任一个,以包括多个分区对象,每个分区对象包括在所述对象中的所述记录的子集, 由分区键识别所述子集。在本发明的另一方面中,该方法还包括并行地将来自所述分区对象 中任一个的记录加载到所述数据库的对应分区。在本发明的另一方面中,该方法还包括通过以下方式生成所述对象 中的任一个,即首先通过用所述记录中的任一个填充所述数据库,然后从 所述数据库将所述记录中的任一个移到随后存储在所述存储单元中的新形 成的对象中。在本发明的另一方面中,该方法还包括在所i^J"象中的任一个中存 储所述记录中的任一个,其中所存储的记录属于所述数据库中的一个或多 个表,其中所述数据库包括具有未在所述对象中存储的记录的其他表。在本发明的另 一方面中,提供一种在计算机可读介质上具体化的计算 机实现的程序,所述计算机实现的程序包括第一代码段,可操作为在存 储单元中存储多个对象,其中每个对象包含至少一个记录;第二代码段, 可操作为将所述对象映射到所述对象包含的记录,第三代码段,可操作为 接收动态加载请求,所述动态加载请求包含期望记录的键值,第四代码段, 可操作为搜索所述映射,以确定在所述存储单元中的所述对象中的哪个对 象包含与所述^^值匹配的记录,和第五代码段,可操作为将所匹配的记录 中的任一个加载到关系^L据库中。


根据结合附图的以下具体实施方式
,将完全理解和领会本发明,其中图l是根据本发明实施例构成的和操作的,具有动态加载能力的关系 数据库架构的简化概念示图;图2是根据本发明实施例操作的,采用图1架构的系统操作的示意性 方法的简化流程示图;图3是根据本发明实施例操作的,采用具有分区数据库的图1的架构 的对系统操作的示例性方法的简化流程图;和图4是根据本发明实施例构成的和操作的,具有动态加载能力的可选 择关系数据库架构的简化概念示图。M实施方式现在,参照图1,图1是根据本发明实施例构成的和操作的,具有动 态加载能力的关系数据库架构的简化概念示图,还参照图2,图2是根据 本发明实施例操作的,采用图1架构的系统操作的示意性方法的简化流程 示图。在图l和2的架构和方法中,关系数据库IOO示出为用于存储记录, 例如可配置在一个或多个数据文件102中。与本领域中7>知的不同,即并 非将所有输入记录保存在数据库100中持续到这些记录的保存期间,而是 记录分配器104优选地使用传统的压缩技术以压缩格式在存储单元106中 存储文件102。优选地,通过记录分配器104保持文件到它们包含的记录 的映射108。例如,如以下表所示,映射108可将存储单元106中存储的 每个文件名映射到键值,其还称作文件关联键,选择其识别文件包含的每 个记录。表A文件名 键值recfilel.dat 28.01.2005 10:35:00recfile2.dat 28.01.2005 10:45:00recfile98.dat 30.01.2005 21:00:00 recfile98.dat 30.01.2005 22:10:00因此,在所示的实例中,recfilel.dat包括具有键值"28.01,2005 10:35:00"的一个或多个记录,其中所述键值"28.01.2005 10:35:00"表 示时间戳,而recfile2.dat包括具有键值"28.01.2005 10:45:00"的一个或 多个记录。优选地,文件102的数目应该少于它们包含的记录的数目(例如,1 百万个记录不应该存储在1百万个文件中,但是可以在1千个文件中)。用来存储用于数据库100的记录的文件102的数目可作为用于对记录分组 所选择的键的函数确定,其中可使用任意已知的键选择技术来选择键。例 如,可基于这样的需求来选择键,即对数据库100的所有查询取决于键的 指定值。还可以选择键,使得具有所选键的任意离散值的记录集的基数受 到数据库计算^U的实际能力限制,以在合理的、为应用定义的时间量中加 载这么多记录。为了概括的目的,这里使用的术语"键"指的是一个或多 个键的集,而"键值"可指的是一个或多个键的集的值的唯一组合。通过 以这种方式概括键,不同的值的数目增加,因此对应的记录集的基数减少, 从而提供用以协调在记录集的基数和加载时间之间的实际均衡的能力。 可使用以下的机制进一步协调键的选择1. 在由于记录集的基数超过数据库计算机用以在合理的、为应用定 义的时间量中加栽这么多记录的实际能力而造成记录集的基数太大的情况 下,可以使用在记录中可散列成在记录之间高度均匀分布的另一个键,并 且根据所述散列值将记录集分成一组子集。在数据库计算机100可支持各 个记录集的子集的组的平行加载时,可使用这种选择。2. 在由于记录集的基数不足以利用数据库计算机在合理的、为应用 定义的时间量中加载这么多记录的实际能力而造成记录集的基数很小的情 况下,键值集的基数变得非常接近于原始数据库的基数。可通过将原始键 值映射到值的更小集中,并且使用结果值作为定义匹配记录集的基础来减 少键值集的基数。映射函数的实例包括在整数、或串的截尾等上的模函数。 结果,可将基数减少到实际水平。这将导致每个键的映射值具有增加的记 录集的基数。在键选择的另一个实例中,在使用该键时,或作为在设计用于数据库 100的新数据库模型时所进行工作的一部分,基于数据库100的先前查询 的信息选^^键。如果在存储单元106中存储的文件包含具有相同键值的多 个记录,则优选地使用在映射108中的一个记录,来表示文件中至少一个 记录具有特定键值的事实。在文件包含具有不同键值的记录时,优选地使 用映射108中的多个记录,如recfile98.dat所示,其包括具有键值"30.01.2005 21:00:00"的一个或多个记录,以及具有键值"30.01.2005 22:10:00"的一个或多个记录。尽管在当前实例中示出时间戳键,但是也可以选择任意键。例如,在 销售事务记录上执行查询并且查询按照区域关注销售的情况下,可通过用"区域"字段代替时间戳字段,或附加地通过"区域"字段将文件102映 射到它们的记录。优选地,生成文件102的应用以这样的方式进行处理,即文件中的所 有记录具有相同的键值,或相对少量不同的键值。或者,记录分配器104 可从文件102形成新文件,从而创建其记录共享相同或相对少量不同的键 值的文件。在这种情况下,可通过以下方式执行新文件的形成,即将文件 102用作输入,和/或通过来自文件102的记录首先填写数据库100,然后 从数据库100将记录提取和选择性移到随后存储在存储单元106中的新形 成文件中。在文件包括具有不同键值的记录的情况下,可预定义在文件中 可具有的记录的不同键值的数目,例如,文件包含不超过5个不同键值的 记录的情况。当查询处理器112 (例如,支持结构化查询语言(SQL)应用程序接 口 (API)的计算机服务器)从计算机110接收查询时,查询处理器112 确定哪个键:值/哪些键:值是查询的焦点。优选地,由查询处理器112接收的 所有查询询问用以将记录分组到文件102中的相同键。例如,查询可用于 其时间戳在某个范围内的数据库100中的所有记录。查询处理器112将包 括期望键值参数的"动态加栽请求"传递至记录分配器104,其搜索映射 108以确定在存储单元106中哪些文件包含匹配于查询焦点的键值的记录。 必要时,在文件和/或记录解压之后,记录分配器104随后从存储单元106 向数据库100中加载所识别文件的全部内容,或仅匹配所期望键值的记录。 然后,查询处理器112对于数据库100执行查询。记录分配器104可响应于由计算机110上的客户端应用发出的SQL数 据操作语言(DML)语句或其他RDBMS应用程序接口 ( API)命令将相 应记录加栽到数据库100中。通过使用一个或多个同步任务执行RDBMS快速加载工具或基于SQL DML接口工具来加载记录。在将所需数据的子 集加栽到数据库100中之后,通过查询处理器112执行查询,优选地将结 果向回提供给计算机110上的客户端应用。在将数据加载到数据库100之后,记录分配器104可更新映射108, 以反应已经将记录加载到数据库100中并且还根据记录驻留在数据库100 期间的预定时间长度设置期满时间戳。当到达期满时间戳时,优选地从数 据库100去除数据,并且更新映射108,以表示记录不再在数据库IOO中。应该理解,可以执行由记录分配器104执行的操作,而计算机110上 的客户端应用不知道它们的执行。因此,在接收由计算机110上的客户端 发出的SQL DML语句或其他RDBMS API命令时,记录分配器104分析 所述语句或命令,并提取为了不驻留在数据库100中的那些记录用以执行 上述动态加载的键。在将所需的数据子集加栽到数据库100中之后,记录 分配器104允许原始语句或命令继续,而不需要计算机110上的客户端发 出另一个命令,因此创建向数据库100中动态加栽数据的无缝整合。或者,计算机110可知道在发出查询之前需要由记录分配器104的动 态加载,因此指示查询处理器112向记录分配器104发出动态加载请求, 或本身可向记录分配器104发出动态加载请求。现在,参照图3,图3是根据本发明实施例操作的,采用具有分区数 据库的图1架构的对系统操作的示例性方法的简化流程图。在图3的方法 中,本发明的实施例可适用于各种分区的数据库实施方式。在一个所述实 施方式中,基于使用范围分区键指定的值范围对数据物理分割,其中所述 范围分区键独立于用于创建文件102的关联键。例如,可将包含用于不同 地理区域的销售数据的表物理分成多个不同分区,其中销售区域和/或销售 年份用作分区键,以及在每个记录中的分区键的值基于与每个物理分区明 显关联的分区键值的预定义范围确定记录所在的物理分区。或者,可基于在一个或多个表列上定义的所计算散列键划分分区数据, 其最终目的是在分区之间对值的平均分配。在插入和/或更新操作期间,数 据库引擎从数据记录生成散列,以确定哪个分区将存储记录。在检索期间,数据库引擎将在查询执行期间并行检索所有数据。因此,本发明的实施例 可通过以下方式适用于分区数据库,即,通过保证例如可通过记录分配器104接收或通过其生成的在给定文件102中的所有记录与相同分区关联。 因此,将从文件102检索的所有记录加载到数据库100的各个分区,当然, 可响应于不同查询并行地将来自不同文件102的记录加载到数据库100的 不同分区。优选地,由于文件关联键典型地对于文件102中的所有记录相 同,所以分区键不同于文件关联键,因此不能够用于进一步将这些记录细 分成更小子集。作为不同键并且如上选择的所计算散列键将这些记录细分 成与所存在分区相同多的许多子集。例如,如果存在N个分区,则将与某 个键值的集关联的每个文件102进一步分区成N个文件,其中每个具有近 似相同的大小。然后,记录分配器104识别将4艮据在"动态加载命令"中 的键加栽文件102中的哪个。对于为了加载而识别的每个文件102,记录 分配器104进一步识别其N个分区文件,并且根据需要并行地将它们加载 到它们的各自分区。可以理解,在使用这种分区的情况下,文件102是由 一个或多个物理分区文件构成的逻辑实体。现在,参照图4,图4是根据本发明实施例构成的和操作的,具有动 态加载能力的可选择关系数据库架构的筒化概念示图。图4的架构基本类 似于图1的架构,明显不同的是从数据库IOO单独存储的记录包含在对象 中,图1的文件的对象仅是由对象管理系统400维护的一个指定类型,例 如从IBM公司可商业获得的IBM DB2 Content Manager ,从3565 Harbor Boulevard, Costa Mesa, CA的FileNet />司可商业获得的 Armonk, NY或Enterprise Content Manager 。对象管理系统400在对 象存储装置406中存储如上所述由记录分配器104接收的对象402,和/或 如上所述由记录分配器104生成的对象。通过图1的文件,将对象存储装 置406中存储的对象映射到它们在映射408中包含的记录。尽管这里公开的方法和装置已经或还没有参照特定计算机硬件或软件 描述,但是可以理解,可容易地使用传统技术在计算机硬件或软件中实现 这里公开的方法和装置。
权利要求
1.一种具有动态加载能力的关系数据库架构,包括关系数据库,用于存储记录;存储单元;记录分配器,用于在所述存储单元中存储多个对象,其中每个对象包含至少一个记录;所述对象到所述对象包含的记录的映射,其中所述记录分配器被配置为,接收动态加载请求,所述动态加载请求包含期望记录的键值,搜索所述映射,以确定在所述存储单元中的所述对象中的哪个对象包含与所述键值匹配的记录,和将所匹配的记录中的任一个加载到关系数据库中。
2. 根据权利要求l所述的架构,其中所M象是数据文件。
3. 根据权利要求1所述的架构,还包括查询处理器,被配置为从 计算机接收查询,确定作为所述查询的焦点的至少一个键值,将包含所述 键值的所述动态加载请求传送至所述记录分配器,以及在将所匹配记录加 载到所述数据库中之后对于所述数据库执行所述查询。
4. 根据权利要求1所述的架构,其中所述记录分配器被配置为更新 所迷映射,以表示所述记录中任一个的当前位置在所述数据库中或者所述 存储单元中。
5. 根据权利要求1所述的架构,其中所述记录分配器被配置为根据 所述记录能够驻留在所述数据库期间的预定时间长度设置用于所述记录中 任一个的期满时间戳,以及在到达所述期满时间戳时从所述数据库去除所 述记录。
6. 根据权利要求1所述的架构,其中所述记录分配器被配置为以压 缩格式在所述存储单元中存储所述对象中的任一个,以及在将所述记录加 载到所述数据库之前对所述记录中的任一个解压缩。
7. 根据权利要求1所述的架构,其中基于计算可能性选择所述键,所述计算可能性是所述数据库的未来查询基于所述键的键值选择记录的计 算可能性,其中如果所述可能性超过预定值则选择所述键。
8. 根据权利要求1所述的架构,其中在所述数据库的过去查询基于 所述键的键值选择记录的情况下选择所述键。
9. 根据权利要求1所述的架构,其中所述映射使用一个映射记录, 以将所述对象中的任一个映射到在具有相同键值的所述对象中包含的多个 记录。
10. 根据权利要求l所述的架构,其中所述映射使用第一映射记录, 以将所述对象中的任一个映射到在所述对象中包含的具有第 一键值的第一 多个记录,以及^f吏用第二映射记录,以将所述对象映射到在所述对象中包 含的具有第二键值的第二多个记录。
11. 根据权利要求1所述的架构,其中所述记录分配器被配置为生成 所述对象中的任一个,以仅包括具有相同键值的记录。
12. 根据权利要求1所述的架构,其中所述记录分配器被配置为生成 所述对象中的任一个,以仅包括具有来自预定数目的不同键值中任一个的 键值的记录。
13. 根据权利要求12所述的架构,其中所述记录分配器被配置为生 成所述对象中的任一个,以包括多个分区对象,每个分区对象包括在所述 对象中的所述记录的子集,由分区键识别所述子集。
14. 根据权利要求13所述的架构,其中所述记录分配器被配置为并 行地将来自所述分区对象中任一个的记录加载到所述数据库的对应分区。
15. 根据权利要求1所述的架构,其中所述记录分配器被配置为通过 以下方式生成所述对象中的任一个,即首先通过用所述记录中的任一个填 充所述数据库,然后从所述数据库将所述记录中的任一个移到随后存储在 所述存储单元中的新形成的对象中。
16. 根据权利要求l所述的架构,还包括 计算机;和查询处理器,其中所述计算机被配置为,在向所述查询处理器发出查询之前将所迷 动态加栽请求传递到所述查询处理器,和其中所述查询处理器被配置为,在将所匹配记录加载到所述数据库中 之后对于所述数据库执行所述查询。
17. 根据权利要求l所述的架构,还包括 计算机;和查询处理器,其中所述计算机被配置为,在向所述查询处理器发出查询之前将所述 动态加载请求传递到所述记录分配器,和其中所述查询处理器^J己置为,在将所匹配记录加载到所述数据库中 之后对于所述数据库执行所述查询。
18. 根据权利要求1所述的架构,其中所述记录分配器被配置为在所述对象中的任一个中存储所述记录中的任一个,其中所存储的记录属于所 迷数据库中的一个或多个表,其中所述数据库包括具有未在所述对象中存 储的记录的其他表。
19. 一种具有动态加栽能力的关系数据库方法,该方法包括 在存储单元中存储多个对象,其中每个对象包含至少一个记录; 将所述对象映射到所述对象包含的记录,接收动态加栽请求,所述动态加载请求包含期望记录的键值,搜索所 述映射,以确定在所述存储单元中的所述对象中的哪个对象包含与所述键 值匹配的i己录,和将所匹配的记录中的任一个加载到关系数据库中。
20. 根据权利要求1所述的方法,其中对于以数据文件格式的所述对 象执行所述步骤中的任一个。
21. 根据权利要求19所迷的方法,还包括 从计算机接收查询;确定作为所述查询的焦点的至少一个键值;和在将所匹配记录加栽到所述数据库中之后对于所述数据库执行所述查询。
22. 根据权利要求19所述的方法,还包括更新所述映射,以表示 所述记录中任一个的当前位置在所述数据库中或者所述存储单元中。
23. 才艮据权利要求19所述的方法,还包括根据所述记录能够驻留在所述数据库期间的预定时间长度设置用于所 述记录中任一个的期满时间戳;和在到达所述期满时间戳时从所述数据库去除所述记录。
24. 根据权利要求19所述的方法,还包括 以压缩格式在所述存储单元中存储所述对象中的任一个;和 在将所述记录加载到所述数据库之前对所述记录中的任一个解压缩。
25. 根据权利要求19所述的方法,还包括基于计算可能性选择所 述键,所述计算可能性是所述数据库的未来查询基于所述键的键值选择记 录的计算可能性,其中如果所述可能性超过预定值则选择所述键。
26. 才艮据权利要求19所述的方法,还包括在所述数据库的过去查 询基于所述键的键值选择记录的情况下选择所述键。
27. 根据权利要求19所述的方法,其中所述映射步骤包括使用一 个映射记录,以将所述对象中的任一个映射到在具有相同键值的所述对象 中包含的多个记录。
28. 根据权利要求19所述的方法,其中所述映射步骤包括使用第 一映射记录,以将所述对象中的任一个映射到在所述对象中包含的具有第 一键值的第一多个记录,以及<吏用第二映射记录,以将所述对象映射到在 所述对象中包含的具有第二键值的第二多个记录。
29. 根据权利要求19所述的方法,还包括生成所述对象中的任一 个,以仅包括具有相同键值的记录。
30. 根据权利要求19所述的方法,还包括生成所述对象中的任一 个,以仅包括具有来自预定数目的不同键值中任一个的键值的记录。1. 根据权利要求
31.根据所述的方法,还包括生成所对象中的任一 个,以包括多个分区对象,每个分区对象包括在所述对象中的所述记录的子集,由分区键识别所述子集。
32. 根据权利要求31所述的方法,还包括并行地将来自所述分区 对象中任一个的记录加载到所述数据库的对应分区。
33. 根据权利要求19所述的方法,还包括通过以下方式生成所述 对象中的任一个,即首先通过用所述记录中的任一个填充所述数据库,然 后从所述数据库将所述记录中的任一个移到随后存储在所述存储单元中的 新形成的对象中。
34. 根据权利要求19所述的方法,还包括在所述对象中的任一个 中存储所述记录中的任一个,其中所存储的记录属于所述数据库中的一个 或多个表,其中所述数据库包括具有未在所述对象中存储的记录的其他表。
35. —种在计算机可读介质上具体化的计算机实现的程序,所述计算 机实现的程序包括第一代码段,可操作为在存储单元中存储多个对象,其中每个对象包含至少一个记录;第二代码段,可操作为将所述对象映射到所述对象包含的记录, 第三代码段,可操作为接收动态加载请求,所述动态加载请求包含期望记录的键值,第四代码段,可操作为搜索所述映射,以确定在所述存储单元中的所述对象中的哪个对象包含与所述^^值匹配的记录,和第五代码段,可操作为将所匹配的记录中的任一个加载到关系数据库中。
全文摘要
一种具有动态加载能力的关系数据库架构,包括关系数据库,用于存储记录;存储单元;记录分配器,用于在所述存储单元中存储多个对象,其中每个对象包含至少一个记录;所述对象到它们包含的记录的映射,其中所述记录分配器被配置为,接收动态加载请求,所述动态加载请求包含期望记录的键值,搜索所述映射,以确定在所述存储单元中的所述对象中的哪个对象包含与所述键值匹配的记录,和将所匹配的记录中的任一个加载到关系数据库中。
文档编号G06F17/30GK101405728SQ200780009901
公开日2009年4月8日 申请日期2007年5月15日 优先权日2006年5月31日
发明者A·塞拉, A·阿基洛夫, D·H·伯克, I·斯卡波夫斯基, U·沙尼, Y·多尔戈夫 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1