US2019163613A1PendingUtilityA1

Formation and manipulation of test data in a database system

56
Assignee: SALESFORCE COM INCPriority: Nov 8, 2016Filed: Jan 31, 2019Published: May 30, 2019
Est. expiryNov 8, 2036(~10.3 yrs left)· nominal 20-yr term from priority
G06F 16/21G06F 16/245G06F 11/3696G06F 11/3664G06F 11/3698
56
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods are provided for creating a sandbox for an original tenant at a point in time, the original tenant having original tenant data stored in an immutable storage associated with an original tenant identifier, the original tenant data as of the sandbox creation point in time being a virtual snapshot of the original tenant data accessible by a sandbox tenant, where the sandbox tenant data can be changed without changing the original tenant data, and the original tenant data can be changed without changing the sandbox tenant data. A sandbox tenant is created by associating a sandbox tenant identifier with the virtual snapshot of the original tenant data and with sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time. Original tenant data is subsequently created and associated with the original tenant identifier, and is not accessible to the sandbox tenant.

Claims

exact text as granted — not AI-modified
1 . A method comprising:
 creating, via a database system, a sandbox tenant identifier;   creating, at the database system, a virtual snapshot of original tenant data of an original tenant; and   creating, at the database system, a sandbox tenant by associating the sandbox tenant identifier with the virtual snapshot of the original tenant data at a sandbox creation point in time,   wherein sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time is inaccessible to the original tenant.   
     
     
         2 . The method of  claim 1 , further comprising:
 receiving a query including a key indicating the sandbox tenant; and   operating on data from an immutable storage identified by the key for the sandbox tenant by dynamically mapping the key indicating the sandbox tenant to a key indicating the original tenant.   
     
     
         3 . The method of  claim 2 , further comprising:
 returning the data from the immutable storage for the sandbox tenant based on the dynamic mapping of the key indicating the sandbox tenant.   
     
     
         4 . The method of  claim 2 , wherein the operating on data comprises:
 retrieving data from the immutable storage based on the mapped key;   translating data from the immutable storage indicated by the key of the original tenant to data of the key indicating the sandbox tenant;   performing an operation on the translated data; and   storing resultant data from the performed operation in the immutable storage that is associated with the key of the sandbox tenant.   
     
     
         5 . The method of  claim 1 , further comprising:
 receiving a query including a key indicating the sandbox tenant; and   operating on data from an immutable storage identified by the key for the sandbox tenant.   
     
     
         6 . The method of  claim 5 , further comprising:
 returning the data from the immutable storage for the sandbox tenant based on the dynamic mapping of the key indicating the sandbox tenant.   
     
     
         7 . The method of  claim 1 , further comprising:
 receiving an operation to delete the sandbox tenant; and   removing, from an immutable storage, at least one key associated with the sandbox tenant without changing or augmenting the original tenant data.   
     
     
         8 . The method of  claim 7 , wherein the removing the at least one key comprises:
 removing a key range from the immutable storage without removing physical data stored in the immutable storage.   
     
     
         9 . The method of  claim 7 , wherein the removing the at least one key comprises:
 removing extent references from the immutable storage for the sandbox tenant data that have original tenant mapping associated with them when there have been no changes to the sandbox tenant data in the immutable storage after the sandbox creation point in time.   
     
     
         10 . The method of  claim 7 , wherein the removing the at least one key comprises:
 removing extent references from the immutable storage for a key range of the sandbox tenant data when there have been changes to the sandbox tenant data in the immutable storage so as to replace existing extent references of the original tenant data so as to not include the removed extent references of the sandbox tenant data.   
     
     
         11 . The method of  claim 1 , further comprising:
 storing the data in an immutable storage using a log-structured merge tree data structure.   
     
     
         12 . A system to create a sandbox for an original tenant at a point in time, the system comprising:
 one or more servers to create a sandbox tenant identifier, to create a virtual snapshot of original tenant data of an original tenant, and to create a sandbox tenant by associating the sandbox tenant identifier with the virtual snapshot of the original tenant data at a sandbox creation point in time,   wherein sandbox tenant data created by the sandbox tenant subsequent to the sandbox creation point in time is inaccessible to the original tenant.   
     
     
         13 . The system of  claim 12 , wherein the one or more servers receives a query including a key indicating the sandbox tenant operating on data from an immutable storage identified by the key for the sandbox tenant by dynamically mapping the key indicating the sandbox tenant to a key indicating the original tenant. 
     
     
         14 . The system of  claim 13 , wherein the one or more servers receives the data from the immutable storage for the sandbox tenant from the at least one memory based on the dynamic mapping of the key indicating the sandbox tenant. 
     
     
         15 . The system of  claim 13 , wherein the one or more servers operates on data so as to retrieve data from the immutable storage based on the mapped key, translate data from the immutable storage indicated by the key of the original tenant to data of the key indicating the sandbox tenant, perform an operation on the translated data, and store resultant data from the performed operation in the immutable storage in the at least one memory that is associated with the key of the sandbox tenant. 
     
     
         16 . The system of  claim 12 , wherein the one or more servers receives a query including a key indicating the original tenant, and operates on data from an immutable storage of the at least one memory identified by the key for the original tenant. 
     
     
         17 . The system of  claim 16 , wherein the one or more servers receives the data from the immutable storage from the at least one memory for the sandbox tenant based on the dynamic mapping of the key indicating the sandbox tenant. 
     
     
         18 . The system of  claim 12 , wherein the one or more servers receives an operation to delete the sandbox tenant, and removes, from an immutable storage of the at least one memory, the key associated with the sandbox tenant without changing or augmenting the original tenant data. 
     
     
         19 . The system of  claim 18 , wherein the one or more servers removes a key range from the immutable storage without removing physical data stored in the immutable storage. 
     
     
         20 . The system of  claim 18 , wherein the one or more servers removes extent references from an immutable storage for the sandbox tenant data that have original tenant mapping associated with them when there have been no changes to the sandbox tenant data in the immutable storage after the sandbox creation point in time. 
     
     
         21 . The system of  claim 18 , wherein the one or more servers removing extent references from the immutable storage for a key range of the sandbox tenant data when there have been changes to the sandbox tenant data in the immutable storage so as to replace existing extent references of the original tenant data so as to not include the removed extent references of the sandbox tenant data. 
     
     
         22 . The system of  claim 12 , wherein the one or more servers stores the data in the immutable storage of the at least one memory using a log-structured merge tree data structure.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.