集成数据库的系统、方法和程序产品技术方案

技术编号:2830980 阅读:221 留言:0更新日期:2012-04-11 18:40
本发明专利技术的目的是提供一种集成包含第一数据的第一数据库和包含作为第一数据的副本的第二数据的第二数据库的系统。所述系统包括与第一数据对应的第一虚拟表,与第二数据对应的第二虚拟表,作为为第一和第二虚拟表所共用的虚拟表的通用表,和其中记录第一和第二虚拟表与通用表之间的关系的列表。所述系统还包括一个生成部分,用于按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案,和一个选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。

【技术实现步骤摘要】

本专利技术涉及数据库技术,更具体地说,涉及集成多个数据库的系 统、方法和程序产品。
技术介绍
近年来在许多领域中构建了利用计算机的大规模数据库系统。在 大规模数据库系统中,可能需要集成分散在许多分布式数据库中的数 据。例如,在研究所的包括用于管理各个研究人员获得的各种研究数 据的多类数据库的信息系统中,可能存在集成分散的数据,以便找出 包含在这样的分散数据中的信息或知识的需要。作为另一例子,由于 公司的合并,存在集成先前由不同的公司运行的不同数据库的需要。为了集成分布在网络上的这样的各种数据库,使用了用于联合数 据库的机制。这种机制是一种访问以分布方式存在的一组数据库,而 不是组合的数据库,从而提供数据库图像的分组的技术。这种机制是 一种其中直接访问各个数据库的机制,从而它能够容易地支持新数据 项的增加。于是,能够降低重新设计或重新构建数据库系统的时间和/ 或成本。以上面所述作为背景,本行业中的公司一直在进行处理分布的多 种数据库的产品的研究和开发。国际商用机器7〉司提供的WebSphere(R) Information Integrator 产品(下面称为II产品)是这种产品之一。II产品包含在DB2 (R)产品 中,DB2(R)产品是国际商用机器公司提供的数据库管理软件。在DB 产品的数据库中,II产品定义与其它数据库的表相关的虚拟数据库表 (在II产品中称为别名,,),并处理分布的数据库,好像分布的数据库由DB2(R)管理一样。这使得能够集成结构和/或厂家不同的各种分布 数据库(参见非专利文献l)。日本专利特许公开No.ll-213014(专利文献1)中公开了一种机制, 其中用户能够在不知道DB服务器是分布的情况下,容易地进行查询。 具体地说,在这种机制中,在元数据库服务器中收集和管理与保存在 一个或多个数据库中的实际数据相关的元数据。对元数据库服务器进 行查询使得可以获得与查询请求匹配的所有元数据。于是,即使用户 不知道在网络上存在多个数据库和用于管理这些数据库的数据库服务 器,或者不知道它们在哪里,用户也能够从一个数据库服务器,即, 元数据库服务器获得与查询请求匹配的所有元数据。在专利申请No.2003-505766的翻译后的国家/>布(专利文献2) 中公开的是一种方法和设备,用于监视和关于诸如SQL语句之类数据 库查询的优化设计有关的数据库表在索引方面的变化的效果。在这种 相关技术中,通过复制原始表并删除原始表中的数据,创建一个虚拟 表。复制与原始表相关的现有原始索引,以定义和虚拟表相关的虚拟 索引。用对虛拟表的引用替代查询中对原始表的引用。随后,数据库 管理系统确定关于查询的新的优化设计。IBM DB2 Information Integrator,Federated System Guide,Version 8.2,,,[online,12/16/2004,International Business MachinesCorporation,[检索于10/23/2006, 因特网<ftp:/ftp.software.ibm.com/ps/products/db2/info/vr82/pdf/ja—JP/iiyfpj 81.pdf><table>table see original document page 17</column></row><table>分布数据库系统720包括产品表722,产品表722是产品表732 的副本。分布数据库系统720还包括一个定单表724(表名称 ORDER),其中关于每个定单关键字(ORDERKEY)给出产品关键字 (PRODUCTKEY), 客户关键字(CUSTOMERKEY)和定货量 (AMOUNT)。定单表724的一个具体例子示于表2中。<table>table see original document page 17</column></row><table>联合数据库系统710包括分别与产品表732和722 ,及定单表724 对应的虚拟表714、 712和718。虚拟表714、 712和718的名称分别 被定义成N2—PRODUCT、 Nl—PRODUCT和N-ORDER。联合 数据库系统710还包括一个提供的为虚拟表714和712所共用的通用 表716。通用表716的名称被定义成N PRODUCT。假定在上述系统中,联合数据库系统710接收由表3中所示的包 括通用表716的指定的SQL语句构成的数据库查询。表3中所示的 SQL语句请求通过把从表N—ORDER,,获得的定货量(AMOUNT)乘以 从表N—PRODUCT,,获得的价格(PRICE),确定总价格,并创建其中 为每个客户关键字给出总价格的表。表3中所示的SQL语句还请求在 待创建的表中按照升序给出客户关键字。select customerkey, sum (amount * price) as total一price from n_order, n_product where n一order productkey-n—productkiy group by ciJstomerkey order by customerRby —在本实施例中,表3中所示的SQL语句中的N—PRODUCT(它 是通用表716的名称)被均与N—PRODUCT关联的Nl—PRODUCT,, 和N2—PRODUCT,,代替。从而,创建表4和5中所示的SQL语句。 随后关于创建的SQL语句进行存取方案生成和成本评估。这里,通过编译表4中所示的包括Nl—PRODUCT的指定的 SQL语句生成的存取方案将在分布数据库系统720中执行表722和 724之间的表连接,随后只把连接的表回送给联合数据库系统710。于 是,联合数据库系统和分布数据库系统之间的数据通信量包括其大小 较小的连接表上的数据。_select customerkey, sum (amount * price) as total一price from n一order, n1_product where n一order productkey-n1—producf productkey froup by cuitomerkey order 6y customerkey —另一方面,按照通过编译表5中所示的包括N2—PRODUCT,,的 指定的SQL语句生成的存取方案,必须分别从分布数据库系统720 和730接收执行表连接所需的ORDER上的所有数据和PRODUCT上的所有数据,随后在联合数据库系统710中执行表连 接。于是,联合数据库系统和分布数据库系统之间的数据通信量包括 其大小相对较大的待连接数据。select customerkey, sum (amount * price) as total_price from n一order, n2一product where n_order productkeys=n2_product productkey group by cuitomerkey order 6~y cus本文档来自技高网...

【技术保护点】
一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的系统,所述第二数据是第一数据的副本,所述系统包括:    与第一数据对应的第一虚拟表;    与第二数据对应的第二虚拟表;    作为为第一和第二虚拟表所共用而提供的虚拟表的通用表;    其中记录第一和第二虚拟表与通用表之间的关系的列表,    生成部分,用于按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案;和    选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。

【技术特征摘要】
JP 2006-10-30 2006-2942951、一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的系统,所述第二数据是第一数据的副本,所述系统包括与第一数据对应的第一虚拟表;与第二数据对应的第二虚拟表;作为为第一和第二虚拟表所共用而提供的虚拟表的通用表;其中记录第一和第二虚拟表与通用表之间的关系的列表,生成部分,用于按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案;和选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。2、 按照权利要求1所述的系统,还包括评估部分,用于估计所述两个或更多的存取方案中每一个的成 本,其中选择部分根据所述评估部分估计的存取方案的成本,从所述两个存取方案中选择存取方案。3、 按照权利要求1所述的系统,其中为了生成存取方案,生成 部分从数据库查询获得通用表的名称,利用列表从通用表的名称获得 第一和第二虚拟表的名称,改写数据库查询,以致数据库查询中的通用表的名称被第一或第二虚拟表的名称替代,并编译改写的查询。4、 按照权利要求1所述的系统,还包括存储部分,用于高速緩存由生成部分生成的两个或更多的存取方案。5、 按照权利要求4所述的系统,还包括评估部分,用于估计所述两个或更多存取方案中每一个的成本,其中存储部分还高速緩存由评估部分估计的存取方案的成本。6、 按照权利要求4所述的系统,其中如果在存储部分中没有高速緩存任何存取方案,那么生成部分生成存取方案。7、 按照权利要求4所述的系统,其中如果一个或多个存取方案 被高速緩存在存储部分中,那么选择部分从高速緩存的一个或多个存 取方案中选择一个存取方案。8、 按照权利要求1所述的系统,还包括执行部分,用于利用选择部分所选择的存取方案执行数据库查询。9、 按照权利要求1所述的系统,还包括接收部分,用于接收经由网络从客户端发送的数据库查询。10、 按照权利要求l所述的系统,其中数据库查询采用结构化查 询语言(SQL)格式。11、 按照...

【专利技术属性】
技术研发人员:大川昌弘黒泽亮二福田刚志
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1