Providing consistent tenant experiences for multi-tenant databases
First Claim
1. An apparatus for dynamic load allocation in a multi-tenant distributed database, comprising:
- system memory;
the system memory storing a mapping scheme that contains information associating a first tenant with a first database of the multi-tenant distributed database and information associating a second tenant with a second database of the multi-tenant distributed database;
the system memory coupled to a processor and storing instructions configured to cause the processor to;
initiate import of a first data portion associated with the first tenant into the first database in accordance with the mapping scheme; and
issue a suspend command to suspend importation of the first data portion in accordance with a fairness scheme; and
issue a command to schedule import of a second data portion associated with the second tenant into the second database in accordance with the mapping scheme.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for providing consistent tenant experiences at multi-tenant database. Embodiments of the invention include an import service that facilitates data imports without any distribution logic on a tenant. A tenant (caller) provides data in essentially any order. The import service understands the distribution of data across multiple databases and determines for any given piece of import data what database the import data is to be inserted into. Accordingly, the tenant (caller) is relieved from having to know how the data is distributed across a set (of potentially hundreds or thousands) of databases. The import service can optimize an import process to provide load balancing and fairness across a dynamic distributed database system. For example, the import service can insure that a large import by one tenant does not deprive the import other tenants of appropriate resources.
-
Citations
20 Claims
-
1. An apparatus for dynamic load allocation in a multi-tenant distributed database, comprising:
-
system memory; the system memory storing a mapping scheme that contains information associating a first tenant with a first database of the multi-tenant distributed database and information associating a second tenant with a second database of the multi-tenant distributed database; the system memory coupled to a processor and storing instructions configured to cause the processor to; initiate import of a first data portion associated with the first tenant into the first database in accordance with the mapping scheme; and issue a suspend command to suspend importation of the first data portion in accordance with a fairness scheme; and issue a command to schedule import of a second data portion associated with the second tenant into the second database in accordance with the mapping scheme. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system, the computer system comprising:
-
one or more hardware processors; system memory coupled to the one or more hardware processors, the system memory storing instructions that are executable by the one or more hardware processors; the one or more hardware processors executing the instructions stored in the system memory to; initiate import of one or more data portions into a first database of a distributed database system, the one or more data portions associated with a first tenant of the distributed database system, the first tenant mapped to the first database in data describing the distributed database; prior to completely importing the one or more data portions, suspend importing of the one or more data portions into the first database to reallocate bandwidth for importing one or more other data portions into a second database of the distributed database system, the one or more other data portions associated with a second different tenant of the distributed database system, the second tenant mapped to the second database in the data describing the distributed database; and subsequent to suspending import of the one or more data portions, initiate import of the one or more other data portions into the second database of distributed database system. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A method for use at a computer system, the method comprising:
-
initiating import of one or more data portions into a first database of a distributed database system, the one or more data portions associated with a first tenant of the distributed database system, the first tenant mapped to the first database in data describing the distributed database; prior to completely importing the one or more data portions, suspending importing of the one or more data portions into the first database to reallocate bandwidth for importing one or more other data portions into a second database of the distributed database system, the one or more other data portions associated with a second different tenant of the distributed database system, the second tenant mapped to the second database in the data describing the distributed database; and subsequent to suspending import of the one or more data portions, initiating import of the one or more other data portions into the second database of distributed database system. - View Dependent Claims (17, 18, 19, 20)
-
Specification