Database Server Process Group Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database servers face performance degradation and resource overload during heavy activity due to inadequate resource allocation for database connection processes, particularly in multi-tenant environments where rogue tenants may consume excessive system resources.
Innovation Solution
Implementing a system where database servers assign database connection processes to process groups with varying resource allocation parameters based on application information, such as tenant identity, request type, and functionality, using Linux control groups or similar structures to manage resource distribution efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If database servers maintain a pool of database connection processes that share system resources, then resource utilization is improved, but system reliability deteriorates during heavy activity due to resource overload
Solution Approach 1:
The patent segments the shared system resources into distinct resource pools associated with different process groups. Each process group has its own resource limits and allocation parameters, preventing any single group from overwhelming the entire system. This segmentation maintains high resource utilization while improving reliability during heavy activity by isolating resource contention to specific groups.
Solution Approach 2:
The patent applies local quality by assigning different resource allocation parameters to different process groups based on their specific needs and priorities. Critical processes receive higher resource allocation while less critical processes receive limited resources. This localized differentiation maintains overall system reliability while optimizing resource utilization for each process group's specific function.
2Reliability
If database servers use process groups with varying resource allocation parameters, then system reliability is improved by preventing overload, but device complexity increases
Solution Approach 1:
The patent implements universality by using a unified process group framework that handles multiple functions: resource allocation, priority management, isolation, and overload prevention. This single mechanism serves multiple purposes, improving system reliability without proportionally increasing complexity. The framework can be configured differently for various tenant types without requiring separate management systems.
Solution Approach 2:
The patent changes resource allocation parameters (such as CPU time slices, memory limits, and I/O thresholds) to control and manage different process groups. By adjusting these parameters rather than creating fundamentally different management mechanisms, the system achieves improved reliability while minimizing the increase in device complexity. Parameter tuning provides flexibility without structural complexity.
3Productivity
If database servers assign different resource allocation parameters to different process groups, then productivity is improved by optimizing resource usage, but ease of operation deteriorates
Solution Approach 1:
The patent implements self-service by allowing the system to automatically assign process groups and allocate resources based on predefined criteria and parameters. The database server autonomously manages resource distribution without requiring manual intervention to configure complex allocation rules. This maintains high productivity through optimized resource usage while preserving ease of operation through automation.
Solution Approach 2:
The patent applies dynamics by enabling real-time adjustment of resource allocation parameters based on current system conditions and process group characteristics. The system dynamically responds to changing workloads and can adapt resource distribution on-the-fly. This dynamic approach optimizes productivity for varying conditions while simplifying operation, as the system automatically adapts rather than requiring static manual configuration.
Data Source
AI summary
Techniques are disclosed relating to using different process groups to control allocation of execution resources for database connection processes that handle application requests. In disclosed embodiments, a database server receives a request from an application server for database resources, including application information specifying one or more attributes of the request. The server may assign a database connection process to access a database for the request and assign the database connection process to a process group based on the application information. The server may assign execution resources based on resource allocation parameters that are associated with the assigned process group. In disclosed embodiments, tenants that are using inappropriate amounts of resources are identified and requests from the identified tenants may be assigned to process groups whose processes are allocated a smaller amounts of resources per process than other process groups, which may reduce performance degradation in a database system.


