9633051

Backup of Partitioned Database Tables

PublishedApril 25, 2017
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
22 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A system, comprising: one or more processors; a memory coupled to the one or more processors; and a plurality of storage nodes, each of which comprises one or more storage devices or logical storage volumes; wherein the memory stores program instructions that when executed by the one or more processors cause the one or more processors to implement a distributed database service; wherein the distributed database service maintains data for a table in one or more partitions, and wherein to maintain the data in the one or more partitions, the distributed database service is configured to store two or more replicas of each of the one or more partitions on respective storage devices or logical storage volumes of respective ones of the plurality of storage nodes; wherein a request router component of the distributed database service is configured to: receive a request to back up the table in a remote storage system; and wherein in response to the request, an administrative component of the distributed database service is configured to: initiate an independent backup operation for each of the one or more partitions in which the partition is uploaded to the remote storage system as a respective individual item to be stored in the remote storage system; and update metadata about the table to indicate that a backup operation for the table is in progress.

2

2. The system of claim 1 , wherein the one or more partitions comprises two or more partitions, and wherein the independent backup operations for at least two of the two or more partitions are performed substantially concurrently.

3

3. The system of claim 1 , wherein the remote storage system comprises a key-value durable storage system; wherein the distributed database service is configured to generate a respective backup identifier for each of the one or more partitions; and wherein the respective backup identifier for the each of the one or more partitions is usable as a key for accessing the partition in the key-value durable storage system subsequent to the partition being uploaded to the remote storage system.

4

4. The system of claim 1 , wherein to initiate the independent backup operation for each of the one or more partitions, the administrative component is configured to invoke an asynchronous workflow manager process, and wherein the workflow manager process is configured to monitor and coordinate the upload of the one or more partitions to the remote storage system.

5

5. The system of claim 1 , wherein the distributed database service is configured to receive and service requests to access the table for reading or writing subsequent to initiation of the independent backup operations for each of the one or more partitions and prior to completion of the upload of the one or more partitions to the remote storage system.

6

6. A method, comprising: performing by one or more computers: storing a table in a distributed data storage system, wherein the distributed data storage system stores data for the table in a set of multiple partitions on respective storage devices or logical storage volumes of one or more storage nodes; receiving a request to back up the table; and in response to said receiving, performing an independent backup operation for each of two or more partitions in the set of partitions in which data for the table is stored, wherein the independent backup operations for at least two of the two or more partitions are performed substantially concurrently.

7

7. The method of claim 6 , further comprising, in response to said receiving, generating a respective, unique backup identifier for each of the two or more partitions.

8

8. The method of claim 7 , wherein said performing an independent backup operation for each of the two or more partitions comprises uploading a copy of each of the two or more partitions to a remote storage system along with its respective, unique backup identifier.

9

9. The method of claim 6 , wherein said performing an independent backup operation for each of the two or more partitions comprises uploading metadata about each of the two or more partitions of the table to the remote storage system.

10

10. The method of claim 6 , wherein said performing an independent backup operation for each of the two or more partitions comprises uploading a consistent view of each of the two or more partitions to a remote storage system, but does not guarantee that the consistent views of the two or more partitions that are uploaded to the remote storage system constitute a consistent view of the table.

11

11. The method of claim 6 , further comprising: storing metadata about the table in the distributed data storage system; and in response to said receiving, updating the metadata about the table to indicate that a backup operation is in progress for the table.

12

12. The method of claim 6 , wherein storing data for the table in multiple partitions on respective storage devices or logical storage volumes of one or more storage nodes comprises storing two or more replicas of each of the two or more partitions on respective storage devices or logical storage volumes of one or more storage nodes, wherein the two or more replicas of each of the two or more partitions constitute a replica group for the partition; wherein the method further comprises storing metadata about each of the two or more partitions of the table in the distributed data storage system; and wherein the metadata about each of the two or more partitions of the table comprises information about the members of the replica group for the partition.

13

13. The method of claim 12 , wherein said performing an independent backup operation for each of the two or more partitions comprises uploading a copy of one of the replicas of each of the two or more partitions to a remote storage system.

14

14. The method of claim 13 , wherein one of the replicas in the replica group for each partition acts as a master replica for the partition; and wherein uploading a copy of a particular one of the replicas of a given one of the partitions that is not the one of the replicas acting as a master replica for the replica group for the given partition comprises delaying said uploading until all write operations that were received by the master replica prior to said receiving a request to back up the table have been applied to the particular one of the replicas.

15

15. The method of claim 6 , further comprising: subsequent to said performing, receiving a request to restore the table from a remote storage system in which it was backed up; and in response to receiving the request to restore the table: creating a new table in which to restore the data for the table; and initiating an operation to import each of the two or more partitions into the new table from the remote storage system.

16

16. The method of claim 6 , wherein in response to said receiving a request to back up the table and prior to said performing an independent backup operation for each of the two or more partitions, the method comprises obtaining a list of the multiple partitions in which data for the table is stored; and wherein said performing an independent backup operation for each of the two or more partitions comprises: initiating performance of an independent backup operation for each of the multiple partitions on the list; subsequent to said initiating, determining that the set of partitions in which data for the table is stored has changed; and in response to said determining that the set of partitions in which data for the table is stored has changed, obtaining a current list of partitions in which data for the table is stored, wherein the current list of partitions comprises the two or more partitions.

17

17. The method of claim 16 , wherein said determining that the set of partitions in which data for the table is stored has changed comprises determining that an additional partition stores data for the table, that a partition on the list has been deleted, that a partition on the list has been split into two or more new partitions, or that a partition on the list has been merged with another partition.

18

18. A non-transitory, computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computers to perform: receiving, by a distributed data storage system, a request to back up a table stored in the distributed data storage system, wherein the distributed data storage system stores data for the table in two or more partitions on respective storage devices or logical storage volumes on respective ones of a plurality of storage nodes of the distributed data storage system; and in response to said receiving: performing an independent backup operation for each of the two or more partitions, wherein said performing an independent backup operation for each of the two or more partitions comprises uploading a consistent view of each of the two or more partitions to a remote storage system, but does not guarantee that the consistent views of the two or more partitions that are uploaded to the remote storage system constitute a consistent view of the table.

19

19. The non-transitory, computer-readable storage medium of claim 18 , wherein the request to back up a table is received via an application programming interface (API) provided by the distributed data storage system.

20

20. The non-transitory, computer-readable storage medium of claim 18 , wherein said receiving a request to back up a table comprises receiving a request to perform a backup operation for the table on a periodic basis or on a pre-determined schedule.

21

21. The non-transitory, computer-readable storage medium of claim 18 , wherein when executed on the one or more computers, the program instructions further cause the one or more computers to perform: receiving one or more transactions directed to the table, wherein each of the transactions comprises one or more write operations directed to a respective one of the two or more partitions; associating a log identifier with each of the one or more transactions, wherein the log identifier associated with each of the one or more transactions is unique among the log identifiers associated with transactions directed to a same one of the two or more partitions, and wherein the log identifiers associated with transactions directed to a same one of the two or more partitions constitute an ordered sequence of log identifiers for the partition; and for each of the one or more transactions: applying all of the one or more write operations to the respective partition to which they are directed or applying none of the one or more write operations to the respective partition to which they are directed.

22

22. The non-transitory, computer-readable storage medium of claim 21 , wherein said uploading a consistent view of each of the two or more partitions to a remote storage system comprises, for each of the two or more partitions: applying to the partition all of the one or more write operations of transactions directed to the partition and received prior to said receiving a request to back up the table such that all transactions associated with log identifiers in the ordered sequence of log identifiers for the partition up to and including a transaction associated with a given log identifier in the ordered sequence of log identifiers for the partition are guaranteed to have been applied to the partition, wherein the given log identifier is associated with the most recently received transaction that was received prior to said receiving a request to back up the table; and subsequent to said applying, exporting the partition for uploading to the remote storage system.

Patent Metadata

Filing Date

Unknown

Publication Date

April 25, 2017

Inventors

MAXIMILIANO MACCANTI
TIMOTHY ANDREW RATH
RAMA KRISHNA SANDEEP POKKUNURI
AKSHAT VIG
CLARENCE WING YIN NG
SRIVATHS BADRINATH COPPARAM
RAJAPRABHU THIRUCHI LOGANATHAN
WEI XIAO
WILLIAM ALEXANDER STEVENSON

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “BACKUP OF PARTITIONED DATABASE TABLES” (9633051). https://patentable.app/patents/9633051

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.