CN101174267A - 集成数据库的系统、方法和程序产品 - Google Patents
集成数据库的系统、方法和程序产品 Download PDFInfo
- Publication number
- CN101174267A CN101174267A CNA2007101483146A CN200710148314A CN101174267A CN 101174267 A CN101174267 A CN 101174267A CN A2007101483146 A CNA2007101483146 A CN A2007101483146A CN 200710148314 A CN200710148314 A CN 200710148314A CN 101174267 A CN101174267 A CN 101174267A
- Authority
- CN
- China
- Prior art keywords
- data
- access plan
- virtual table
- database
- general purpose
- 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/25—Integrating or interfacing systems involving database management systems
-
- 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
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明的目的是提供一种集成包含第一数据的第一数据库和包含作为第一数据的副本的第二数据的第二数据库的系统。所述系统包括与第一数据对应的第一虚拟表,与第二数据对应的第二虚拟表,作为为第一和第二虚拟表所共用的虚拟表的通用表,和其中记录第一和第二虚拟表与通用表之间的关系的列表。所述系统还包括一个生成部分,用于按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案,和一个选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。
Description
技术领域
本发明涉及数据库技术,更具体地说,涉及集成多个数据库的系统、方法和程序产品。
背景技术
近年来在许多领域中构建了利用计算机的大规模数据库系统。在大规模数据库系统中,可能需要集成分散在许多分布式数据库中的数据。
例如,在研究所的包括用于管理各个研究人员获得的各种研究数据的多类数据库的信息系统中,可能存在集成分散的数据,以便找出包含在这样的分散数据中的信息或知识的需要。作为另一例子,由于公司的合并,存在集成先前由不同的公司运行的不同数据库的需要。
为了集成分布在网络上的这样的各种数据库,使用了用于联合数据库的机制。这种机制是一种访问以分布方式存在的一组数据库,而不是组合的数据库,从而提供数据库图像的分组的技术。这种机制是一种其中直接访问各个数据库的机制,从而它能够容易地支持新数据项的增加。于是,能够降低重新设计或重新构建数据库系统的时间和/或成本。
以上面所述作为背景,本行业中的公司一直在进行处理分布的多种数据库的产品的研究和开发。
国际商用机器公司提供的WebSphere(R)Information Integrator产品(下面称为“II产品”)是这种产品之一。II产品包含在DB2(R)产品中,DB2(R)产品是国际商用机器公司提供的数据库管理软件。在DB产品的数据库中,II产品定义与其它数据库的表相关的虚拟数据库表(在II产品中称为“别名”),并处理分布的数据库,好像分布的数据库由DB2(R)管理一样。这使得能够集成结构和/或厂家不同的各种分布数据库(参见非专利文献1)。
日本专利特许公开No.11-213014(专利文献1)中公开了一种机制,其中用户能够在不知道DB服务器是分布的情况下,容易地进行查询。具体地说,在这种机制中,在元数据库服务器中收集和管理与保存在一个或多个数据库中的实际数据相关的元数据。对元数据库服务器进行查询使得可以获得与查询请求匹配的所有元数据。于是,即使用户不知道在网络上存在多个数据库和用于管理这些数据库的数据库服务器,或者不知道它们在哪里,用户也能够从一个数据库服务器,即,元数据库服务器获得与查询请求匹配的所有元数据。
在专利申请No.2003-505766的翻译后的国家公布(专利文献2)中公开的是一种方法和设备,用于监视和关于诸如SQL语句之类数据库查询的优化设计有关的数据库表在索引方面的变化的效果。在这种相关技术中,通过复制原始表并删除原始表中的数据,创建一个虚拟表。复制与原始表相关的现有原始索引,以定义和虚拟表相关的虚拟索引。用对虚拟表的引用替代查询中对原始表的引用。随后,数据库管理系统确定关于查询的新的优化设计。
[非专利文献]“IBM DB2 Information Integrator,FederatedSystem Guide,Version 8.2”,[online],12/16/2004,International BusinessMachines Corporation,[检索于10/23/2006],因特网<ftp:/ftp.software.ibm.com/ps/products/db2/info/vr82/pdf/a_JP/iiyfpj81.pdf>
[专利文献1]日本专利特许公开No.11-213014
[专利文献2]专利申请No.2003-505766的翻译的国家公布
发明内容
例如,当向利用II产品构成的联合数据库服务器发出呈结构化查询语言(SQL)格式的数据库查询时,生成定义存取数据的程序(例如在联合数据库中执行何种本地处理,或者在联合数据库和分布数据库之间是否执行远程处理)的存取方案,以便优化成本(例如,响应时间,所需的计算机资源的数量)。
通常,联合服务器和分布数据库之间经由网络传递的数据的数量的增大会导致性能降低。例如,当需要执行连接存在于不同服务器中的数据库中的数据库表的处理(可被称为“连接(join)”)时,联合数据库系统必须从分布数据库系统获得执行表连接所需的数据。于是,在联合数据库系统和分布数据库系统之间产生相当大的通信量,从而使数据库处理低效。
因此,本发明的目的是改进用于集成分布数据库系统的数据库系统中的数据库查询处理。
为了获得上述目的,提供一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的系统,所述第二数据是第一数据的副本。所述系统包括与第一数据对应的第一虚拟表,与第二数据对应的第二虚拟表,作为为第一和第二虚拟表所共用而提供的虚拟表的通用表,和其中记录第一和第二虚拟表与通用表之间的关系的列表。所述系统还包括一个生成部分,用于基于所述列表,根据对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案,和一个选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的一个存取方案。
所述系统最好还包括一个评估部分,用于估计所述两个或更多的存取方案中每一个的成本。选择部分最好根据所述评估部分估计的存取方案的成本,从所述两个存取方案中选择一个存取方案。
虽然直到此时,本发明的概要被描述成一种系统,不过本发明也可被理解成一种方法或程序产品。这样的程序产品可包括保存程序的存储介质,或者传送程序的介质。
应注意上面说明的本发明的概要并不覆盖本发明所需的所有特征,这些部件的组合或子组合也可被包括在本发明中。
附图说明
图1是表示按照本发明的实施例的系统的高级总体示意图。
图2是表示按照本实施例的系统的逻辑配置的示意图。
图3是按照本实施例的联合数据库系统的功能方框图。
图4是表示按照本实施例的系统中的初始化操作的流程图。
图5是表示按照本实施例的分布数据库系统监视操作的流程图。
图6是表示按照本实施例的关于数据库查询的系统操作的流程图。
图7是表示在按照本实施例的联合数据库系统中执行的连接数据库表的处理的具体例子的示图。
图8是表示实现按照本实施例的联合数据库系统的优选计算机设备的硬件配置的例子的示意图。
具体实施方式
下面参考附图说明本发明的一个优选实施例。但是,本实施例并不局限于权利要求的范围,在本实施例中描述的特征的所有组合不是作为本发明的问题解决手段所不可缺少的。
此外,可在许多不同的方面实现本发明,本发明不应局限于实施例中的描述。另外,要注意在本实施例中描述的特征的所有组合不是作为本发明的问题解决手段所不可缺少的。在本实施例的说明中,相同的部件用相同的附图标记表示。
图1是表示按照本实施例的系统100的高级总体示意图。按照本实施例的系统100包括客户端110,联合数据库服务器120,和分布数据库服务器130和140,所有这些通过网络150相互耦接。
按照本实施例的客户端110按照用户进行的操作,创建查询数据库的SQL格式的数据库查询,并把该查询发送给联合数据库服务器120。SQL是一种公知的数据库技术,从而这里不再对其进行详细说明。
联合数据库服务器120集成包括在分布数据库服务器130和140中的数据库系统,以处理来自客户端110的数据库查询。分布数据库服务器130和140是其中在存储装置(比如磁盘)中构建数据库系统的服务器。
网络150是用于耦接客户端110,联合数据库服务器120,和分布数据库服务器130和140的通信路线。例如,它由因特网实现。如果网络110是因特网,那么利用公知的通信协议(TCP/IP)连接系统。
图2是表示按照本实施例的系统的一部分的逻辑配置的示意图。图2表示图1中所示实施例的各个部件之中的联合数据库服务器120,和分布数据库服务器130和140。
按照本实施例的分布数据库服务器130和140分别包括分布数据库系统230和240。在本实施例中,假定包括在分布数据库系统230和240中的数据库具有不同的结构。此外,可利用由不同数据库厂家提供的数据库管理系统(DBMS)软件构建分布数据库系统230和240。例如,本领域的技术人员可利用DB2(R)(它是国际商用机器公司提供的DBMS软件)构建分布数据库系统230,并利用Oracle数据库10g(它是Oracle公司提供的DBMS软件)构建分布数据库系统240。
在本实施例中,假定分布数据库系统230包括某一数据(称为“第一数据”)和与第一数据对应的数据库表(称为“数据库表232”)。另外假定分布数据库系统240包括作为第一数据的副本的数据(第二数据),和与第二数据对应的数据库表(称为“数据库表242”)。注意通过参考公知的数据库复制技术,本领域的技术人员能够酌情创建这样的副本,因此不再详细说明这种副本的创建。
按照本实施例的联合数据库服务器120包括联合数据库系统220。联合数据库系统220包括分别与上述数据库表232和242关联的数据库表222和224(分别称为“第一虚拟表222”和“第二虚拟表224”)。提供这样的虚拟表使联合数据库系统220可以处理分布数据库系统230和240,好像联合数据库系统220管理分布数据库系统230和240似的。注意联合数据库系统技术领域的技术人员能够酌情实现这样的虚拟表,因此不再详细说明虚拟表(例如,参见非专利文献1的涉及“Nickname”的章节)。
注意按照本实施例的联合数据库系统220包括提供的为第一和第二虚拟表222和224所共有的虚拟数据库表(称为“通用表226”)。在本实施例中,可利用适当的虚拟表整体处理由客户端110发送给联合数据库服务器120的对通用表的数据库查询。联合数据库系统220中数据库查询的处理将在后面在图6等中详细说明。
图3是联合数据库系统220的功能方框图。通过使硬件资源和软件在具有后面参考图8说明的硬件配置的信息处理设备中相互合作,能够实现图3中所示的部件的功能。具体地说,通过把保存在硬盘装置13等中的操作系统或计算机程序载入主存储器4中,随后使CPU1读取所述操作系统或计算机程序,能够实现这些功能。
在本实施例中,联合数据库服务器120包括数据库查询接收部分310,存取方案生成部分320,存取方案评估部分330,存取方案选择部分340,存取方案存储部分350,相关性列表360,存取方案执行部分370,存取方案管理部分380和远程数据库监视部分390。联合数据库服务器120还包括第一和第二虚拟表222和224,以及通用表226。
按照本实施例的数据库查询接收部分310用于接收客户端110通过网络150发送的数据库查询。注意按照本实施例的数据库查询是关于通用表226的数据库查询(更具体地说,其SQL语句包括通用表226的名称指定的数据库查询)。
按照本实施例的存取方案生成部分320基于后面说明的相关性列表360的内容,根据数据库查询接收部分310接收的数据库查询,生成其中使用第一虚拟表222或第二虚拟表224的一个或多个存取方案(关于如何存取分布数据库的具体程序)。
具体地说,按照本实施例的存取方案生成部分320从数据库查询接收部分310接收的数据库查询中获得通用表226的名称,随后利用相关性列表360,从获得的表名称中获得第一虚拟表222的名称。
随后,存取方案生成部分320重写数据库查询,以致数据库查询中的通用表26的名称被第一虚拟表222的名称替代,并编译重写的数据库查询,以便产生其中使用第一虚拟表222的存取方案。
在本实施例中,假定存取方案生成部分320关于第二虚拟表224执行和上面所述类似的处理,以便产生其中使用第二虚拟表的存取方案。生成的存取方案的至少一部分被高速缓存在后面说明的存取方案存储部分350中。
在本实施例中,假定为了有效重复使用高速缓存在后面说明的存取方案存储部分350中的存取方案,只有当没有存取方案被高速缓存在存取方案存储部分350中时,存取方案生成部分320才执行上面说明的存取方案生成处理。
按照本实施例的存取方案评估部分330用于评估存取方案生成部分320生成的多个存取方案中的每一个的成本。具体地说,存取方案评估部分330为每个存取方案计算响应时间和估计的要使用的计算机资源数量。这种响应时间和估计的要使用的计算机资源数量的计算可由本领域的技术人员酌情进行,因此这里不再赘述。生成的存取方案的至少部分成本信息被高速缓存在存取方案存储部分350中。
按照本实施例的存取方案选择部分340用于根据存取方案评估部分330估计的成本,从存取方案生成部分320生成的存取方案中选择一个存取方案。
按照本实施例的存取方案存储部分350高速缓存由存取方案生成部分320生成的一个或多个存取方案,和由存取方案评估部分330估计的成本。
按照本实施例的相关性列表360是其中保存在联合数据库系统220中使用的虚拟表和通用表(比如虚拟表222及224和通用表226)的名称信息,以及通用表和虚拟表之间的相关性和关联的列表。
按照本实施例的存取方案执行部分370从存取方案存储部分350获得存取方案选择部分340选择的存取方案,并使用获得的存取方案来执行上面提及的数据库查询。
一旦第一或第二数据变得不可用,按照本实施例的存取方案管理部分380用于禁用高速缓存的其中使用与所述不可用数据对应的虚拟表的存取方案。一旦不可用的第一或第二存取方案再次变得可用,那么存取方案管理部分380还用于把禁用的存取方案变成启用的存取方案。
此外,如果在另一数据库系统(未示出)中新创建了另外的数据,所述另外的数据为第一数据的副本,那么存取方案管理部分380把指示创建了新副本的信息添加到使用通用表226的存取方案中。如果存在这样的信息,那么存取方案生成部分320生成关于新副本的另一存取方案,即使存取方案被保存在存取方案存储部分350中。
在本实施例中,当存取方案选择部分340选择存取方案时,它检测这样的信息是否被添加到存取方案中。一旦存取方案选择部分340检测到这种信息的添加,存取方案生成部分320就生成另外的存取方案。生成的另外的存取方案被保存在存取方案存储部分350中。
按照本实施例的远程数据库监视部分390用于监视远离联合数据库系统220放置的第一和第二数据库230和240是否可用。一旦由远程数据库监视部分390监视的任意数据库变得不可用,那么远程数据库监视部分390还用于把该事实通知存取方案管理部分380。另一方面,一旦由远程数据库监视部分390监视的任何临时不可用的数据库恢复成可用的数据库,那么远程数据库监视部分390还用于把该事实通知存取方案管理部分380。
当由远程数据库监视部分390告知某一数据库变得不可用时,按照本实施例的存取方案管理部分380把其中使用该不可用数据库的存取方案的状态变成禁用。另一方面,当由远程数据库监视部分390告知某一数据库变得可用时,存取方案管理部分380把其中使用该可用数据库的存取方案的状态变成启用。存取方案选择部分340根据这样的状态确定每个存取方案的使用的进行/不宜继续进行,从而选择待执行的存取方案。
图4是表示按照本实施例的系统100的初始化操作的流程图。假定当开始初始化操作时,系统100包括第一和第二数据库系统230和240,第一数据库系统230包括第一数据和对应于第一数据的第一数据库表232,远程数据库监视部分390已启动远程数据库监视进程。后面将参考图5等详细说明在这样的监视进程中的操作。
该进程开始于步骤405。随后在步骤410中,在第二数据库系统240中创建第二数据,它是第一数据的副本。另外在步骤410中,在第二数据库系统240中创建对应于第二数据的第二数据库表242。
进程进入步骤415。在联合数据库系统220中创建对应于第一和第二数据库表232和242的虚拟表222和224。注意这些虚拟表的创建可由本领域的技术人员酌情进行,从而这里不再赘述。
进程进入步骤420。在联合数据库系统220中形成为在步骤415中创建的虚拟表222和224所共用的通用表226。在步骤420中,虚拟表222和224都与通用表226关联,并在联合数据库系统220中创建用于保存关于这种关联的信息的相关性列表360。随后进程进入步骤425并结束。
当然,可按照联合数据库系统220的管理人员的明确输入进行上面所述的虚拟表和通用表的创建,这些表之间的关联,和相关性列表360的创建。另一方面,在建立联合数据库系统220,以致它能够检测已创建了作为第一数据的副本的第二数据之后,它可依据这样的检测自动进行一部分或者全部的上述操作。
图5是表示由驻留在按照本实施例的联合数据库系统220中的远程数据库监视部分390执行的远程数据库监视进程操作的流程图。该进程开始于步骤505。在步骤510中,远程数据库监视部分390监视由联合数据库系统220集成的每个远程分布数据库系统(本实施例中的分布数据库230和240)是否可用。具体地说,通过向每个目录数据库系统发送确认请求以便由远程数据库监视部分390定期监视,实现这样的监视。
随后在步骤515中,确定是否检测到先前可用、但是目前不可用的远程分布数据库系统。在步骤515中,如果确定检测到这样的远程数据库系统,那么进程经由YES箭头进入步骤520。
一旦在步骤515中检测到先前可用、但是目前不可用的分布数据库系统,远程数据库监视部分390就在步骤520中把该事实通知存取方案管理部分380。随后,存取方案管理系统380把其中需要存取该不可用的远程分布数据库系统的存取方案的状态变成禁用。之后,进程返回步骤510,继续进行监视。
如果在步骤515中没有检测到任何不可用的远程数据库,那么进程经由NO箭头进入步骤525。在步骤525中,确定是否检测到先前不可用、但是目前可用的分布数据库系统。如果在步骤525中确定检测到这样的远程数据库,那么进程经由YES箭头进入步骤530。
一旦在步骤525中检测到先前不可用、但是目前可用的分布数据库系统,远程数据库监视部分390就在步骤530中把该事实通知存取方案管理部分380。随后存取方案管理系统380把其中需要存取该可用的远程分布数据库系统的存取方案的状态变成启用。之后,进程返回步骤510,继续进行监视。
如果在步骤525中没有检测到已变得可用的远程数据库,那么进程经由箭头NO返回步骤510,继续进行监视。
图6是表示按照本实施例的对数据库查询的系统操作的流程图。该进程开始于步骤605。在步骤610中,客户端110把关于在初始化操作中创建的通用表226的数据库查询(具体地说,SQL语句)发送给联合数据库服务器120。
进程进入步骤615。联合数据库服务器120的数据库查询接收部分310接收在步骤610中客户端110发送的数据库查询。进程进入步骤620。联合数据库服务器120请求存取方案执行部分340生成存取方案,以便处理接收的查询。
随后在步骤625中,存取方案选择部分340确定存取方案是否已高速缓存在存取方案存储部分350中,以及高速缓存的存取方案是否包括指示作为新副本的数据已被创建的信息。如果确定没有存取方案被高速缓存,或者高速缓存的存取方案包括指示作为新副本的数据已被创建的信息,那么进程经由NO箭头进入步骤630。如果确定存取方案被高速缓存,并且高速缓存的存取方案不包括指示作为新副本的数据已被创建的信息,那么进程经由YES箭头进入步骤665。
在步骤630中,存取方案选择部分340请求存取方案生成部分320编译查询,从而生成存取方案。随后,在步骤635中,通过利用相关性列表360,获得与在步骤615中接收的数据库查询中描述的通用表对应的虚拟表的名称。在本实施例中,在数据库查询中描述通用表226,并且在相关性列表360中,第一和第二虚拟表222和224都与通用表226关联。于是,在步骤635中获得第一和第二虚拟表222和224的名称。
如果SQL语句的内容并不仅仅需要参阅数据,而且要求进行如INSERT(数据的插入)/UPDATE(数据的更新)/DELETE(数据的删除)那样的实际数据变化,那么必须关于特定的虚拟表执行该查询。例如,存在其中不是第二数据(作为复制数据),而是作为原始数据的第一数据必须取决于按照本实施例的第一数据的副本的设置被改变的情况。在这种情况下,最好把指示只有特定虚拟表(第一虚拟表)可被改变的信息保存在通用表226中,以致在步骤630中只能获得第一虚拟表的名称。
另外在步骤625中,如果存取方案选择部分340确定高速缓存的存取方案包括指示作为新副本的数据已被创建的信息,那么仅仅关于新的复制数据创建另外的存取方案就足够了。这允许仅仅以关于新的复制数据的虚拟表的名称的获取结束虚拟表的名称的获取。
随后,在从步骤640-步骤660的循环中,对在步骤635中获得的每个虚拟表(本实施例中的第一和第二虚拟表)进行存取方案生成,成本评估等。
具体地说,在步骤640中,存取方案生成部分320把数据库查询(SQL语句)中的通用表的名称改写成获得的虚拟表的名称。随后,在步骤645,存取方案生成部分320根据改写的SQL语句生成存取方案。在步骤650中,存取方案评估部分330估计生成的存取方案的成本(响应时间、要使用的计算机资源量等的估计)。在步骤655中,分别在步骤64和650中生成的存取方案及其成本被高速缓存在存取方案存储部分350中。对在步骤635中获得的每个虚拟表名称进行这一系列的处理。
当关于在步骤635中获得的每个虚拟表名称完成存取计划的生成(步骤645),成本评估(步骤650)和它们的高速缓存(步骤655)时,处理经由NO箭头从步骤660进入步骤665。
在步骤665,存取方案选择部分340按照预定的策略,根据高速缓存在存取方案存储部分350中的成本,从高速缓存在存取方案存储部分350中的一个或多个存取方案之中其状态为启用的存取方案中,选择被确定为最佳存取方案的一个存取方案(例如响应时间最短的存取方案)。
如果高速缓存的存取方案的状态都是禁用,那么向发出数据库查询的客户端回送关于该结果的错误消息,随后进程结束。
进程进入步骤670。存取方案执行部分370执行在步骤665中选择的存取方案。注意如果在步骤670中成功执行了该存取方案,那么结果被回送给发出数据库查询(即SQL语句)的客户端。随后,进程进入步骤675。在步骤675中,从步骤670中的存取方案的执行结果,确定是否远程数据库由于某一问题等而被检测为不可用。
如果在步骤675中确定远程数据库被检测为不可用,那么进程经由YES箭头进入步骤680。在步骤680中,向存取方案管理部分380通知在步骤675中确定远程数据库已被检测为不可用。存取方案管理部分380把需要存取已在步骤675中确定为不可用的远程分布数据库系统的存取方案(并不局限于在步骤665中选择的存取方案)的状态变为禁用。
进程从步骤680返回步骤665。在步骤665中,从除其状态为禁用的存取方案之外的剩余存取方案中选择最佳的存取方案。重复该循环,直到找到最佳的启用存取方案为止。如果找到这样的存取方案,那么进程经由NO箭头从步骤675进入步骤685。
图7是表示一个具体例子的示图,其中在按照本实施例的联合数据库系统中执行连接数据库表的处理。图7中的具体例子包括联合数据库系统710及分布数据库系统720和730。分布数据库系统730包括产品表732(表名称:“PRODUCT”),其中关于每个产品关键字(PRODUCTKEY)给出产品名称(PRODUCTNAME)和价格(PRICE)。产品表732的一个具体例子示于表1中。
[表1]
PRODUCTKEY | PRODUCTNAM E | PRICE |
10 | Product-A | 1000.00 |
20 | Product-B | 1500.00 |
分布数据库系统720包括产品表722,产品表722是产品表732的副本。分布数据库系统720还包括一个定单表724(表名称:“ORDER”),其中关于每个定单关键字(ORDERKEY)给出产品关键字(PRODUCTKEY),客户关键字(CUSTOMERKEY)和定货量(AMOUNT)。定单表724的一个具体例子示于表2中。
[表2]
ORDERKEY | PRODUCTKEY | CUSTOMERKEY | AMOUNT |
1 | 10 | 100 | 4 |
2 | 20 | 100 | 2 |
3 | 10 | 110 | 1 |
4 | 10 | 110 | 3 |
联合数据库系统710包括分别与产品表732和722,及定单表724对应的虚拟表714、712和718。虚拟表714、712和718的名称分别被定义成“N2_PRODUCT”、“N1_PRODUCT”和“N_ORDER”。联合数据库系统710还包括一个提供的为虚拟表714和712所共用的通用表716。通用表716的名称被定义成“N_PRODUCT”。
假定在上述系统中,联合数据库系统710接收由表3中所示的包括通用表716的指定的SQL语句构成的数据库查询。表3中所示的SQL语句请求通过把从表“N_ORDER”获得的定货量(AMOUNT)乘以从表“N_PRODUCT”获得的价格(PRICE),确定总价格,并创建其中为每个客户关键字给出总价格的表。表3中所示的SQL语句还请求在待创建的表中按照升序给出客户关键字。
[表3]
select customerkey,sum(amount*price)as total_price from n_order,n_product where n_order productkey=n_productkey group by customerkeyorder by customerkey |
在本实施例中,表3中所示的SQL语句中的“N_PRODUCT”(它是通用表716的名称)被均与“N_PRODUCT”关联的“N1_PRODUCT”和“N2_PRODUCT”代替。从而,创建表4和5中所示的SQL语句。随后关于创建的SQL语句进行存取方案生成和成本评估。
这里,通过编译表4中所示的包括“N1_PRODUCT”的指定的SQL语句生成的存取方案将在分布数据库系统720中执行表722和724之间的表连接,随后只把连接的表回送给联合数据库系统710。于是,联合数据库系统和分布数据库系统之间的数据通信量包括其大小较小的连接表上的数据。
[表4]
select customerkey,sum(amount*price)as total_price from n_order,ni_product where n_order productkey=n1_product productkey group bycustomerkey order by customerkey |
另一方面,按照通过编译表5中所示的包括“N2_PRODUCT”的指定的SQL语句生成的存取方案,必须分别从分布数据库系统720和730接收执行表连接所需的“ORDER”上的所有数据和“PRODUCT”上的所有数据,随后在联合数据库系统710中执行表连接。于是,联合数据库系统和分布数据库系统之间的数据通信量包括其大小相对较大的待连接数据。
[表5]
select customerkey,sum(amount*price)as total_price from n_ordern2_product where n_order productkey=n2_product productkey group bycustomerkey order by customerkey |
于是,作为该存取方案的成本的响应时间的估计量大于通过编译表4中所示的包括“N1_PRODUCT”的指定的SQL语句而生成的存取方案的响应时间的估计量。从而,已接收表3中所示的数据库查询的联合数据库系统710选择并使用通过编译表4中所示的包括“N1_PRODUCT”的指定的SQL语句而生成的存取方案,以便执行所述查询。作为执行的结果,获得表6中所示的表。
[表6]
CUSTOMERTKEY | TOTAL_PRICE |
100 | 7000 |
110 | 4000 |
根据上面的描述将明白,按照本实施例,最佳的存取方案被用于执行数据库查询。
图8是表示实现按照本实施例的系统的优选信息处理设备的硬件结构的例子的示图。信息处理设备120包括均与总线2耦接的中央处理器(CPU)1和主存储器4。可拆卸存储器(能够替换记录介质的外部存储系统),比如硬盘装置13和30,CD-ROM装置26和29,软盘装置20,MO装置28,DVD装置31,通过软盘控制器19,IDE控制器25,SCSI控制器27等与总线2耦接。
记录介质,比如软盘、MO、CD-ROM和DVD-ROM被插入可拆卸存储器中。通过与操作系统合作地向CPU等发出指令,这些记录介质,硬盘装置13和30或者ROM14能够记录用于实现本发明的计算机程序的代码。把所述计算机程序装入主存储器4使所述计算机程序被执行。所述计算机程序也可被压缩,或者被分成许多部分,以便记录到多个介质中。
信息处理设备120通过键盘/鼠标控制器5接收来自输入装置,比如键盘6和鼠标7的输入。信息处理装置120通过DAC/LCDC10与显示器11耦接,以便向用户呈现可视数据。
信息处理设备120可通过网络适配器18(以太网(R)卡或者令牌网卡)等与网络连接,从而与其它计算机等通信。信息处理设备120还可通过并行端口与打印机(未示出)耦接,或者通过串行端口与调制解调器(未示出)耦接。
根据上面的说明易于明白,实现按照本实施例的系统的优选信息处理设备由典型的信息处理设备,比如个人计算机、工作站或大型机,或者它们的组合来实现。但是,这些部件是例证性的,所有的这些部件不是本发明的必需部件。
当然,本领域的技术人员易于设想各种修改,比如通过组合多台机器,随后把这些部件的功能分配给这些机器,实现在本实施例中使用的信息处理设备的硬件部件。当然,这些修改是包括在本发明的技术思想中的构思。
按照本实施例的系统可采用支持图形用户界面(GUI)多窗口环境的操作系统,比如微软公司提供的Windows(R)操作系统,苹果计算机股份有限公司提供的Macos(R),和包括X Windows系统的基于UNIX(R)的系统(例如国际商用机器公司提供的AIX(R))。
根据上面的说明可明白,本实施例中使用的系统并不局限于特定的操作系统环境。换句话说,可以采用任何操作系统,只要它能够显示允许应用软件等使用数据处理系统的资源的资源管理功能。这样的资源管理功能包括硬件资源管理功能,文件处理功能,外围设备联机同时操作(SPOOL)功能,作业管理功能,内存保护功能,和虚拟内存管理功能。这些功能为本领域的技术人员公知,因此这里不再赘述。
此外,本发明可被实现成硬件、软件或者两者的组合。其中用硬件和软件的组合实现本发明的一个典型例子是在包括预定程序的数据处理系统中实现本发明。这种情况下,把预定程序装入数据处理系统并执行该程序会导致该程序控制数据处理系统,以致执行按照本发明的处理。该程序包括可用任意语言、代码或符号表现的一组指令。这样的指令使系统可以立即,或者(1)在指令被转换成另一种语言、代码或符号之后,(2)在另一介质中产生指令的副本之后,或者在完成(1)和(2)之后执行特殊的功能。
当然,不仅这样的程序,而且记录所述程序的介质都落入本发明的范围之内。实现本发明的功能的程序可被保存在任意计算机可读记录介质中,比如软盘、MO、CD-ROM、DVD、硬盘装置、ROM、MRAM或RAM。为了把这样的程序保存到记录介质中,程序可下载自通过通信网络连接的另一数据处理系统,或者复制自另一记录介质。此外,这样的程序可被压缩或分成几个部分,以便保存在单个或多个记录介质中。注意当然可以各种形式提供用于实现本发明的程序产品。
根据上面的说明可明白,按照本实施例,能够构成联合数据库系统,所述联合数据库系统能够以较低的成本高效地处理数据库查询。
对于本领域的技术人员来说,显然可对上述实施例做出各种修改或改进。例如,如上所述,按照本实施例的联合数据库系统220及分布数据库系统230和240由多个硬件(服务器)实现。但是,本发明并不局限于任何特殊的硬件配置。具体地说,联合数据库系统220,以及分布数据库系统230和230可在同样的一个硬件(计算机设备)中操作,或者在不同的多个硬件中操作。注意这样的修改或改进当然也落入本发明的技术范围内。
Claims (18)
1.一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的系统,所述第二数据是第一数据的副本,所述系统包括:
与第一数据对应的第一虚拟表;
与第二数据对应的第二虚拟表;
作为为第一和第二虚拟表所共用而提供的虚拟表的通用表;
其中记录第一和第二虚拟表与通用表之间的关系的列表,
生成部分,用于按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案;和
选择部分,用于从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。
2.按照权利要求1所述的系统,还包括:
评估部分,用于估计所述两个或更多的存取方案中每一个的成本,其中
选择部分根据所述评估部分估计的存取方案的成本,从所述两个存取方案中选择存取方案。
3.按照权利要求1所述的系统,其中为了生成存取方案,生成部分从数据库查询获得通用表的名称,利用列表从通用表的名称获得第一和第二虚拟表的名称,改写数据库查询,以致数据库查询中的通用表的名称被第一或第二虚拟表的名称替代,并编译改写的查询。
4.按照权利要求1所述的系统,还包括:
存储部分,用于高速缓存由生成部分生成的两个或更多的存取方案。
5.按照权利要求4所述的系统,还包括:
评估部分,用于估计所述两个或更多存取方案中每一个的成本,其中
存储部分还高速缓存由评估部分估计的存取方案的成本。
6.按照权利要求4所述的系统,其中如果在存储部分中没有高速缓存任何存取方案,那么生成部分生成存取方案。
7.按照权利要求4所述的系统,其中如果一个或多个存取方案被高速缓存在存储部分中,那么选择部分从高速缓存的一个或多个存取方案中选择一个存取方案。
8.按照权利要求1所述的系统,还包括:
执行部分,用于利用选择部分所选择的存取方案执行数据库查询。
9.按照权利要求1所述的系统,还包括:
接收部分,用于接收经由网络从客户端发送的数据库查询。
10.按照权利要求1所述的系统,其中数据库查询采用结构化查询语言(SQL)格式。
11.按照权利要求4所述的系统,还包括:
管理部分,用于一旦第一或第二数据变得不可用,就禁用高速缓存的其中使用所述第一或第二虚拟表的存取方案。
12.按照权利要求11所述的系统,还包括:
监视部分,用于监视第一和第二数据库是否可用,一旦第一或第二数据库变得不可用,就向管理部分通知第一或第二数据库已变得不可用。
13.按照权利要求11所述的系统,其中一旦不可用的第一或第二数据再次变得可用,管理部分就启用被禁用的存取方案。
14.按照权利要求1所述的系统,还包括:
管理部分,用于一旦新创建了第一数据的副本,就把指示新副本的创建的信息添加到其中使用通用表的存取方案中。
15.按照权利要求14所述的系统,其中如果存在指示新副本的创建的信息,那么生成部分生成关于新副本的另一存取方案。
16.按照权利要求15所述的系统,还包括:
存储部分,用于高速缓存所述另一存取方案。
17.计算机系统中的一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的方法,所述第二数据是第一数据的副本,所述计算机系统包括与第一数据对应的第一虚拟表,与第二数据对应的第二虚拟表,作为为第一和第二虚拟表所共用而提供的虚拟表的通用表,和其中记录第一和第二虚拟表与通用表之间的关系的列表,所述方法包括下述步骤:
按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案;和
从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。
18.一种集成包含第一数据的第一数据库和包含第二数据的第二数据库的程序产品,所述第二数据是第一数据的副本,所述程序产品使计算机系统执行下述步骤,所述计算机系统包括与第一数据对应的第一虚拟表,与第二数据对应的第二虚拟表,作为为第一和第二虚拟表所共用而提供的虚拟表的通用表,和其中记录第一和第二虚拟表与通用表之间的关系的列表:
按照所述列表,从对通用表的数据库查询生成其中使用第一和第二虚拟表至少之一的两个或者更多的存取方案;和
从所述两个或者更多的存取方案中选择将用于执行所述数据库查询的存取方案。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006294295A JP5068062B2 (ja) | 2006-10-30 | 2006-10-30 | データベースを統合するためのシステム、方法、およびプログラム |
JP2006294295 | 2006-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101174267A true CN101174267A (zh) | 2008-05-07 |
Family
ID=39422784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101483146A Pending CN101174267A (zh) | 2006-10-30 | 2007-08-31 | 集成数据库的系统、方法和程序产品 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8965912B2 (zh) |
JP (1) | JP5068062B2 (zh) |
CN (1) | CN101174267A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314381A (zh) * | 2010-07-02 | 2012-01-11 | 上海宝信软件股份有限公司 | 一种提高信息系统可用性的集成设备及其方法 |
WO2014094331A1 (zh) * | 2012-12-19 | 2014-06-26 | 广东电子工业研究院有限公司 | 可实现多属性复合条件查询的虚拟表索引机制及方法 |
CN105144162A (zh) * | 2013-04-30 | 2015-12-09 | 西斯特米特公司 | 集成数据库框架 |
CN107305581A (zh) * | 2016-04-25 | 2017-10-31 | 华为技术有限公司 | 分布式数据库系统中的表连接方法及分布式数据库系统 |
CN108664516A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 查询优化方法及相关装置 |
CN111046066A (zh) * | 2019-12-09 | 2020-04-21 | 上海达梦数据库有限公司 | 远程数据库对象的优化方法、装置、设备及存储介质 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9095685B2 (en) | 2008-01-23 | 2015-08-04 | Mediguide Ltd. | Sensor mounted flexible guidewire |
US8108382B1 (en) * | 2008-12-29 | 2012-01-31 | Teradata Us, Inc. | Optimizing the execution of a query in a multi-database system |
US8150808B2 (en) | 2009-10-21 | 2012-04-03 | Delphix Corp. | Virtual database system |
US8161077B2 (en) | 2009-10-21 | 2012-04-17 | Delphix Corp. | Datacenter workflow automation scenarios using virtual databases |
JP5061173B2 (ja) * | 2009-11-13 | 2012-10-31 | 株式会社日立製作所 | データベース管理方法、データベース管理装置及びデータベース管理プログラム |
US9106591B2 (en) | 2009-12-24 | 2015-08-11 | Delphix Corporation | Adaptive resource management using survival minimum resources for low priority consumers |
JP5357068B2 (ja) * | 2010-01-20 | 2013-12-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、情報処理システム、データ・アーカイブ方法およびデータ削除方法 |
US8548944B2 (en) | 2010-07-15 | 2013-10-01 | Delphix Corp. | De-duplication based backup of file systems |
JP5598177B2 (ja) * | 2010-08-31 | 2014-10-01 | 富士通株式会社 | 情報検索装置、情報検索プログラム、及び情報検索方法 |
US8468174B1 (en) | 2010-11-30 | 2013-06-18 | Jedidiah Yueh | Interfacing with a virtual database system |
CN103514229A (zh) * | 2012-06-29 | 2014-01-15 | 国际商业机器公司 | 用于在分布式数据库系统中处理数据库数据的方法和装置 |
US9229983B2 (en) * | 2012-11-30 | 2016-01-05 | Amazon Technologies, Inc. | System-wide query optimization |
WO2016092604A1 (ja) * | 2014-12-08 | 2016-06-16 | 株式会社日立製作所 | データ処理システムおよびデータアクセス方法 |
US9934278B2 (en) * | 2015-05-04 | 2018-04-03 | Quest Software Inc. | Method of optimizing complex SQL statements using a region divided preferential SQL rewrite operation |
JP6531587B2 (ja) * | 2015-09-16 | 2019-06-19 | 富士通株式会社 | データベースシステム、データベースアクセス方法、データベースアクセスプログラム、及び、情報処理装置 |
US11379486B2 (en) | 2019-09-20 | 2022-07-05 | Sap Se | Virtual database tables with updatable logical table pointers |
US11321344B2 (en) | 2019-09-20 | 2022-05-03 | Sap Se | Virtual database tables with updatable logical table pointers |
JP7472078B2 (ja) | 2021-05-20 | 2024-04-22 | 株式会社東芝 | データ仮想化装置及び方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH022459A (ja) * | 1987-12-11 | 1990-01-08 | Hewlett Packard Co <Hp> | 問合わせ処理方法 |
US5675785A (en) * | 1994-10-04 | 1997-10-07 | Hewlett-Packard Company | Data warehouse which is accessed by a user using a schema of virtual tables |
US5897632A (en) * | 1996-08-27 | 1999-04-27 | At&T Corp | Method and system for using materialized views to evaluate queries involving aggregation |
US5926819A (en) | 1997-05-30 | 1999-07-20 | Oracle Corporation | In-line triggers |
US5864840A (en) * | 1997-06-30 | 1999-01-26 | International Business Machines Corporation | Evaluation of existential and universal subquery in a relational database management system for increased efficiency |
JPH11126209A (ja) * | 1997-10-23 | 1999-05-11 | Toshiba Corp | 情報処理装置及び方法並びに情報処理プログラムを記録した記録媒体 |
JPH11213014A (ja) | 1997-11-19 | 1999-08-06 | Nippon Steel Corp | データベースシステム、データベース検索方法及び記録媒体 |
US6199063B1 (en) * | 1998-03-27 | 2001-03-06 | Red Brick Systems, Inc. | System and method for rewriting relational database queries |
US6205451B1 (en) | 1998-05-22 | 2001-03-20 | Oracle Corporation | Method and apparatus for incremental refresh of summary tables in a database system |
US6353818B1 (en) * | 1998-08-19 | 2002-03-05 | Ncr Corporation | Plan-per-tuple optimizing of database queries with user-defined functions |
US6546381B1 (en) * | 1998-11-02 | 2003-04-08 | International Business Machines Corporation | Query optimization system and method |
US5991754A (en) | 1998-12-28 | 1999-11-23 | Oracle Corporation | Rewriting a query in terms of a summary based on aggregate computability and canonical format, and when a dimension table is on the child side of an outer join |
US6618719B1 (en) * | 1999-05-19 | 2003-09-09 | Sybase, Inc. | Database system with methodology for reusing cost-based optimization decisions |
US7167853B2 (en) | 1999-05-20 | 2007-01-23 | International Business Machines Corporation | Matching and compensation tests for optimizing correlated subqueries within query using automatic summary tables |
US6560593B1 (en) | 1999-07-20 | 2003-05-06 | Computer Associates Think, Inc. | Method and apparatus for viewing the effect of changes to an index for a database table on an optimization plan for a database query |
US6345272B1 (en) * | 1999-07-27 | 2002-02-05 | Oracle Corporation | Rewriting queries to access materialized views that group along an ordered dimension |
JP2001084257A (ja) * | 1999-09-13 | 2001-03-30 | Hitachi Ltd | 問合せ処理方法及びシステム |
JP4552242B2 (ja) * | 1999-10-06 | 2010-09-29 | 株式会社日立製作所 | 仮想表インタフェースと該インタフェースを用いた問合せ処理システム及び方法 |
US6496828B1 (en) * | 1999-12-17 | 2002-12-17 | International Business Machines Corporation | Support for summary tables in a heterogeneous database environment |
US6526403B1 (en) * | 1999-12-17 | 2003-02-25 | International Business Machines Corporation | Method, computer program product, and system for rewriting database queries in a heterogenous environment |
US6738756B1 (en) * | 2000-06-30 | 2004-05-18 | Ncr Corporation | Analysis method and apparatus for a parallel system |
US6567802B1 (en) | 2000-09-06 | 2003-05-20 | The Trustees Of The University Of Pennsylvania | Systematic approach to query optimization |
US6581055B1 (en) * | 2000-09-11 | 2003-06-17 | Oracle International Corporation | Query optimization with switch predicates |
US7133876B2 (en) | 2001-06-12 | 2006-11-07 | The University Of Maryland College Park | Dwarf cube architecture for reducing storage sizes of multidimensional data |
US6708179B1 (en) | 2001-09-28 | 2004-03-16 | Oracle International Corporation | Incremental refresh of materialized views for many-to-many relationships |
US7111020B1 (en) | 2002-03-26 | 2006-09-19 | Oracle International Corporation | Incremental refresh of materialized views containing rank function, and rewrite of queries containing rank or rownumber or min/max aggregate functions using such a materialized view |
US7440963B1 (en) | 2002-05-08 | 2008-10-21 | Oracle International Corporation | Rewriting a query to use a set of materialized views and database objects |
US7181450B2 (en) | 2002-12-18 | 2007-02-20 | International Business Machines Corporation | Method, system, and program for use of metadata to create multidimensional cubes in a relational database |
CA2414983A1 (en) | 2002-12-23 | 2004-06-23 | Ibm Canada Limited-Ibm Canada Limitee | Independent deferred incremental refresh of materialized views |
CA2414980A1 (en) | 2002-12-23 | 2004-06-23 | Ibm Canada Limited-Ibm Canada Limitee | Deferred incremental integrity maintenance of base tables having contiguous data blocks |
US7165072B2 (en) | 2003-03-26 | 2007-01-16 | Taiwan Semiconductor Manufacturing Company, Ltd. | Method for merging information from effective dated base tables |
US7472112B2 (en) * | 2003-06-23 | 2008-12-30 | Microsoft Corporation | Distributed query engine pipeline method and system |
US7383246B2 (en) | 2003-10-31 | 2008-06-03 | International Business Machines Corporation | System, method, and computer program product for progressive query processing |
US7240078B2 (en) | 2003-11-25 | 2007-07-03 | International Business Machines Corporation | Method, system, and program for query optimization with algebraic rules |
US7089225B2 (en) * | 2003-11-25 | 2006-08-08 | International Business Machines Corporation | Efficient heuristic approach in selection of materialized views when there are multiple matchings to an SQL query |
US20050125325A1 (en) | 2003-12-08 | 2005-06-09 | Chai Zhong H. | Efficient aggregate summary views of massive numbers of items in highly concurrent update environments |
US7376638B2 (en) | 2003-12-24 | 2008-05-20 | International Business Machines Corporation | System and method for addressing inefficient query processing |
US7287048B2 (en) | 2004-01-07 | 2007-10-23 | International Business Machines Corporation | Transparent archiving |
US7739262B2 (en) * | 2004-03-19 | 2010-06-15 | Microsoft Corporation | Enforcing currency and consistency constraints in database query processing |
US7734602B2 (en) * | 2004-04-14 | 2010-06-08 | Oracle International Corporation | Choosing whether to use a delayed index maintenance depending on the portion of the materialized view (MV) changed |
US20070094237A1 (en) * | 2004-12-30 | 2007-04-26 | Ncr Corporation | Multiple active database systems |
US7599925B2 (en) * | 2005-03-31 | 2009-10-06 | Microsoft Corporation | Using query expression signatures in view matching |
US7895186B2 (en) | 2005-03-31 | 2011-02-22 | Oracle International Corp. | Method and mechanism of materialized view mix incremental refresh |
US7890508B2 (en) | 2005-08-19 | 2011-02-15 | Microsoft Corporation | Database fragment cloning and management |
US7702619B2 (en) * | 2005-09-23 | 2010-04-20 | Alan El-Sabbagh | Methods and systems for joining database tables using indexing data structures |
US8204876B2 (en) * | 2006-03-13 | 2012-06-19 | Oracle International Corporation | Dynamic materialized view ranging |
-
2006
- 2006-10-30 JP JP2006294295A patent/JP5068062B2/ja not_active Expired - Fee Related
-
2007
- 2007-08-31 CN CNA2007101483146A patent/CN101174267A/zh active Pending
- 2007-10-29 US US11/926,504 patent/US8965912B2/en not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314381A (zh) * | 2010-07-02 | 2012-01-11 | 上海宝信软件股份有限公司 | 一种提高信息系统可用性的集成设备及其方法 |
WO2014094331A1 (zh) * | 2012-12-19 | 2014-06-26 | 广东电子工业研究院有限公司 | 可实现多属性复合条件查询的虚拟表索引机制及方法 |
CN105144162A (zh) * | 2013-04-30 | 2015-12-09 | 西斯特米特公司 | 集成数据库框架 |
US10296542B2 (en) | 2013-04-30 | 2019-05-21 | Systemite Ab | Integration database framework |
CN105144162B (zh) * | 2013-04-30 | 2019-07-26 | 西斯特米特公司 | 集成数据库框架 |
CN107305581A (zh) * | 2016-04-25 | 2017-10-31 | 华为技术有限公司 | 分布式数据库系统中的表连接方法及分布式数据库系统 |
CN107305581B (zh) * | 2016-04-25 | 2020-06-16 | 华为技术有限公司 | 分布式数据库系统中的表连接方法及分布式数据库系统 |
US11163741B2 (en) | 2016-04-25 | 2021-11-02 | Huawei Technologies Co., Ltd. | Table connection method in distributed database system and distributed database system |
CN108664516A (zh) * | 2017-03-31 | 2018-10-16 | 华为技术有限公司 | 查询优化方法及相关装置 |
CN111046066A (zh) * | 2019-12-09 | 2020-04-21 | 上海达梦数据库有限公司 | 远程数据库对象的优化方法、装置、设备及存储介质 |
CN111046066B (zh) * | 2019-12-09 | 2023-05-12 | 上海达梦数据库有限公司 | 远程数据库对象的优化方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20080306904A1 (en) | 2008-12-11 |
JP2008112289A (ja) | 2008-05-15 |
JP5068062B2 (ja) | 2012-11-07 |
US8965912B2 (en) | 2015-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101174267A (zh) | 集成数据库的系统、方法和程序产品 | |
US20240020295A1 (en) | Incremental refresh of a materialized view | |
CN1535434B (zh) | 用于在日志监视器结合了可动态再定义的商业逻辑的情况下保持大粒度数据库并发的系统和方法 | |
CN102770849B (zh) | 当应用基于用户的安全性时优化数据高速缓存 | |
US9135071B2 (en) | Selecting processing techniques for a data flow task | |
CN1955967B (zh) | 用于计算机数据库系统的装置和方法 | |
JP2009515258A (ja) | 電子カタログにアイテム属性を保存するシステムおよび方法 | |
CN101196896A (zh) | 文档提供系统和方法 | |
US20060004686A1 (en) | Real-time reporting, such as real-time reporting of extrinsic attribute values | |
WO2015041714A1 (en) | Interest-driven business intelligence systems including event-oriented data | |
JPS62126458A (ja) | デ−タ・オブジエクト変更管理方法 | |
CN100555286C (zh) | 在传送字节串数据期间进行动态数据格式化的方法和系统 | |
CN101410836A (zh) | 向应用提供对存储在数据库中的数据的访问的方法 | |
CN101652744A (zh) | 打印管理系统、打印管理方法以及程序 | |
WO2007021254A2 (en) | Systems and methods for integrating from data sources to data target locations | |
JP2009146350A (ja) | サービス管理装置及びデータアクセス制御装置及びデータ検索方法 | |
US6748389B1 (en) | Method, system, and program for inverting columns in a database table | |
TW520476B (en) | System and method for retrieving data from a database using a data management system | |
CN101211362B (zh) | 用于数据库更新管理的系统和方法 | |
JP5984355B2 (ja) | 分散型データベースシステムおよび分散型データ処理システム | |
CN1987860A (zh) | 表示数据的连续集的方法和装置 | |
US10423639B1 (en) | Automated customization preservation | |
CN107451202A (zh) | 一种数据访问方法及设备 | |
US20040193655A1 (en) | Journal obtaining-distributing apparatus, journal obtaining-distributing method, and program used to direct computer to use method thereof | |
US8849974B2 (en) | Social network based information discovery about network data processing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080507 |