System, method and computer program product for conditionally performing garbage collection
First Claim
Patent Images
1. A non-transitory computer readable medium having stored therein computer code adapted to be executed by a computer to perform operations comprising:
- instantiating a plurality of database objects in a portion of memory of a multi-tenant database, wherein the plurality of database objects are owned by a plurality of tenants of the multi-tenant database and correspond to a plurality of applications having access to the multi-tenant database, and wherein the plurality of database objects includes a first database object corresponding to a database table that has first data accessible by a first tenant but not a second tenant and that has second data accessible by the second tenant but not the first tenant;
dynamically creating a threshold value based on a permissible occupancy level of the portion of memory of the multi-tenant database;
comparing to the threshold value an amount of free memory within the portion of memory of the multi-tenant database that is not currently assigned to any of the plurality of tenants of the multi-tenant database; and
upon determining that the amount of free memory within the portion of memory of the multi-tenant database meets the threshold value, performing garbage collection on the portion of memory of the multi-tenant database.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments, there are provided mechanisms and methods for conditionally performing garbage collection. These mechanisms and methods for conditionally performing garbage collection include identifying a predetermined portion of memory within a system, comparing one or more aspects of the predetermined portion of memory to a threshold, and conditionally performing garbage collection on the predetermined portion of memory, based on the comparison.
165 Citations
15 Claims
-
1. A non-transitory computer readable medium having stored therein computer code adapted to be executed by a computer to perform operations comprising:
-
instantiating a plurality of database objects in a portion of memory of a multi-tenant database, wherein the plurality of database objects are owned by a plurality of tenants of the multi-tenant database and correspond to a plurality of applications having access to the multi-tenant database, and wherein the plurality of database objects includes a first database object corresponding to a database table that has first data accessible by a first tenant but not a second tenant and that has second data accessible by the second tenant but not the first tenant; dynamically creating a threshold value based on a permissible occupancy level of the portion of memory of the multi-tenant database; comparing to the threshold value an amount of free memory within the portion of memory of the multi-tenant database that is not currently assigned to any of the plurality of tenants of the multi-tenant database; and upon determining that the amount of free memory within the portion of memory of the multi-tenant database meets the threshold value, performing garbage collection on the portion of memory of the multi-tenant database. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method, comprising:
-
instantiating, by a computer system, a plurality of database objects in a portion of memory of a multi-tenant database, wherein the plurality of database objects are owned by a plurality of tenants of the multi-tenant database and correspond to a plurality of applications having access to the multi-tenant database, and wherein the plurality of database objects includes a first database object corresponding to a database table that has first data accessible by a first tenant but not a second tenant and that has second data accessible by the second tenant but not the first tenant; determining, by the computer system, a current occupancy level of the portion of memory of the multi-tenant database based on metadata relating to the plurality of tenants of the multi-tenant database; dynamically creating a threshold value based on a permissible occupancy level of the portion of memory of the multi-tenant database; based on a comparison of the current occupancy level with the dynamically created threshold value performing garbage collection on the portion of memory of the multi-tenant database.
-
-
15. An apparatus, comprising:
-
a processor; and a non-transitory memory having stored thereon instructions configured to be executed by the processor to cause the apparatus to perform operations comprising; instantiating a plurality of database objects in a portion of memory of a multi-tenant database, wherein the plurality of database objects are owned by a plurality of tenants of the multi-tenant database and correspond to a plurality of applications having access to the multi-tenant database, and wherein the plurality of database objects includes a first database object corresponding to a database table that has first data accessible by a first tenant but not a second tenant and that has second data accessible by the second tenant but not the first tenant; dynamically creating a threshold value based on a permissible occupancy level of the portion of memory of the multi-tenant database; comparing to the threshold value an amount of free memory within the portion of memory of the multi-tenant database that is not currently assigned to any of the plurality of tenants of the multi-tenant database; and upon determining that the amount of free memory within the portion of memory of the multi-tenant database meets the threshold value, performing garbage collection on the portion of memory of the multi-tenant database.
-
Specification