多租户数据库为每个租户分配固定的资源配额,而这些资源配额通常未全部得到有效利用,这种静态分配策略导致资源利用率不高.若在不影响租户性能的前提下将未利用的空闲资源共享给其他租户使用,即实现资源超卖,则可以提高资源利用率、提升平台收益.为了支持资源超卖,需要准确预测租户的资源需求,动态地按需为租户分配资源.已有的针对多租户数据库的资源共享方法的研究对象主要是CPU资源,鲜有支持超卖的内存资源共享方法.鉴于此,在联机分析处理场景下,提出了 一种支持超卖的多租户数据库内存资源共享方法 MMOS(Multi-tenant database Memory resource Overselling and Sharing).该方法通过准确预测每个租户的内存需求区间,按照区间上限为租户动态调整内存配额,在不影响租户性能的前提下,统一管理空闲内存资源以支持更多租户,实现内存超卖.实验结果表明,MMOS在租户负载动态变化的场景下具有较好效果.在不同资源量的资源池下,支持的租户数可以增加2~2.6倍,资源利用率峰值提升175%~238%.同时,每个租户的业务与性能未受影响.
This paper presents an oversold memory resource sharing method for multi-tenant databases in an online analysis and processing scenario.The current static resource allocation strategy,which assigns a fixed resource quota to each tenant,leads to suboptimal resource utilization.To enhance resource utilization and platform revenue,it is important to share unused free re-sources among tenants without impacting their performance.While existing resource sharing methods for multi-tenant databases primarily focus on CPU resources,there is a lack of memory resource sharing methods that support overselling.To address this gap,the paper introduces a novel approach MMOS that accurately forecasts the memory requirements interval of each tenant and dynamically adjusts their resource allocation based on the upper limit of the interval.This allows for efficient management of free memory resources,enabling support for more tenants and achieving memory overselling while maintaining optimal performance.Experimental results demonstrate the effectiveness of the proposed method in dynamically changing tenant load scenarios.With different resource pools,the number of supported tenants can be increased by 2~2.6 times,leading to a significant increase in peak resource utilization by 175%~238%.Importantly,the proposed method ensures that the business and performance of each tenant remain unaffected.