Update of applications in SaaS is expected to be a continuous efforts and cannot be done overnight or over the weekend. In such migration efforts, users are trained and shifted from a existing version to a new version successively. There is a long period of time when both versions of applications co-exist. Supporting two systems at the same time is not a cost efficient option and two systems may suffer from slow response time due to continuous synchronization between two systems. In this paper, we focus on how to enable progressive migration of multi-version applications in SaaS via evolving schema. Instead of maintain two systems, our solution is to maintain an intermediate schema that is optimized for mixed workloads for new and old applications. With a application migration schedule, an genetic algorithm is used to find out the more effective intermediated schema as well as migration paths and schedule. A key advantage of our approach is optimum performance during the long migration period while maintaining the same level of data movement required by the migration. We evaluated the proposed progressive migration approach on a TPCW workload and results validated its effectiveness of across a variety of scenarios; Experimental results demonstrate that our incremental migration proposed in this paper could bring about 200% performance gain as compared to the existing system.
['Jianfeng Yan', 'Bo Zhang']
Support Multi-version Applications in SaaS via Progressive Schema Evolution