Methods and systems for backing up a search index in a multi-tenant database environment
First Claim
1. A method for backing up an index, the method comprising:
- identifying an index to be backed up in a multitenant environment, whereinthe multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID,users of each of multiple client identities are only allowed access data identified by a tenant ID associated with the respective client entity, andthe multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities;
creating a staged copy of the index to be backed up having multiple stages, wherein the stages are handled asynchronously through a message queue;
segmenting the staged copy of the index; and
storing the segments in a pre-selected location.
1 Assignment
0 Petitions
Accused Products
Abstract
An index to be backed up in a multitenant environment is identified. The multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID. Users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity. The multitenant environment is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. A staged copy of the index to be backed up is created. The staged copy of the index is segmented. The segments are uploaded to a pre-selected location.
143 Citations
26 Claims
-
1. A method for backing up an index, the method comprising:
-
identifying an index to be backed up in a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities are only allowed access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities; creating a staged copy of the index to be backed up having multiple stages, wherein the stages are handled asynchronously through a message queue; segmenting the staged copy of the index; and storing the segments in a pre-selected location. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method comprising:
-
receiving an indication to restore an index file to replace a faulty index file; downloading one or more segments of a backup index file in response to the indication; assembling the segments to create the backup index file; replacing the faulty index file with the backup index file with an atomic swap operation; and updating the backup index file with indexing operations performed based on a replay log having entries corresponding to a time period between creation of the backup index file and restoration of the backup index file, wherein the backup index file is created in a multitenant database environment, wherein the multitenant database environment stores data for multiple client entities each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, wherein users of each of multiple client entities are only allowed access data identified by a tenant ID associated with the respective client entity, and wherein the multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. - View Dependent Claims (7, 8)
-
-
9. An article of manufacture comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
-
identify an index to be backed up in a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities are only allowed access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities; create a staged copy of the index to be backed up having multiple stages, wherein the stages are handled asynchronously through a message queue; segment the staged copy of the index; and store the segments in a pre-selected location. - View Dependent Claims (10, 11, 12, 13)
-
-
14. An article of manufacture comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
-
receive an indication to restore an index file to replace a faulty index file; download one or more segments of a backup index file in response to the indication; assemble the segments to create the backup index file; replace the faulty index file with the backup index file with an atomic swap operation; and update the backup index file with indexing operations performed based on a replay log having entries corresponding to a time period between creation of the backup index file and restoration of the backup index file, wherein the backup index file is created in a multitenant database environment, wherein the multitenant database environment stores data for multiple client entities each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, wherein users of each of multiple client entities are only allowed access data identified by a tenant ID associated with the respective client entity, and wherein the multitenant database is a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities. - View Dependent Claims (15, 16)
-
-
17. A system comprising:
-
one or more user electronic systems; a server electronic system communicatively coupled with the one or more user systems via a network, the server system to provide a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities are only allowed access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities, the server system further to identify an index to be backed up in the multitenant environment, create a staged copy of the index to be backed up having multiple stages, wherein the stages are handled asynchronously through a message queue, segment the staged copy of the index, and store the segments in a pre-selected location. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. A system comprising:
-
one or more user electronic systems; a server electronic system communicatively coupled with the one or more user systems via a network, the server system to provide a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities are only allowed access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities, the server system further to receive an indication to restore an index file to replace a faulty index file, to download one or more segments of a backup index file in response to the indication, to assemble the segments to create the backup index file, to replace the faulty index file with the backup index file with an atomic swap operation, and to update the backup index file with indexing operations performed based on a replay log having entries corresponding to a time period between creation of the backup index file and restoration of the backup index file. - View Dependent Claims (24, 25, 26)
-
Specification