IP Library Granted Patent US 10,810,248
Granted Patent B2
US 10,810,248 · App. 16/140,498 · Granted Oct 20, 2020

Upgrading a database from a first version to a second version

Inventors: Xiaoyi Tang (Petaluma, CA); Chaoqun Liu (San Francisco, CA); Prashasthi Prabhakar (San Bruno, CA); Serge Rielau (Alamo, CA); Jeff Cohen (Sunnyvale, CA); John Galloway (Alameda, CA); Mohan Singamshetty (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/41G06F11/1464G06F16/219
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,810,248
App. No.
16/140,498
Granted
Oct 20, 2020
Kind
B2
Abstract

A processor can produce a database catalog for a second version of a database management system of the database. The database catalog can store metadata related to definitions of objects or tables included in the second version of the database. A controller can be caused to be established in memory cells being used for the first version of the database. A copy of the database catalog for the second version of the database management system can be stored in the memory cells being used for the first version of the database. The controller, using the copy of the database catalog, can produce the second version of the database management system. The second version of the database management system can be caused to interact with data stored in a storage of the database. The storage can be included in the memory cells being used for the first version of the database.

Claims (58)

1. A method for upgrading a database from a first version to a second version, the method comprising:

operating, by a first processor, a first version of a database management system of the database;

operating, by a second processor, a second version of the database management system of the database;

receiving, by the second processor and from the first processor, a copy of a database application schema;

producing, by the second processor and using the second version of the database management system and the copy of the database application schema, an original version of a database catalog for the second version of the database management system;

receiving, by the first processor and from the second processor, a copy of the original version of the database catalog for the second version of the database management system;

producing, by the first processor, a catalog for an upgrade of the database, the catalog for the upgrade having tables and indices that are identical to tables and indices included in the copy of the original version of the database catalog for the second version of the database management system;

saving, by the first processor and in the catalog for the upgrade, the copy of the original version of the database catalog for the second version of the database management system; and

causing, by the first processor and for information in the catalog for the upgrade, a change in references to locations of data in the database from being with respect to an organization of the database according to the first version of the database management system to being with respect to an organization of the database according to the second version of the database management system.

2. The method of claim 1 , wherein the first processor is different from the second processor.

3. The method of claim 2 , wherein a processing speed of the second processor is less than a processing speed of the first processor.

4. The method of claim 1 , wherein a duration of time of an event in which, during the upgrade of the database, the database is unresponsive to a request is a short duration of time.

5. The method of claim 4 , wherein the short duration of time is less than or equal to thirty seconds.

6. The method of claim 1 , wherein an upgrade of the database application schema is suspended during the upgrade of the database.

7. The method of claim 1 , further comprising ceasing, by the first processor and in response to a completion of the change in references, an operation of the first version of the database management system by the first processor.

8. The method of claim 7 , further comprising starting, by the first processor and in response to the completion of the change in references, an operation of the second version of the database management system by the first processor, wherein the operation of the second version of the database management system by the first processor uses the catalog for the upgrade as a working version of the database catalog for the second version of the database management system.

9. The method of claim 8 , wherein the working version of the database catalog for the second version of the database management system is configured to store metadata related to the database application schema and related to the database management system.

10. The method of claim 8 , further comprising causing, by the first processor, the second version of the database management system to interact with data stored in a storage of the database.

11. The method of claim 10 , wherein the causing the second version of the database management system to interact with the data stored in the storage of the database is performed on a portion of the data in response to a request to access the portion of the data.

12. The method of claim 11 , wherein the upgrade of the database is performed in a manner that is imperceptible to a user of the database.

13. The method of claim 8 , further comprising:

ceasing, by a third processor and in response to the completion of the change in references, an operation of the first version of the database management system by the third processor; and

starting, by the third processor and in response to the completion of the change in references, an operation of the second version of the database management system by the third processor.

14. The method of claim 13 , wherein the ceasing by the third processor and the starting by the third processor occur after the ceasing by the first processor and the starting by the first processor.

15. The method of claim 14 , wherein the first processor and the third processor are associated with a same cluster of the database.

16. The method of claim 14 , wherein:

the first processor is associated with a primary cluster of the database; and

the third processor is associated with a disaster recovery cluster of the database.

17. A non-transitory computer-readable medium storing computer code for upgrading a database from a first version to a second version, the computer code including instructions to cause:

a second processor to:

operate a second version of a database management system of the database;

receive, from a first processor, a copy of a database application schema; and

produce, using the second version of the database management system and the copy of the database application schema, an original version of a database catalog for the second version of the database management system; and

the first processor to:

operate a first version of the database management system of the database;

receive, from the second processor, a copy of the original version of the database catalog for the second version of the database management system;

produce a catalog for an upgrade of the database, the catalog for the upgrade having tables and indices that are identical to tables and indices included in the copy of the original version of the database catalog for the second version of the database management system;

save, in the catalog for the upgrade, the copy of the original version of the database catalog for the second version of the database management system; and

cause, for information in the catalog for the upgrade, a change in references to locations of data in the database from being with respect to an organization of the database according to the first version of the database management system to being with respect to an organization of the database according to the second version of the database management system.

18. A system for upgrading a database from a first version to a second version, the system comprising:

a second processor configured:

operate a second version of a database management system of the database;

receive, from a first processor, a copy of a database application schema; and

produce, using the second version of the database management system and the copy of the database application schema, an original version of a database catalog for the second version of the database management system; and

the first processor configured to:

operate a first version of the database management system of the database;

receive, from the second processor, a copy of the original version of the database catalog for the second version of the database management system;

produce a catalog for an upgrade of the database, the catalog for the upgrade having tables and indices that are identical to tables and indices included in the copy of the original version of the database catalog for the second version of the database management system;

save, in the catalog for the upgrade, the copy of the original version of the database catalog for the second version of the database management system; and

cause, for information in the catalog for the upgrade, a change in references to locations of data in the database from being with respect to an organization of the database according to the first version of the database management system to being with respect to an organization of the database according to the second version of the database management system.

19. The system of claim 18 , wherein:

the first processor is further configured to:

cease, in response to a completion of the change in references, an operation of the first version of the database management system by the first processor; and

start, in response to the completion of the change in references, an operation of the second version of the database management system by the first processor, the operation of the second version of the database management system by the first processor using the catalog for the upgrade as a working version of the database catalog for the second version of the database management system; and

the system further comprises a third processor, the third processor configured to:

cease, in response to the completion of the change in references, an operation of the first version of the database management system by the third processor; and

start, in response to the completion of the change in references, an operation of the second version of the database management system by the third processor.

20. The system of claim 19 , wherein the first processor is located at a first site, the third processor is located at a second site, and the second site is remote from the first site.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2019
From: TANG, XIAOYI; LIU, CHAOQUN; PRABHAKAR, PRASHASTHI; RIELAU, SERGE; COHEN, JEFF; GALLOWAY, JOHN; SINGAMSHETTY, MOHAN
To: SALESFORCE.COM, INC.
Reel/Frame 047964/0816 →
Continuity (1)
Related Publication 20200097498A1 · Mar 26, 2020
Cited By (1)
US 12,737,169