Browse Prior Art Database

Partitioned Resource Allocation and Query Scheduling Policy for a Database Server Disclosure Number: IPCOM000129726D
Original Publication Date: 2005-Oct-07
Included in the Prior Art Database: 2005-Oct-07
Document File: 2 page(s) / 35K

Publishing Venue



A method and system for policies governing memory allocation and query admission in a database server.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 50% of the total text.

Page 1 of 2

Partitioned Resource Allocation and Query Scheduling Policy for a Database Server

Disclosed is a method and system for policies that govern memory allocation and query admission in a database server. The proposed system partitions memory used during database query execution. This can guarantee that a portion of the memory is made available for execution of a given query. The system also admits queries based on a policy that allows the server to determine which queries to group together for the purpose of sharing pre-designated resources. This system can eliminate unnecessary wait during concurrent execution of independent queries.

In any given database server there is contention for system resources by different groups of users resulting in some queries being deprived of the necessary resources to allow them from being executed immediately. This is especially true because a database server generally allocates memory for DSS (Decision Support System) queries from a common pool of memory. There is a possibility that some of the queries use all the memory while they run, thus forcing other queries to overflow to disk or to wait until the memory becomes available. This is not ideal in certain situations when the queries in question are originated by unrelated users or applications. One alternative solution would be to use a different instance of the database server to manage different databases. This would achieve the independence of different database communities. The drawback would be 1) the overhead of administering a server instance for each of the databases, 2) additional requirements for hardware resources (CPU, memory) to enable running processes required by multiple server instances, 3) it does not provide a system where different queries on the same database or by the same user need their resources demarcated.

The proposed system would give DBAs (Database Administrators) better control over the resource utilization by enabling them to partition the memory between queries executed by client sessions. DBAs would be able to ensure that memory would be available for certain queries even while other resource intensive queries might run. It would allow database communities using the same server to operate without competing for common resources. Other features try to provide ways to limit the resources granted to a given query, or a method for prioritizing queries but provide no means of ensuring that a certain portion of the memory would be guaranteed to be available for a query at any given time. Additionally if the queries are distributed i.e. operating on objects on multiple database servers, there is no unified system for memory allocation and scheduling queries in all participating servers.

The proposed solution introduces the concept of a resource class. Any query could be associated with a resource class. A resource class will determine what portion of the memory, set aside for Decision Support, will be parceled out to that...