Enabling multi-tenant access to respective isolated data sets organized using different application schemas
First Claim
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:
- receiving, by an application from a first tenant, a first request for accessing a first data set stored in a first datastore organized according to a first application schema derived from a base schema;
transmitting, by the application to the first tenant, a first response comprising at least a subset of the first data set;
receiving, by the application from a second tenant, a second request for accessing a second data set stored in a second datastore organized according to a second application schema derived from the base schema, the second application schema being different than the first application schema;
transmitting, by the application to the second tenant, a second response comprising at least a subset of the second data set;
wherein the first datastore is associated with the first tenant and the second datastore is associated with the second tenant;
wherein the first datastore and the second datastore are associated with a same physical database, and a cache of the physical database performs caching for both the first datastore and the second datastore;
wherein at least one of the first datastore and the second datastore comprises a pluggable database;
wherein a first update for the base schema is applied to the first application schema and is applied to the second application schema, and a second update for the first application schema is not applied to the base schema and is not applied to the second application schema.
1 Assignment
0 Petitions
Accused Products
Abstract
Multi-tenant access to respective isolated data sets organized using different application schemas is disclosed. Multiple tenants store respective data sets in separate datastores. The datastores are organized using different application schemas, each derived from a same base schema. However, the tenants share access to a same application. The application receives a first request from a first tenant and a second request from a second tenant. The application serves the first request by accessing a first data set organized using a first application schema. The application serves the second request by accessing a second data set using a second application schema.
123 Citations
20 Claims
-
1. A non-transitory computer readable medium comprising instructions which, when executed by one or more hardware processors, causes performance of operations comprising:
-
receiving, by an application from a first tenant, a first request for accessing a first data set stored in a first datastore organized according to a first application schema derived from a base schema; transmitting, by the application to the first tenant, a first response comprising at least a subset of the first data set; receiving, by the application from a second tenant, a second request for accessing a second data set stored in a second datastore organized according to a second application schema derived from the base schema, the second application schema being different than the first application schema; transmitting, by the application to the second tenant, a second response comprising at least a subset of the second data set; wherein the first datastore is associated with the first tenant and the second datastore is associated with the second tenant; wherein the first datastore and the second datastore are associated with a same physical database, and a cache of the physical database performs caching for both the first datastore and the second datastore; wherein at least one of the first datastore and the second datastore comprises a pluggable database; wherein a first update for the base schema is applied to the first application schema and is applied to the second application schema, and a second update for the first application schema is not applied to the base schema and is not applied to the second application schema. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving, by an application from a first tenant, a first request for accessing a first data set stored in a first datastore organized according to a first application schema derived from a base schema; transmitting, by the application to the first tenant, a first response comprising at least a subset of the first data set; receiving, by the application from a second tenant, a second request for accessing a second data set stored in a second datastore organized according to a second application schema derived from the base schema, the second application schema being different than the first application schema; transmitting, by the application to the second tenant, a second response comprising at least a subset of the second data set; wherein the first datastore is associated with the first tenant and the second datastore is associated with the second tenant; wherein the first datastore and the second datastore are associated with a same physical database, and a cache of the physical database performs caching for both the first datastore and the second datastore; wherein at least one of the first datastore and the second datastore comprises a pluqqable database; wherein a first update for the base schema is applied to the first application schema and is applied to the second application schema, and a second update for the first application schema is not applied to the base schema and is not applied to the second application schema. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
at least one hardware device including a processor; and the system configured to perform operations comprising; receiving, by an application from a first tenant, a first request for accessing a first data set stored in a first datastore organized according to a first application schema derived from a base schema; transmitting, by the application to the first tenant, a first response comprising at least a subset of the first data set; receiving, by the application from a second tenant, a second request for accessing a second data set stored in a second datastore organized according to a second application schema derived from the base schema, the second application schema being different than the first application schema; transmitting, by the application to the second tenant, a second response comprising at least a subset of the second data set; wherein the first datastore is associated with the first tenant and the second datastore is associated with the second tenant; wherein the first datastore and the second datastore are associated with a same physical database, and a cache of the physical database performs caching for both the first datastore and the second datastore; wherein at least one of the first datastore and the second datastore comprises a pluqqable database; wherein a first update for the base schema is applied to the first application schema and is applied to the second application schema, and a second update for the first application schema is not applied to the base schema and is not applied to the second application schema.
-
Specification