IP Library Granted Patent US 10,025,568
Granted Patent B2
US 10,025,568 · App. 15/349,639 · Granted Jul 17, 2018

Database object lifecycle management

Inventors: Martin Mayer (Heidelberg, DE); Ulrich Auer (Hockenheim, DE); Arne Harren (Walldorf, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
G06F8/36G06F17/30292G06F17/30312
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 10,025,568
App. No.
15/349,639
Granted
Jul 17, 2018
Kind
B2
Abstract

In an example embodiment, relationships among a plurality of schemas are examined to remove any cyclic dependencies. Then a cycle-free graph of the cyclic dependencies is constructed. A first delivery mechanism is used to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, using the cycle-free graph. A second delivery mechanism is used to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, using the cycle-free graph.

Claims (67)

1. A non-transitory machine-readable storage medium comprising instructions which, when implemented by one or more machines, cause the one or more machines to perform operations comprising:

examining relationships among a plurality of database schemas to identify cross-schema dependencies, each cross-schema dependency being a dependency between two different database schemas;

constructing a cycle-free graph of the schema dependencies, removing any cyclic dependencies by eliminating any dependency from a first schema to a second schema if a dependency from the second schema to the first schema already exists in the cycle-free graph;

using a first delivery mechanism to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, by traversing the cycle-free graph and delivering to the first of the plurality of schemas any software objects, of the first database type, corresponding to a traversed node in the cycle-free graph;

using a second delivery mechanism to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, by traversing the cycle-free graph and delivering to the second of the plurality of schemas any software object, of the second database type, corresponding to a traversed node in the cycle-free graph; using the cycle-free graph; and

delaying deployment of any software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph until first use of the software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph.

2. The non-transitory machine-readable storage medium of claim 1 , wherein the deploying includes:

reading a list of objects defined in a change list;

identifying groups of objects from the change list that are to be created in different schemas;

determining a deploy sequence of the groups of objects; and

deploying the groups of objects based on the determined deploy sequence.

3. The non-transitory machine-readable storage medium of claim 2 , wherein the deploying the groups of objects based on the determined deploy sequence includes, for each object in each group of objects:

reading an object definition for the object from a definition store;

writing the object definition to a schema for the object;

writing a configuration to the schema for the object by converting a logical name for the schema to a physical name for the schema; and

creating the object in the schema for the object.

4. The non-transitory machine-readable storage medium of claim 2 , wherein the deploy sequence places objects that reference objects in other schemas first.

5. The non-transitory machine-readable storage medium of claim 1 , wherein the first schema is a relational database schema.

6. The non-transitory machine-readable storage medium of claim 1 , wherein the second schema is an in-memory database schema.

7. The non-transitory machine-readable storage medium of claim 1 , wherein the software objects include database views and/or synonyms.

8. A computerized method comprising:

examining relationships among a plurality of database schemas to identify cross-schema dependencies, each cross-schema dependency being a dependency between two different database schemas;

constructing a cycle-free graph of the schema dependencies, removing any cyclic dependencies by eliminating any dependency from a first schema to a second schema if a dependency from the second schema to the first schema already exists in the cycle-free graph;

using a first delivery mechanism to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, by traversing the cycle-free graph and delivering to the first of the plurality of schemas any software object, of the first database type, corresponding to a traversed node in the cycle-free graph;

using a second delivery mechanism to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, by traversing the cycle-free graph and delivering to the second of the plurality of schemas any software object, of the second database type, corresponding to a traversed node in the cycle-free graph;

using the cycle-free graph; and

delaying deployment of any software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph until first use of the software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph.

9. The method of claim 8 , wherein the delivering includes:

reading a list of objects defined in a change list;

identifying groups of objects from the change list that are to be created in different schemas;

determining a deploy sequence of the groups of objects; and

deploying the groups of objects based on the determined deploy sequence.

10. The method of claim 9 , wherein the deploying the groups of objects based on the determined deploy sequence includes, for each object in each group of objects:

reading an object definition for the object from a definition store;

writing the object definition to a schema for the object;

writing a configuration to the schema for the object by converting a logical name for the schema to a physical name for the schema; and

creating the object in the schema for the object.

11. The method of claim 9 , wherein the deploy sequence places objects that reference objects in other schemas first.

12. The method of claim 8 , wherein the first schema is a relational database schema.

13. The method of claim 8 , wherein the second schema is an in-memory database schema.

14. The method of claim 8 , wherein the software objects include database views and/or synonyms.

15. A non-transitory machine-readable storage medium comprising instructions, which when implemented by one or more machines, cause the one or more machines to perform operations comprising:

examining relationships among a plurality of database schemas to identify cross-schema dependencies, each cross-schema dependency being a dependency between two different database schemas;

constructing a cycle-free graph of the schema dependencies, removing any cyclic dependencies by eliminating any dependency from a first schema to a second schema if a dependency from the second schema to the first schema already exists in the cycle-free graph;

using a first delivery mechanism to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, by traversing the cycle-free graph and delivering to the first of the plurality of schemas any software object, of the first database type, corresponding to a traversed node in the cycle-free graph;

using a second delivery mechanism to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, by traversing the cycle-free graph and delivering to the second of the plurality of schemas any software object, of the second database type, corresponding to a traversed node in the cycle-free graph;

using the cycle-free graph; and

delaying deployment of any software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph until first use of that software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph

examining relationships among a plurality of database schemas to identify cross-schema dependencies, each cross-schema dependency being a dependency between two different database schemas;

constructing a cycle-free graph of the schema dependencies, removing any cyclic dependencies by eliminating any dependency from a first schema to a second schema if a dependency from the second schema to the first schema already exists in the cycle-free graph;

using a first delivery mechanism to deliver software objects of a first database type to a first of the plurality of schemas in a software object database, by traversing the cycle-free graph and delivering to the first of the plurality of schemas any software object, of the first database type, corresponding to a traversed node in the cycle-free graph;

using a second delivery mechanism to deliver software objects of a second database type to a second of the plurality of schemas in the software object database, by traversing the cycle-free graph and delivering to the second of the plurality of schemas any software object, of the second database type, corresponding to a traversed node in the cycle-free graph;

using the cycle-free graph; and

delaying deployment of any software objects of the first or second database type that do not correspond to a traversed node in the cycle-free graph until first use of the software object of the first or second database type that do not correspond to a traversed node in the cycle-free graph.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the delivering includes:

reading a list of objects defined in a change list;

identifying groups of objects from the change list that are to be created in different schemas;

determining a deploy sequence of the groups of objects; and

deploying the groups of objects based on the determined deploy sequence.

17. The non-transitory machine-readable storage medium of claim 16 , wherein the deploying the groups of objects based on the determined deploy sequence includes, for each object in each group of objects:

reading an object definition for the object from a definition store;

writing the object definition to a schema for the object;

writing a configuration to the schema for the object by converting a logical name for the schema to a physical name for the schema; and

creating the object in the schema for the object.

18. The non-transitory machine-readable storage medium of claim 16 , wherein the deploy sequence places objects that reference objects in other schemas first.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the first schema is a relational database schema.

20. The non-transitory machine-readable storage medium of claim 15 , wherein the second schema is an in-memory database schema.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2017
From: MAYER, MARTIN; AUER, ULRICH; HARREN, ARNE; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 040944/0029 →
Continuity (1)
Related Publication 20180136913A1 · May 17, 2018
Cited By (2)
US 12,254,021 US 12,561,225