IP Library › Granted Patent US 8,892,504
Granted Patent B2
US 8,892,504 · App. 12/908,565 · Granted Nov 18, 2014

Method and system for reconciling meta-data in a data warehouse

Inventor: Winnie Tak Yu Wan (Menlo Park, CA)
Assignee: Oracle International Corporation
G06F17/30557
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,892,504
App. No.
12/908,565
Granted
Nov 18, 2014
Kind
B2
Abstract

A data warehouse system comprising a warehouse database and a data warehouse manager communicatively coupled to the database. The warehouse manager is to store data to and retrieve data from the warehouse database and perform metadata reconciliation to update metadata of objects in the data warehouse to reflect a change in metadata of a first object in the warehouse by identifying a first set of objects impacted by the change to the metadata of the first object, identifying a second set of objects on which the first object depends, identifying at least one task that has to be completed to propagate the impact of the change in the metadata of the first object to objects in the first and second sets of objects, performing the task, and dynamically computing additional tasks based on whether or not definitions of objects in the first or second sets of objects changes based upon completion of the at least one task.

Claims (42)

1. A data warehouse system comprising: one or more computer systems, a warehouse database hosted by said one or more computer systems;

a data warehouse manager hosted by the one or more computer systems configured to (i) store metadata providing definitions of objects stored in the warehouse database and (ii) perform metadata reconciliation to update metadata of the objects stored in the warehouse database to reflect a change to metadata of a first object by:

identifying metadata of a first set of objects which depend on the first object and are impacted by the change to the metadata of the first object based on a dependency model having a set of rules that govern relationships between objects, metadata of each object in the first set of objects defining its corresponding object differently from the metadata of the first object;

identifying metadata of a second set of objects on which the first object depends and are impacted by the change to the metadata of the first object based on the dependency model, metadata of each object in the second set of objects defining its corresponding object differently from the metadata of the first object;

suggesting to a user via a user interface at least one task to propagate the impact of the change to the metadata of the first object to metadata of at least one object in the first and second sets of objects;

determining one or more additional tasks to propagate a determined impact of a determined change to metadata of an object based on whether definitions of objects in the first or second sets of objects change in response to completion of the at least one task; and

suggesting to the user via the user interface the one or more additional tasks determined based on whether the definitions of objects in the first and second sets of objects change in response to completion of the at least one task.

2. The data warehouse system set forth in claim 1 further comprising a database server operatively coupled to process queries against the warehouse database.

3. The data warehouse system set forth in claim 1 wherein the data warehouse manager is further configured to perform transformations of data stored in a plurality of database sources.

4. The data warehouse system set forth in claim 1 the data warehouse manager is further configured to generate updated versions of objects in the first and second sets of objects whose metadata changes based upon completion of the at least one task.

5. The data warehouse system set forth in claim 1 wherein the data warehouse manager is further configured to manage hierarchical dependencies among objects based on dependency documents for the dependency model that conform to a common dependency format.

6. The data warehouse system set forth in claim 1 wherein the data warehouse manager is configured to allow a user to select an object and preview a potential impact to objects in the first and second sets of objects whose metadata in the data warehouse changes by an impending change to the definition of the object.

7. The data warehouse system set forth in claim 1 wherein the data warehouse manager is configured to generate a script of all changes needed to the warehouse system in order to reconcile the change to the metadata of the first object based on suggestions presented via the user interface that are selected by the user.

8. The data warehouse system set forth in claim 7 wherein the data warehouse manager is further configured to execute the script in response to a command from the user.

9. The data warehouse system set forth in claim 1 wherein the data warehouse manager is configured to suggest editing metadata of an object as a task that propagates the change to the metadata of the first object to other objects.

10. A method for managing a data warehouse, the method comprising:

receiving, at one or more computer systems, an impending change in a definition of a first object related to data stored in the data warehouse;

identifying, with one or more processors associated with one or more computer systems, a set of objects that are impacted by the impending change to the definition of the first object based on a dependency model having a set of one or more dependency rules that govern hierarchical dependencies between objects, each of the one or more rules specified in a dependency document declared by a user using a common format to specify a non-peer-to-peer relationship between a plurality of objects;

determining, with the one or more processors associated with the one or more computer systems, at least one task to propagate impact of the impending change in the definition of the first object to metadata of one or more objects in the identified set of objects;

determining, with the one or more processors associated with the one or more computer systems, one or more additional tasks based on whether a definition of one or more objects in the identified set of objects changes in response to completion of the at least one task; and

generating, with the one or more processors associated with the one or more computer systems, a graphical user interface having a list of tasks potentially involved in keeping the data warehouse in sync that includes completion of the at least one task to propagate the impact of the impending change in the definition of the first object to the metadata of objects in the identified set of objects and the one or more additional tasks determined based on whether the definition of one or more objects in the identified set of objects changes in response to completion of the at least one task.

11. The method of claim 10 further comprising generating a script of all changes needed to the warehouse system in order to reconcile the change to the definition of the first object.

12. The method of claim 11 further comprising executing the script in response to a command from a user.

13. The method of claim 10 wherein the graphical user interface includes a graph of the identified set of objects that visually depicts relationships between the first object and objects in the identified set of objects.

14. The method of claim 13 wherein the graphical user interface includes a graph of the second identified set of objects that visually depicts relationships between a selected object and objects in the identified set of objects.

15. The method of claim 10 wherein determining the at least one task is part of a recursive algorithm that, for each object in the identified set of objects, includes a lineage analysis within an impact analysis.

16. A non-transitory computer-readable medium storing computer-executable code for managing a data warehouse, the non-transitory computer-readable medium comprising:

code for receiving an impending change in a definition of a first object related to data stored in the data warehouse;

code for identifying a set of objects that are impacted by the impending change to the definition of the first object based on a dependency model having a set of one or more dependency rules that govern hierarchical dependencies between objects, each of the one or more rules specified in a dependency document declared by a user using a common format to specify a non-peer-to-peer relationship between a plurality of objects;

code for determining at least one task to propagate impact of the impending change in the definition of the first object to metadata of one or more objects in the identified set of objects;

code for determining one or more additional tasks based on whether a definition of one or more objects in the identified set of objects changes in response to completion of the at least one task; and

code for a graphical user interface having a list of tasks potentially involved in keeping the data warehouse in sync that includes completion of the at least one task to propagate the impact of the impending change in the definition of the first object to the metadata of objects in the identified set of objects and the one or more additional tasks determined based on whether the definition of one or more objects in the identified set of objects changes in response to completion of the at least one task.

17. The non-transitory computer-readable medium of claim 16 further comprising code for generating a script of all changes needed to the warehouse system in order to reconcile the change to the metadata of the first object.

18. The non-transitory computer-readable medium of claim 17 further comprising code for executing the script in response to a command from a user.

19. A data system comprising: one or more computer systems, a database hosted by said one or more computer systems; and

a data manager hosted by the one or more computer systems and communicatively coupled to the database and configured to (i) store data to and retrieve data from the database and (ii) perform metadata reconciliation to update database schemas of objects used during transformations of the data stored in the database from one or more sources to reflect a change in a definition of a first object by:

identifying metadata of a set of intermediate objects which depend on the first object and are impacted by the change to the definition of the first object, each intermediate object in the set of objects being part of a transformation of data from at least one of the one or more source to the first object;

identifying at least one task to propagate the impact of the change in the definition of the first object to a database schema of one or more intermediate objects in the set of intermediate objects;

dynamically computing which additional tasks are suggested to a user via a graphical user interface to generate updated versions of intermediate objects in the set of intermediate objects in response to completion of the at least one task.

20. The data system set forth in claim 19 further comprising a database server operatively coupled to process queries against the database.

21. The data system set forth in claim 19 wherein the data manager is configured to generate a script of all changes needed to the data system in order to reconcile the change to the metadata of the first object.

22. The data system set forth in claim 21 wherein the data manager is further configured to execute the script in response to a command from the user.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2014
From: WAN, WINNIE TAK YU
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 034090/0041 →
Continuity (4)
Continuation 10849425 · May 18, 2004
Continuation In Part 10293627 · Nov 12, 2002
Provisional Application 60500448 · Sep 5, 2003
Related Publication 20110035354A1 · Feb 10, 2011