CN105144162B - 集成数据库框架 - Google Patents
集成数据库框架 Download PDFInfo
- Publication number
- CN105144162B CN105144162B CN201480023125.4A CN201480023125A CN105144162B CN 105144162 B CN105144162 B CN 105144162B CN 201480023125 A CN201480023125 A CN 201480023125A CN 105144162 B CN105144162 B CN 105144162B
- Authority
- CN
- China
- Prior art keywords
- database
- data item
- link
- mode
- creating
- 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.)
- Active
Links
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/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
数据库系统包括第一数据库(10),其包括数据库管理器(11)和具有使数据库管理器能够存储并访问第一数据库中的数据项(14a、14b)的规则集合的模式(12),和存储多个数据项(24a、24b)的第二数据库(20)。模式(12)还包括使数据库管理器(11)能访问第二数据库(20)中的数据项(24a、24b)的至少一个子集的规则(25')。第一数据库还包括从主要项(14a)指向存储在第一数据库(10)中的辅助项(24b)的副本(14b)的第一链接(26),和从副本(14b)指向第二数据库(20)中的辅助项(24a)的第二链接(27)。根据本发明,有可能使用复制以便实现集成,与仅仅为了允许访问或实现减小的访问延迟的目的而进行的常规复制形成对比。
Description
技术领域
本发明涉及用于创建不同数据库之间的链接的方法。一般目的是实现不同数据库之间信息的集成,使得对信息的集中访问可以被提供用于包括在集成框架中的任何类型的数据库。
发明背景
在许多组织中,由个人用户使用的信息被存储在多个数据库中。对此可能有几个原因,而使用许多不同的计算机工具非常经常地导致在不同数据库中的存储。
其中特别相关的一个环境是产品或系统开发。目前有许多不同的计算机系统开发工具;每个在具体的开发任务或领域中被专门化。这样的示例是需求管理/工程设计工具、系统架构工具、自动化测试工具、UML工具以仅举几例。
为了使开发高效,由工具存储在不同数据库中的信息需要进行管理。这种管理包括寻找在不同工具中的相关的信息、可追溯的任务,生成从不同工具收集信息的报告,从另一个工具获取一个工具中的信息,等等。
在历史上,集成开发工具已集中在用于工具之间的信息传送的信息格式,或者用于特定工具的完整集成解决方案。这种方法一直不太成功,主要是因为集成的限制和成本,相反市面上已经出现了用于信息的普遍交换的标准,其更深入到各种工具中的信息的解释和管理。这种标准的示例包括需求交换格式(RIF)(如参见http://en.wikipedia.org/ wiki/Requirements Interchange Format)和XMI(如参见http://www.omq.org/spec/ XMI/)。
这些方法的限制在于它们局限于从一个工具到另一个工具的离散和专门的信息传送。它们没有对信息被存储在不同数据库中的问题提供更系统的解决方案。
具有其数据项的标识的任何数据库可以通过对使用该标识的数据项的引用来集成到另一个数据库中,从而形成“链接”。图1示出从第一数据库2中的主要项1至第二数据库4中的辅助项3的链接5。为了使链接有效,还必须有访问使用该标识的辅助项3的方式。这种简单的链接,比如在HTTP中使用的超链接,支持对数据的访问并且支持结构中从一个数据元素到另一个数据元素的可能的导航或浏览。然而,使用这种方法,不可能跟踪反向链接,即在数据库4中检测到实际上有对数据项3的引用。这样的结果是,数据的完整性不能在一个数据库中得到保持;如果项3被删除,链接“被破坏”。此外,不可能对多个数据源中的数据执行集合运算。这样的集合运算的实例是在SQL数据库中可用的“联合”运算。
为了克服这些限制,来自一个数据库的数据元素可以代替被复制到另一个数据库中。这示于图2。这里,辅助项的拷贝(副本)6被存储在第一数据库2中。该副本6可以从主数据项1被访问,并使得对数据的访问更快,因为只有一个数据库被涉及,并且还可以使能集合运算。
但是,这种方法也有其他限制。首先,没有系统方式来实现集成(复制),所以其必须从每个数据库到另一个数据库来执行。此外,一旦已进行复制,第一数据库及其管理系统不能确定该项是副本,更不用说确定原始项被存储在何处。为了处理这样的问题,利用通过复制的集成的常规数据库,需要额外的应用软件来跟踪哪些项实际上是副本,并处理这些副本和原始项之间的关系。
具有上述缺点中的至少一些的、用于管理和更新来自不同源的数据的系统的一个示例由WO2008151423公开。
发明内容
本发明的一个目的是克服这个问题以及其他问题,并提供不同数据库之间的链接,其提供对分布在几个数据库中的信息的系统集成。
根据本发明的第一方面,这个目的以及其他目的通过包括第一数据库和第二数据库的数据库系统来实现,第一数据库包括数据库管理器和具有使数据库管理器能够存储和访问第一数据库中的数据项的规则集合的模式,第二数据库存储多个数据项,该模式还包括使数据库管理器能够访问第二数据库中的数据项的至少一个子集的规则。此外,该模式包括多个数据项类型,数据项类型每个包括指示数据项是否是第二数据库中的辅助项的副本的标记字段。第一数据库还包括第一数据库中的主要项和第二数据库中的辅助项之间的链接,该链接包括从主要项指向存储在第一数据库中的辅助项的副本的第一链接,和从副本指向第二数据库中的辅助项的第二链接。
根据本发明的第二方面,这个目的以及其他目的通过用于创建第一数据库和第二数据库之间的链接的方法来实现,第一数据库包括数据库管理器和包括使数据库管理器能够存储和访问第一数据库中的主数据项的规则集合的模式,且第二数据库存储多个辅助数据项。该方法包括扩展该模式以包括使数据库管理器能够访问在第二数据库中的项的至少一个子集的规则,该模式包括多个数据项类型,数据项类型每个包括指示数据项是否是在第二数据库中的辅助项的副本的标记字段;接收对建立从第一数据库中的主要项到第二数据库中的辅助项的链接的请求;验证该模式包括使数据库管理器能够访问辅助项的访问规则;由数据库管理器访问辅助项;以及在第一数据库中存储辅助项的副本,创建从副本到辅助项的链接并且创建从主要项到副本的链接。
表述“数据库”这里是用在广义上,表示根据确定的原理提供数据项的存储的任何数据源。这样的数据源的示例是关系型数据库和对象数据库,但也可以是支持包括在文件(像GUID,UUID,例如参见http://en.wikipedia.org/wiki/GUID,http:// en.wikipedia.org/wiki/UUID)中的数据项的某种ID的任何计算机文件。
数据库模式定义存储在数据库中的数据项,包括数据项的类型,以及不同数据项之间的可能关联。该模式还可以创建允许数据库项的创建的基础数据结构。例如,在关系型数据库中,由关系模式定义的表格结构是存储表中的关系所必需的。在对象数据库中,该模式定义存储在数据库中的所有对象类型和对象链接。
根据本发明,特定数据库(第一数据库)的模式被扩展到不仅覆盖该特定数据库中的数据项,而且还覆盖潜在地存储在其他外部数据库中的数据项。换句话说,一个单一的模式将包括与一个以上的数据库有关的数据项类型、关联、存储结构等的定义。公共模式额外描述信息以增强对与存储在第二数据库中的、未在第一数据库中被表示的数据相关的信息的访问(缩短的延迟时间,提高的可用性)。这通过指示数据项仅存储在第二数据库中的特定类型或者标记来实现。第一数据库将因此仅存储指向该数据项的指针或“句柄(handle)”。
扩展模式包括用于数据项的集成和访问所需的所有信息。这样的扩展模式从而使第二数据库中的内容可从第一数据库访问,以允许一种新型的链接。这样的链接将包括两个部分;从主要项指向副本的第一部分,和从副本指向第二数据库中的辅助项本身的第二部分。
根据本发明,有可能使用复制以便实现集成,这与仅仅为了允许访问或实现减小的访问延迟的目的而进行的常规的复制形成对比。
使用根据本发明的数据库项之间的链接,存储在不同数据库中信息的集成成为可能,因为信息是可追踪的且数据交换是可能的。此外,可以关于根据本发明集成的所有数据库实现联合数据的完整性。扩展模式将能知道哪些项事实上是副本,并确保这些项由现有的DBMS,数据库管理系统相应地管理。
第一数据库可以被用作“集成”数据库,提供对用户用几个不同的计算机工具工作所需要的所有信息的访问。这使得能够从一个单一的入口点定位及访问不同的数据库中的所有相关的数据。集成(第一)数据库从而将存储由各种工具使用的、存储在任何其他(第二)数据库中的任何信息的表示(副本)。
根据本发明的数据库之间的集成基于扩展模式,允许存储在不同数据库中的数据被集成到公共模式,使得数据可以被追踪并以统一和有效的方式保持一致。集成和复制能力意味着数据可以在一个单一的数据库中被查询,而原始数据可驻留在一些其他数据库实例中。
部分复制的选项意味着复制的数据项可以在集成数据库中被查询,而与复制的数据项相关的其他数据项可以在辅助步骤中被有效查询,因为相关数据的源位置被存储在集成数据库中。
根据本发明的集成支持不同数据库之间数据的可选的系统迁移。在第一步骤中,数据可以从原始数据库被复制到集成数据库,然后,在当在复制完成时的第二步骤中,原始数据库可以被视为冗余。在第三可选步骤中,一些其他数据库实例可以被设定作为新的原始数据库。
根据一个实施例,扩展模式用来使得由组织使用的所有数据库可从一个单一的系统入口点进行访问。换句话说,扩展模式描述可以存储以及访问的所有类型的信息,数据的所有部分之间的关系,以及数据的格式和解释。
辅助数据库可以包含额外的内容(某些类型的全部数据项,某些类型的数据项的部分,等等),其没有被扩展模式覆盖。为了定义主数据库和辅助数据库之间的关系,这样的数据则必须不是至关重要的。
扩展模式可以被预先定义。或者,它可以通过对特定数据库的模式的自动检查而被创建和扩展。
扩展模式可根据对象数据库原理或关系型数据库原理来定义。
扩展模式典型地描述以下信息:
-可以被存储在第一数据库或第二数据库中的数据项的类型;
-对于存储在第二数据库中的数据项,访问第二数据库中的数据项的位置和方法;
-存储在第一数据库或者第二数据库中的数据之间的关系类型。
公共模式可以额外地描述以下信息,以增强对信息的访问(缩短的延迟时间,提高的可用性):
-到用于特定类型的数据项的默认的第二数据库的地址。这样的默认地址将使该特定类型的数据项能够可以在第一数据库中被创建,但仍包括指向第二数据库中“原始”数据项的指针。第一数据库中的项将因此实际上是副本,即使它已经在第一数据库中被创建。这样的地址可被表示为互联网IP地址或计算机名称,使得其唯一地标识给定的计算机网络内数据库的位置。(http://en.wikipedia.org/wiki/Igp address)。关于默认数据库的信息也可以用于改进对可能起源自多个数据源的特定类型的数据的随机搜索,假设搜索不能基于第一数据库中可用的数据。
附图说明
本发明将参照附图进行更详细地描述,示出本发明的当前优选实施例。
图1示出两个数据库之间的常规的链接。
图2示出从一个数据库到另一个数据库的数据项的复制。
图3是实现本发明的数据库系统的示意性框图。
图4是根据本发明的实施例的方法的流程图。
具体实施方式
本发明将在下文中参照示例性数据库进行描述,这不应被认为是限制本发明的概念。
图3中的数据库10包括数据库管理系统(DBMS)11,其物理地存储模式层12和项目层13。未在图1中示出数据库物理层,其是计算机存储器或磁盘中的模式层12和项目层13的实际存储,未示出是因为有许多物理层的公知实现,脱离本公开的范围。
数据库模式层12(或简称模式)定义存储在项目层13中的所有数据项14a,14b。依赖于数据库的类型,模式12可能会有所不同。例如,在关系型数据库管理系统(RDBMS)中,该模式定义RDB的表,而在对象数据库中,该模式定义存储在数据库中的所有对象类型和对象链接。在示出的实例中,模式12存储项目类型15a,15b以及关联类型16,它们分别定义项目层13中的数据项14a,14b以及在那些数据项之间的关联(或链接)。该模式还可以创建项目层中的基本数据结构,其允许数据项的创建和存储。
项目层13符合模式12,从这个意义上来说,只有符合模式12的这种数据项14可以被存储在项目层13中。正是数据库管理系统11提供对于项目层13的外部访问,并且因此确保项目层13总是符合模式12。
图3进一步示出第二数据库20,其也包括DBMS 21、模式层22以及项目层23。该项目层存储符合模式22中的数据类型25的数据项24。
如在图3中进一步说明,根据本发明,模式12被扩展到也合并存储在第二数据库20中的数据项24(以及任何关系)的定义。这使数据库10中的DBMS 11能够访问这些数据项并且还对这些数据项进行操作。这在图3中以模式12中的虚线框25'示意性地示出,指示模式12现在包括访问数据项24的信息。
根据一个实施例,由集成数据库10的DBMS 11访问以及处理第二数据库20中的项所需的定义25'使用生命周期协作开放服务(OSCL)进行提供,(http://open- services.net/)。这个标准提供将来自一个数据库的类型定义并入到另一个数据库的系统化的方法。
为了允许DBMS 11在保持完整性的情况下管理在两个不同的数据库10、20中的数据项14a、14b、24,重要的是DBMS 11可以确定项目是仅存储在第一数据库10中的“原始”项14a,还是其实际上是储存在第二数据库20中的辅助项24的副本14b。为此,每个项目类型15a、15b包括指示数据项14a、14b是否为这种特定类型15a、15b、15c的标记19:
1.仅驻留在同一个数据库实例(这里:第一数据库10)中,
2.是最初存储在外部数据库(这里:第二数据库20)中的项的副本
3.仅驻留在外部数据库中,或
4.可选地驻留在外部数据库中。
第一个实例(类型15a)对应于仅存储在第一数据库中的数据项14a。数据项14a符合对于第一数据库10是唯一的类型15a。这类似于大多数常规数据库解决方案,其中所有的数据项被存储在一个数据库中。
第二个实例(类型15b)对应于数据项14b,其是第二数据库20中的辅助数据项24a的拷贝(副本)。辅助项24a确认模式22中的类型25。项14b符合类型15b,其包括或引用,如以上所解释的实质上等于类型25的类型25'。这意味着,第一数据库10中的DBMS 11可以访问基于类型25'的内容辅助项24a。
第二个实例因此对应于图1以及2中所示的现有技术解决方案的组合。这允许将在第一数据库10(也被称为“集成”数据库)中的主要项14和第二数据库20(也称为“外部”数据库)中的辅助项24a之间创建新型的链接,类似于图1。然而,根据本发明,此链接被分为两个链接:从主要项14a指向副本14b的第一(内部)链接26和从副本14b指向原始辅助项24a的第二(外部)链接27。内部链接26的性质将依赖于数据库10及其模式12。例如,在关系型数据库的情况下,链接26将包括指向副本14b的ID的ID引用(IDref)。在对象数据库的情况下,链接26将是特定类型(例如以上讨论的类型16)的关联。外部链接27将典型地需要将地址28存储到第二数据库20的副本14b以及需要对原始数据项24a的标识符(ID)30的引用29。
复制使得从数据库10访问数据项24a更快,因为只涉及一个数据库。然而,通过扩展数据库10的模式12以允许还访问原始项24a,完整性也可以被实现。特别是,任何在数据项14b(副本)上的创建或写操作必须触发通过数据库管理系统11在第二数据库20中的原始数据项24a上的相应的创建或写操作。
应当指出的是,副本14b中不一定是项24a的完整拷贝。如果适当的话,副本可以是部分的,减少集成数据库10中需要的存储容量。可能不需要的信息的示例是关于来自项24a的链接的信息。在极端的情况下,副本被减小到地址字段,即没有数据的项,而只是到项24a的链接。如果复制是不完整的,则类型15b指示这种可能性是需要的。
在第三个实例下(类型15c),数据项24b只被存储在第二数据库20中。这个实例类似于图1中的情形,但是提供了更系统的方法来提供此功能。这意味着,包括通过数据库10中的DBMS 11对这样的数据项、它们的属性或与其他数据项的关系的读或写操作的任何访问,必须被引导至外部数据库20。就像类型15b,类型15c也包括或引用类型25',从而使DBMS11能访问数据库20中的数据项24b。例如,如图3所示,项14a可以包括至数据项24b的引用(链接)36。在这种情况下,数据项14a将需要存储到外部数据库的地址和数据项24b的识别符(未示出)。
为了提供集成数据库10中的类型15b或15c(上述实例2以及3)的项的创建操作,模式12必须包括集成数据库10的默认地址35,或可选地此信息必须由创建操作的用户提供。这种数据项被创建为集成数据库的DBMS的复制请求的一部分,指明相应数据项的原始数据库和标识符。
第四个实例基本上是第一和第二个实例的混合,并且将不详细地讨论。这种类型的项可以只存储在集成数据库10中(第一个实例),或者可以是被复制的项,即在外部数据库20中起初被创建的项(第二个实例)。根据第四个实例的具有标记的任何类型的项,必须反过来包括指示其是否是副本的标记。
在对象数据库的情况中,根据上述四个实例之一的同一种标记19也可用于每个关联类型16。
参考图4,根据本发明的实施例的、建立在第一数据库10中的主要项14a和第二数据库20中的辅助项24a之间的链接的过程将被讨论。
首先,在步骤S1中,模式11被扩展成包括项24a的类型25的定义。显然,此步骤可能已经在其余步骤之前的很长时间被执行。
然后,在步骤S2中,到第二数据库20中项24a的链接的请求由DBMS 11接收。在此时(步骤S3),DBMS 11确定其模式12实际上被扩展成处理数据库20中的类型25的项。当被确认时,在步骤S4中,DBMS 11进行到访问数据库20中的项24a,并且创建数据库10中的拷贝(副本)14b。副本包括第二数据库20的地址,以及对项24a的ID 30的引用,从而创建从副本14b到辅助项24a的链接27(步骤S5)。DBMS最后(步骤S6)创建从主要项14a到副本14b的链接26。
在下文中,所需用于如上所述的实例1、2、3以及4的数据库操作将参考图3进行讨论。
实例1类似于根据现有技术的数据库操作,即创建,读取,更新以及删除操作由DBMS 11根据用户的命令,关于根据第一数据库10的模式12的数据库的数据项而执行(http://en.wikipedia.org/wiki/Create,read,update and delete)。
实例2以及4涉及数据库20中的辅助项24a的副本14b。当外部(第二)数据库20中的数据项24a独立于对集成(第一)数据库10的操作而被创建,更新或删除,因此其必须通过一些方式来进行检测以及管理。常规方法包括在第二数据库中使用所谓的触发器以及基于修改的时间的修改的数据项的预定分析。这样的更新然后必须由相应的命令被映射到包括用于创建操作的外部数据项ID 30的设置的集成数据库10的DBMS 11。由于不存在关于这种情况的系统的解决方案,必须通过额外的应用软件来解决,因此它不是根据本发明的优选的替代方案。然而,在第二数据库中的操作在集成(第一)数据库10被设定之前进行的情况下,此将对应于未集成数据库的常见的、初始的情形,其中需要使用根据现有技术的方法以便建立一致的集成状态,其中第二数据库中的所有要被复制的数据项实际上是被复制到集成数据库中。
此使用实例也对应于实例3,其中没有关于数据项的特定类型15c的复制被执行,即必须针对特定的外部数据库执行读取操作。
对于实例2,有两种不同的创建操作。
(实例2a)如果存在根据模式12为数据类型定义的默认的外部数据库35,创建命令可以被集成数据库10的DBMS 11执行。对于那种情况,数据项24a首先使用模式12中记录的方法在第二数据库20中被创建。如果此步骤成功,然后在第二步骤中复制的数据项14b在集成数据库10中被创建,紧接如上面所描述的复制的数据项的数据结构,包括第二数据库20中数据项24a的ID 29。
(实例2b)如果没有在对于数据类型的模式12中定义的默认的外部数据库,对DBMS11的创建命令必须包括对第二数据库20的访问的身份、位置和方法,否则创建命令不能被集成数据库10的DBMS 11创建。数据项24a、14b然后以与上述(使用实例2a)相同的方式在第二以及第一数据库中被创建,不同之处在于访问的身份、位置和方法接着被存储用于集成数据库中的特定数据项。
当副本项14b已经根据上面的实例2a或2b被创建时,一致性复制状态在第一和第二数据库之间被保持,且对第一数据库的读取操作将与对第二数据库的读取操作产生相同的结果。任何对集成数据库10中的副本数据项的更新或删除操作将首先使用所存储的集成数据库10中的数据项14b的访问的身份、位置和方法,作为对第二数据库20中的项24a的相应的操作来执行。当该操作成功完成时,集成数据库10中的数据项14b将在第二步骤中以相同的方式被修改。
任何更新或删除操作必须坚持完整性政策(http://en.wikipedia.org/wiki/ Data integrity),包括外部以及集成数据库的引用完整性,其中每个数据库的DBMS 11、21将为它们的部分负责。在更新或删除操作针对外部数据库失败的情况下,操作必须被中断,并且也针对集成数据库进行反转。在删除将违反集成数据库的完整性的情况下,删除操作必须不被调用到第一地点的外部数据库。注意,更新和删除操作之间存在的区别在于,外部以及集成数据库中的更新操作应遵循相同的完整性约束,只要外部数据库的模式的这些特性被假设为被集成数据库的模式映射。然而,在数据库之一中的删除操作可能会成功,而同时,另一个数据库中的相同的删除操作由于在该数据库中的可能的额外的链接或引用而不成功。
对于实例3,所有对集成数据库的DMBS的数据库操作将被转发到外部数据库的DBMS,其中访问的身份、位置和方法还必须被提供,前提是这些不作为默认值被包括在集成数据库的模式中。
对于实例4,对集成数据库的DBMS的数据库操作或者可以根据需要被执行作为如下操作:1)根据实例1,只针对集成数据库的操作,或实例2)仅对外部数据库的操作,其中对外部数据库的访问的身份、位置和方法还必须在操作中被提供,其中该操作将以用于与上面描述的实例3相同的方式被执行,或者3)对两个数据库的操作,其中该操作将以与用于上面描述的2b相同的方式被执行。根据集成数据库的数据库模式中的数据项类型,对外部数据库的访问的身份、位置和方法可以被包括在命令中,或者默认值可以被使用。
上面描述的对外部以及集成数据库的联合操作的优选实现是采用数据库事务的方式(http://en.wikipedia.org/wiki/Database transaction),从而在任一数据库中的失败操作可以被联合回滚到与两个数据库的操作之前的状态相同的状态。注意,这样的事务可能必须作为两个数据库中的独立的事务来执行,其中回滚需要单独针对每个数据库执行,随着来自请求用于外部数据库的命令的集成数据库的DBMS被控制,操作可能对于它们中的任一个失败。
本领域技术人员认识到,本发明决不是局限于上述优选实施方式。与此相反,在所附权利要求的范围之内的许多修改和变化是可能的。例如,一个以上的“第二”数据库是可能的。
Claims (35)
1.一种用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,
所述第一数据库(10)包括数据库管理器(11)和模式(12),所述模式(12)包括使所述数据库管理器能够存储并访问所述第一数据库中的第一主数据项(14a)和第二主数据项(14b)的规则集合,
所述第二数据库(20)存储第一辅助数据项(24a)和第二辅助数据项(24b),
所述方法包括:
步骤S1:扩展所述模式(12),以包括使所述数据库管理器能够访问所述第二数据库(20)中的所述第一辅助数据项和所述第二辅助数据项的至少一个子集的规则(25'),其中所述模式包括多个数据项类型,所述多个数据项类型中的每个均包括指示所述第二主数据项(14b)是否是所述第二数据库(20)中的所述第一辅助数据项(24a)的副本的标记字段(19),
步骤S2:接收对建立从所述第一数据库中的所述第一主数据项(14a)到所述第二数据库中的所述第一辅助数据项(24a)的链接的请求,
步骤S3:验证所述模式(12)包括使所述数据库管理器能够访问所述第一辅助数据项和/或所述第二辅助数据项的访问规则,
步骤S4:由所述数据库管理器(11)访问所述第一辅助数据项(24a)并在所述第一数据库中存储所述第一辅助数据项(24a)的副本,
步骤S5:创建从所述副本到所述第一辅助数据项(24a)的链接(27),以及
步骤S6:创建从所述第一主数据项(14a)到所述副本的链接(26)。
2.根据权利要求1所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述第一数据库(10)被用作集成数据库,提供对用户用几个不同的计算机工具工作所需的所有信息的访问。
3.根据权利要求2所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式被扩展以使所述数据库管理器能够访问由组织使用的任何数据库中的数据项。
4.根据前述权利要求中的任一项所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述第二数据库(20)存储未被所述模式的规则覆盖的额外的内容。
5.根据前述权利要求1-3中的任一项所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述副本不是所述第一辅助数据项(24a)的完整的拷贝。
6.根据权利要求4所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述副本不是所述第一辅助数据项(24a)的完整的拷贝。
7.根据前述权利要求1-3中的任一项所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,还包括在预定的时间点对所述副本执行更新以反映对所述第一辅助数据项进行的任何更改的步骤。
8.根据权利要求4所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,还包括在预定的时间点对所述副本执行更新以反映对所述第一辅助数据项进行的任何更改的步骤。
9.根据权利要求5所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,还包括在预定的时间点对所述副本执行更新以反映对所述第一辅助数据项进行的任何更改的步骤。
10.根据权利要求6所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,还包括在预定的时间点对所述副本执行更新以反映对所述第一辅助数据项进行的任何更改的步骤。
11.根据前述权利要求1-3中的任一项所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
12.根据权利要求4所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
13.根据权利要求5所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
14.根据权利要求6所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
15.根据权利要求7所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
16.根据权利要求8所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
17.根据权利要求9所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
18.根据权利要求10所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,扩展所述模式的步骤包括自动地检查特定数据库的模式并提取访问所述特定数据库中的数据项所需的规则。
19.根据前述权利要求1-3中的任一项所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
20.根据权利要求4所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
21.根据权利要求5所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
22.根据权利要求6所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
23.根据权利要求7所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
24.根据权利要求8所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
25.根据权利要求9所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
26.根据权利要求10所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
27.根据权利要求11所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
28.根据权利要求12所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
29.根据权利要求13所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
30.根据权利要求14所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
31.根据权利要求15所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
32.根据权利要求16所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
33.根据权利要求17所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
34.根据权利要求18所述的用于创建第一数据库(10)和第二数据库(20)之间的链接的方法,其中,所述模式根据对象数据库原理和关系型数据库原理之一被定义。
35.一种数据库系统,包括:
第一数据库(10),其包括数据库管理器(11)和模式(12),所述模式(12)具有使所述数据库管理器能够存储并访问所述第一数据库中的第一主数据项(14a)和第二主数据项(14b)的规则集合,
第二数据库(20),其存储第一辅助数据项(24a)和第二辅助数据项(24b),
所述模式(12)还包括使所述数据库管理器(11)能够访问所述第二数据库(20)中的所述第一辅助数据项(24a)和所述第二辅助数据项(24b)的至少一个子集的规则(25'),其中,所述模式(12)包括多个数据项类型(15a、15b、15c),所述多个数据项类型中的每个均包括指示所述第二主数据项(14b)是否是所述第二数据库(20)中的所述第一辅助数据项(24a)的副本的标记字段(19),
所述第一数据库还包括所述第一数据库中的所述第一主数据项和所述第二数据库中的所述第一辅助数据项之间的链接,所述链接包括第一链接(26)和第二链接(27),
所述第一链接(26)从所述第一主数据项(14a)指向存储在所述第一数据库(10)中的所述第一辅助数据项(24a)的副本,并且
所述第二链接(27)从所述副本指向所述第二数据库(20)中的所述第一辅助数据项(24a)。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP13002292.4A EP2800013B1 (en) | 2013-04-30 | 2013-04-30 | Integration database framework |
EP13002292.4 | 2013-04-30 | ||
PCT/EP2014/058600 WO2014177515A1 (en) | 2013-04-30 | 2014-04-28 | Integration database framework |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105144162A CN105144162A (zh) | 2015-12-09 |
CN105144162B true CN105144162B (zh) | 2019-07-26 |
Family
ID=48428304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480023125.4A Active CN105144162B (zh) | 2013-04-30 | 2014-04-28 | 集成数据库框架 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10296542B2 (zh) |
EP (1) | EP2800013B1 (zh) |
CN (1) | CN105144162B (zh) |
WO (1) | WO2014177515A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2800013B1 (en) * | 2013-04-30 | 2015-09-09 | Systemite AB | Integration database framework |
US10509770B2 (en) | 2015-07-13 | 2019-12-17 | Samsung Electronics Co., Ltd. | Heuristic interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device |
US11461010B2 (en) * | 2015-07-13 | 2022-10-04 | Samsung Electronics Co., Ltd. | Data property-based data placement in a nonvolatile memory device |
US10282324B2 (en) | 2015-07-13 | 2019-05-07 | Samsung Electronics Co., Ltd. | Smart I/O stream detection based on multiple attributes |
US10545955B2 (en) | 2016-01-15 | 2020-01-28 | Seven Bridges Genomics Inc. | Methods and systems for generating, by a visual query builder, a query of a genomic data store |
CN105740414A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 基于数据库的自描述数据模型结构 |
CN105740429A (zh) * | 2016-01-29 | 2016-07-06 | 山东鲁能智能技术有限公司 | 一种可扩展的数据库表结构 |
US10592493B1 (en) * | 2016-06-27 | 2020-03-17 | Amazon Technologies, Inc. | Spot-instanced bulk data uploading |
US20220067017A1 (en) * | 2020-08-31 | 2022-03-03 | Oracle International Corporation | Automatic, repetitive, and gradual shrink of very large database object structures |
CN113806364B (zh) * | 2021-08-28 | 2023-12-22 | 深圳特斯联智能科技有限公司 | 一种大数据存储系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1363886A (zh) * | 2000-12-19 | 2002-08-14 | 株式会社日立制作所 | 目标集成管理系统 |
CN101174267A (zh) * | 2006-10-30 | 2008-05-07 | 国际商业机器公司 | 集成数据库的系统、方法和程序产品 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5884321A (en) * | 1995-03-22 | 1999-03-16 | Meffert; Gregory John | Document image and query management system for application databases |
US6934749B1 (en) * | 2000-05-20 | 2005-08-23 | Ciena Corporation | Tracking distributed data retrieval in a network device |
US7003551B2 (en) * | 2000-11-30 | 2006-02-21 | Bellsouth Intellectual Property Corp. | Method and apparatus for minimizing storage of common attachment files in an e-mail communications server |
US6691139B2 (en) * | 2001-01-31 | 2004-02-10 | Hewlett-Packard Development Co., Ltd. | Recreation of archives at a disaster recovery site |
WO2005088481A1 (en) * | 2004-03-08 | 2005-09-22 | Transreplicator, Inc. | System for database relication of proprietary data transformation |
US20060277224A1 (en) * | 2005-06-07 | 2006-12-07 | Microsoft Corporation | Synchronizing arbitrary data using a flexible schema |
DE102006050112A1 (de) * | 2006-10-25 | 2008-04-30 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Erstellung einer Anforderungsbeschreibung für ein eingebettetes System |
US8468244B2 (en) * | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
WO2008151423A1 (en) * | 2007-06-10 | 2008-12-18 | Shopplex.Com Corporation | System and method for managing and updating data from a number of sources for a project |
US20090094229A1 (en) * | 2007-10-03 | 2009-04-09 | Mark Warne Ferrel | Method and apparatus for exploiting 'trace' function to support database integration |
US8335765B2 (en) * | 2009-10-26 | 2012-12-18 | Amazon Technologies, Inc. | Provisioning and managing replicated data instances |
US9525692B2 (en) * | 2012-10-25 | 2016-12-20 | Imprivata, Inc. | Secure content sharing |
EP2800013B1 (en) * | 2013-04-30 | 2015-09-09 | Systemite AB | Integration database framework |
-
2013
- 2013-04-30 EP EP13002292.4A patent/EP2800013B1/en active Active
-
2014
- 2014-04-28 US US14/785,949 patent/US10296542B2/en active Active
- 2014-04-28 CN CN201480023125.4A patent/CN105144162B/zh active Active
- 2014-04-28 WO PCT/EP2014/058600 patent/WO2014177515A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1363886A (zh) * | 2000-12-19 | 2002-08-14 | 株式会社日立制作所 | 目标集成管理系统 |
CN101174267A (zh) * | 2006-10-30 | 2008-05-07 | 国际商业机器公司 | 集成数据库的系统、方法和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2014177515A1 (en) | 2014-11-06 |
EP2800013B1 (en) | 2015-09-09 |
US10296542B2 (en) | 2019-05-21 |
CN105144162A (zh) | 2015-12-09 |
EP2800013A1 (en) | 2014-11-05 |
US20160070819A1 (en) | 2016-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105144162B (zh) | 集成数据库框架 | |
RU2425417C2 (ru) | Платформа для служб передачи данных между несопоставимыми объектными сруктурами приложений | |
US7401085B2 (en) | System and method for controlling the release of updates to a database configuration | |
US20160371355A1 (en) | Techniques for resource description framework modeling within distributed database systems | |
US7421458B1 (en) | Querying, versioning, and dynamic deployment of database objects | |
JP5525541B2 (ja) | データ管理システム内のデータセットのインスタンスのマッピング | |
CN101727320B (zh) | 用于识别数据库更改对应用的影响的方法和系统 | |
Tesoriero | Getting started with OrientDB | |
US7730065B2 (en) | File formats for external specification of object-relational mapping | |
US20080140732A1 (en) | Method and system for sharing file based data | |
Rönnbäck et al. | Anchor modeling—Agile information modeling in evolving data environments | |
CN109947773A (zh) | 在多租户数据库系统中部署对键模式的改变 | |
US20080201355A1 (en) | Easily queriable software repositories | |
US8832022B2 (en) | Transaction processing device, transaction processing method and transaction processing program | |
CN102279873A (zh) | 对数据、模式,以及应用程序的统一并发变更 | |
JPWO2011108695A1 (ja) | 並列データ処理システム、並列データ処理方法及びプログラム | |
JP2006172446A (ja) | 複合データアクセス | |
CN105518669A (zh) | 数据模型改变管理 | |
Brunette et al. | ODK tables: building easily customizable information applications on Android devices | |
Jörg et al. | Formalizing ETL jobs for incremental loading of data warehouses | |
Schönig | Mastering PostgreSQL 12: Advanced techniques to build and administer scalable and reliable PostgreSQL database applications | |
GB2493963A (en) | Database record repair | |
CN107533559A (zh) | 数据结构、用于填充数据结构的模型以及使用数据结构对处理装置进行编程的方法 | |
JP2011013910A (ja) | 企業情報更新処理システム、企業情報更新処理方法、および企業情報更新プログラム | |
Yafooz et al. | FlexiDC: a flexible platform for database conversion |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |