IP Library › Granted Patent US 10,754,870
Granted Patent B2
US 10,754,870 · App. 15/611,521 · Granted Aug 25, 2020

Hash-based database update

Inventor: Kavin Khatri (Brisbane, AU)
Assignee: SAP SE
G06F16/258G06F16/21G06F16/2282G06F16/2365
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,754,870
App. No.
15/611,521
Granted
Aug 25, 2020
Kind
B2
Abstract

A method may include generating a first hash value that is representative of a current configuration of a database storing a plurality of data records. A change in the configuration of the database may be detected based on the first hash value and a second hash value representative of a previous configuration of the database. The configuration of the database may include a plurality of database tables available for storing the plurality of data records. In response to detecting the change in the configuration of the database, the database may be updated by at least transforming the plurality of data records in accordance with the current configuration of the database. Related methods and articles of manufacture, including computer program products, are also disclosed.

Claims (38)

1. A system, comprising:

at least one data processor; and

at least one memory storing instructions which, when executed by the at least one data processor, result in operations comprising:

generating a first hash value representative of a current global configuration of a database storing a plurality of data records, the current global configuration of the database being applicable to all of a plurality of database tables available at the database for storing the plurality of data records;

in response to the first hash value being equal to a second hash value representative of a previous global configuration of the database, generating a third hash value representative of a current local configuration of the database, the current local configuration of the database being applicable to one of the plurality of database tables available for storing at least a portion of the plurality of data records;

detecting, based at least on the third hash value and a fourth hash value representative of a previous local configuration of the database, a change in a local configuration of the database; and

in response to detecting the change in the local configuration of the database, updating the database by at least transforming at least the portion of the plurality of data records in accordance with the current local configuration of the database.

2. The system of claim 1 , further comprising:

determining, based at least on the first hash value being equal to the second hash value, that a global configuration of the database has not changed;

determining, based at least on the third hash value being equal to the fourth hash value, that the local configuration of the database has not changed; and

in response to determining that the global configuration and the local configuration of the database have not changed, updating the database by at least one of inserting, deleting, and updating one or more of the plurality of data records.

3. The system of claim 1 , wherein the plurality of database tables includes a fact table and at least one dimension table, the fact table including a key that maps to a corresponding key in the at least one dimension table.

4. The system of claim 3 , wherein the at least one dimension table includes one or more columns for storing attributes associated with a corresponding dimension.

5. The system of claim 4 , wherein the configuration of the database at least indicates the fact table, the at least one dimension table, and the one or more columns as being available for storing the plurality of data records.

6. The system of claim 5 , wherein the change in the configuration of the database comprises at least one of adding and removing the fact table, the at least one dimension table, or the one or more columns available for storing the plurality of data records.

7. The system of claim 1 , wherein the generation of the first hash value comprises applying a hash function to an extensible markup language (XML) representation of the current configuration of the database.

8. The system of claim 1 , further comprising:

storing the first hash value in place of the second hash value, the storing of the first hash value enabling a detection of a subsequent change in the configuration of the database.

9. A computer-implemented method, comprising:

generating a first hash value representative of a current global configuration of a database storing a plurality of data records, the current global configuration of the database being applicable to all of a plurality of database tables available at the database for storing the plurality of data records;

in response to the first hash value being equal to a second hash value representative of a previous global configuration of the database, generating a third hash value representative of a current local configuration of the database, the current local configuration of the database being applicable to one of the plurality of database tables available for storing at least a portion of the plurality of data records

detecting, based at least on the third hash value and a fourth hash value representative of a previous local configuration of the database, a change in a local configuration of the database; and

in response to detecting the change in the local configuration of the database, updating the database by at least transforming at least the portion of the plurality of data records in accordance with the current local configuration of the database.

10. The computer-implemented method of claim 9 , further comprising:

determining, based at least on the first hash value being equal to the second hash value, that a global configuration of the database has not changed;

determining, based at least on the third hash value being equal to the fourth hash value, that the local configuration of the database has not changed; and

in response to determining that the global configuration and the local configuration of the database have not changed, updating the database by at least one of inserting, deleting, and updating one or more of the plurality of data records.

11. The computer-implemented method of claim 9 , wherein the plurality of database tables includes a fact table and at least one dimension table, the fact table including a key that maps to a corresponding key in the at least one dimension table.

12. The computer-implemented method of claim 11 , wherein the at least one dimension table includes one or more columns for storing attributes associated with a corresponding dimension.

13. The computer-implemented method of claim 12 , wherein the configuration of the database at least indicates the fact table, the at least one dimension table, and the one or more columns as being available for storing the plurality of data records.

14. The computer-implemented method of claim 13 , wherein the change in the configuration of the database comprises at least one of adding and removing the fact table, the at least one dimension table, or the one or more columns available for storing the plurality of data records.

15. The computer-implemented method of claim 9 , further comprising:

storing the first hash value in place of the second hash value, the storing of the first hash value enabling a detection of a subsequent change in the configuration of the database.

16. A non-transitory computer-readable storage medium including program code, which when executed by at least one data processor, cause operations comprising:

generating a first hash value representative of a current global configuration of a database storing a plurality of data records, the current global configuration of the database being applicable to all of a plurality of database tables available at the database for storing the plurality of data records;

in response to the first hash value being equal to a second hash value representative of a previous global configuration of the database, generating a third hash value representative of a current local configuration of the database, the current local configuration of the database being applicable to one of the plurality of database tables available for storing at least a portion of the plurality of data records

detecting, based at least on the third hash value and a fourth hash value representative of a previous local configuration of the database, a change in a local configuration of the database; and

in response to detecting the change in the local configuration of the database, updating the database by at least transforming at least the portion of the plurality of data records in accordance with the current local configuration of the database.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2017
From: KHATRI, KAVIN
To: SAP SE
Reel/Frame 042603/0469 →
Continuity (1)
Related Publication 20180349453A1 · Dec 6, 2018