×

Systems, methods, and machine-readable memories for partitioning a database

  • US 9,489,407 B2
  • Filed: 01/30/2014
  • Issued: 11/08/2016
  • Est. Priority Date: 05/02/2008
  • Status: Active Grant
First Claim
Patent Images

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 all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×