Systems, methods, and machine-readable memories for partitioning a database
First Claim
1. A method for partitioning a multi-tenant database between a plurality of tenants, the method comprising:
- defining, by a computer system, a first level partition of data in a table within the database, the first level partition defined by a column of the table associated with the first level partition, each row of the column associated with the first level partition storing a first partition parameter value indicating whether data of the row of the table is assigned to the first level partition;
defining, by the computer system, a second level partition of the data in the table within the database, the second level partition defined by a column of the table associated with the second level partition, each row of the column associated with the second level partition storing a second partition parameter value indicating whether data of the row of the table is assigned to the second level partition;
receiving, by the computer system, a request from an entity associated with a tenant of the plurality of tenants to access a first datum stored in the database;
determining, by the computer system, whether the tenant with which the entity is associated is assigned to the first level partition, the second level partition, or both the first level partition and the second level partition, wherein the determining comprises identifying that a first tenant is uniquely assigned to the first level partition and/or a second tenant is uniquely assigned to the second level partition, wherein an assignment of the first level partition and an assignment of second level partition are mutually exclusive; and
granting, by the computer system, access to the first datum to;
a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition parameter value for a row of the table in which the first datum is stored;
a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition parameter value for the row of the table in which the first datum is stored.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and machine-readable memories are provided for partitioning a multi-tenant database between tenants. A first level partition of data in a table within the database is defined. A second level partition of the data in the table within the database is defined. A request is received from an entity associated with a tenant to access a first datum stored in the database. The tenant is determined to be assigned to one or both of the first level partition and the second level partition. Access to the first datum is granted to a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition parameter value. Access to the first datum is granted to a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition parameter value.
-
Citations
17 Claims
-
1. A method for partitioning a multi-tenant database between a plurality of tenants, the method comprising:
-
defining, by a computer system, a first level partition of data in a table within the database, the first level partition defined by a column of the table associated with the first level partition, each row of the column associated with the first level partition storing a first partition parameter value indicating whether data of the row of the table is assigned to the first level partition; defining, by the computer system, a second level partition of the data in the table within the database, the second level partition defined by a column of the table associated with the second level partition, each row of the column associated with the second level partition storing a second partition parameter value indicating whether data of the row of the table is assigned to the second level partition; receiving, by the computer system, a request from an entity associated with a tenant of the plurality of tenants to access a first datum stored in the database; determining, by the computer system, whether the tenant with which the entity is associated is assigned to the first level partition, the second level partition, or both the first level partition and the second level partition, wherein the determining comprises identifying that a first tenant is uniquely assigned to the first level partition and/or a second tenant is uniquely assigned to the second level partition, wherein an assignment of the first level partition and an assignment of second level partition are mutually exclusive; and granting, by the computer system, access to the first datum to; a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition parameter value for a row of the table in which the first datum is stored; a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition parameter value for the row of the table in which the first datum is stored. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising:
-
a processor; and a memory coupled with and readable by the processor and storing therein a set of instructions which, when executed by the processor, causes the processor to partition a multi-tenant database between a plurality of tenants by; defining a first level partition of data in a table within the database, the first level partition defined by a column of the table associated with the first level partition, each row of the column associated with the first level partition storing a first partition parameter value indicating whether data of the row of the table is assigned to the first level partition; defining a second level partition of the data in the table within the database, the second level partition defined by a column of the table associated with the second level partition, each row of the column associated with the second level partition storing a second partition parameter value indicating whether data of the row of the table is assigned to the second level partition; receiving a request from an entity associated with a tenant of the plurality of tenants to access a first datum stored in the database; determining whether the tenant with which the entity is associated is assigned to the first level partition, the second level partition, or both the first level partition and the second level partition, wherein the determining comprises identifying that a first tenant is uniquely assigned to the first level partition and/or a second tenant is uniquely assigned to the second level partition, wherein an assignment of the first level partition and an assignment of second level partition are mutually exclusive; and granting access to the first datum to; a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition parameter value for a row of the table in which the first datum is stored; a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition parameter value for the row of the table in which the first datum is stored. - View Dependent Claims (8, 9, 10, 11)
-
-
12. A machine-readable memory comprising a set of instructions stored therein which, when executed by a processor, causes the processor to partition a multi-tenant database between a plurality of tenants by:
-
defining a first level partition of data in a table within the database, the first level partition defined by a column of the table associated with the first level partition, each row of the column associated with the first level partition storing a first partition parameter value indicating whether data of the row of the table is assigned to the first level partition; defining a second level partition of the data in the table within the database, the second level partition defined by a column of the table associated with the second level partition, each row of the column associated with the second level partition storing a second partition parameter value indicating whether data of the row of the table is assigned to the second level partition; receiving a request from an entity associated with a tenant of the plurality of tenants to access a first datum stored in the database; determining whether the tenant with which the entity is associated is assigned to the first level partition, the second level partition, or both the first level partition and the second level partition, wherein the determining comprises identifying that a first tenant is uniquely assigned to the first level partition and/or a second tenant is uniquely assigned to the second level partition, wherein an assignment of the first level partition and an assignment of second level partition are mutually exclusive; and granting access to the first datum to; a first entity where the tenant corresponds to the first tenant and the first datum corresponds to the first level partition parameter value for a row of the table in which the first datum is stored; a second entity where the tenant corresponds to the second tenant and the first datum corresponds to the second level partition parameter value for the row of the table in which the first datum is stored. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification