云中多租户数据存储系统的弹性控制问题研究
山东大学 谷连超
本文关注数据访问时间相关的指标。在进行数据弹性控制时要保证以上两个条件,这增加了弹性控制的难度。2)为了实现多租户存储系统的弹性控制,我们需要能够提出控制策略,决定哪些数据要进行移动,往哪里去移动。大型应用的负载波动大,自适应的负载均衡要求能够在负载高峰时scale-out,负载低峰时scale-down。这通过数据移动(比如,partitioned或coalesced)实现,但是频繁的移动有可能为已经过载的系统带来新的性能问题。3)要有一种负载预测机制使得数据扩展策略能够提前制定。云中资源供应要经历启动延迟,这就要求必须尽早应对负载变化做出控制策略。监测和控制服务水平协议(SLA)中的性能指标容易受环境噪声影响,不易准确测量,而且不同租户不同SLA中性能要求相对于相同性能要求的问题更加复杂。针对上述问题,我们提出一种基于MPC控制思想实现的AdaptScala系统,该系统能够监测不同租户数据访问的负载情况,并基于一次指数平滑方法进行负载预测;结合不同租户SLA中对数据访问响应时间的性能要求,构建多租户数据存储的性能模型用于判定每个服务器能否满足不同租户对数据访问的性能要求;最后给出一种数据弹性控制策略生成算法,用于计算最终的数据存储调整策略,其目标是对系统整体性能影响较小,并且使整体资源开销最小。本文采用Berkeley DB作为云中key/value类型的数据存储引擎,使用开源软件构建实现AdaptScala系统,模拟多租户的数据访问并采集性能数据构建多租户数据存储模型,进行多次测试验证该系统能够满足提出的弹性控制目标。
云中多租户数据存储系统的弹性控制问题研究