Abstract
Multitenant databases provide database services to a large number of users, called tenants. In such environments, an efficient management of resources is essential for providers of these services in order to minimize their capital as well as operational costs. This is typically achieved by dynamic sharing of resources between tenants depending on their current demand, which allows providers to oversubscribe their infrastructure and increase the density (the number of supported tenants) of their database deployment. In order to react quickly to variability in demand and provide consistent quality of service to all tenants, a multitenant database must be very elastic and able to reallocate resources between tenants at a low cost and with minimal disruption. While some existing database and virtualization technologies accomplish this fairly well for resources within a server, the cost of migrating a tenant to a different server often remains high. We present an efficient technique for live migration of database tenants in a shared-disk architecture which imposes no downtime on the migrated tenant and reduces the amount of data to be copied to a minimum. We achieve this by gradually migrating database connections from the source to the target node of a database cluster using a self-adapting algorithm that minimizes performance impact for the migrated tenant. As part of the migration, only frequently accessed cache content is transferred from the source to the target server, while database integrity is guaranteed at all times. We thoroughly analyze the performance characteristics of this technique through experimental evaluation using various database workloads and parameters, and demonstrate that even databases with a size of 100 GB executing 2500 transactions per second can be migrated at a minimal cost with no downtime or failed transactions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
If the service is taken down permanently or in case of error situations, a client is advised to stop using the service. Our prototype does not consider this situation.
- 2.
The number of connections migrated each second is the integral component of the calculated actual migration rate, while the remainder of it is rolled over to the next second. For example, if a rate of 1.75 has been calculated, one connection will be migrated, and the remaining value of 0.75 will be added to the rate calculated in the next second.
- 3.
The name CRUD refers to Create, Read, Update, Delete (in database context Insert, Select, Update, Delete).
- 4.
Binary Large Object.
- 5.
While ODB-CL has similarities with the industry-standard TPC-C Benchmark [29], it is not a compliant TPC-C implementation. Any results presented here should not be interpreted as or compared to any published TPC-C Benchmark results. TPC-C Benchmark is a trademark of Transaction Processing Performance Council (TPC).
- 6.
Based on our work, UCP version 12.1.0.2 will implement a similar connection migration as presented in this paper, including a timeout in case the service is taken down permanently.
- 7.
For the test of 1 million rows and 2500 tps, the average CPU utilization across both nodes is even lower then during steady state, caused by better hardware efficiency (reduced cache misses in CPU caches) as both nodes share traffic.
- 8.
Dynamic remastering changes block mastership to the node where blocks are most frequently accessed. Once blocks are mastered on the target node, it may prefer to read them from disk rather than remote cache, resulting in some disk reads even for fully-cached databases.
- 9.
Both tables are frequently updated. The warehouse table is a small table with high concurrency.
- 10.
Oracle 12.1.0.2 will implement a pluggable database relocate command to accomplish this.
- 11.
Based on a 45 % share of NEWORDER transactions as quoted in the paper.
References
Barham, P., Dragovic, B., Fraser, K., Hand, S., et al.: Xen and the art of virtualization. ACM SIGOPS 37(5), 164–177 (2003)
Barker, S., Chi, Y., Moon, H.J., Hacigümüş, H., et al.: Cut me some slack: Latency-aware live migration for databases. In: EDBT, pp. 432–443. ACM (2012)
Breitgand, D., Kutiel, G., Raz, D.: Cost-aware live migration of services in the cloud. In: SYSTOR (2010)
Chu, H., Kurakake, S., Song,Y.: Communication socket migration among different devices (2001)
Clark, C., Fraser, K., Hand, S., Hansen, J.G., et al.: Live migration of virtual machines. In: NSDI, pp. 273–286 (2005)
Cooper, B., Silberstein, A., Tam, E., Ramakrishnan, R., et al.: Benchmarking cloud serving systems with YCSB. In: ACM CLOUD, pp. 143–154. ACM (2010)
Das, S., Nishimura, S., Agrawal, D., El Abbadi, A.: Albatross: Lightweight elasticity in shared storage databases for the cloud using live data migration. PVLDB 4(8), 494–505 (2011)
Elmore, A.J., Das, S., Agrawal, D., El Abbadi, A.: Zephyr: Live migration in shared nothing databases for elastic cloud platforms. In: ACM SIGMOD, pp. 301–312. ACM (2011)
Gelhausen, J.: Oracle Database 12c product family. Oracle White Paper (2013)
Hankins, R., Diep, T., Annavaram, M., Hirano, B., et al.: Scaling and characterizing database workloads: Bridging the gap between research and practice. In: IEEE/ACM MICRO, p. 151. IEEE Computer Society (2003)
Hines, M.R., Gopalan, K.: Post-copy based live virtual machine migration using adaptive pre-paging and dynamic self-ballooning. In: ACM SIGOPS, pp. 51–60 (2009)
Hu, W., Hicks, A., Zhang, L., Dow, E.M., et al.: A quantitative study of virtual machine live migration. In: ACM CLOUD, p. 11. ACM (2013)
Huang, D., Ye, D., He, Q., Chen, J., et al.: Virt-LM: A benchmark for live migration of virtual machine. ACM SIGSOFT 36, 307–316 (2011)
Jacobs, D., Aulbach, S., et al.: Ruminations on multi-tenant databases. In: BTW vol. 103, pp. 514–521 (2007)
Jiang, X., Yan, F., Ye, K.: Performance influence of live migration on multi-tier workloads in virtualization environments. In: IARIA CLOUD, pp. 72–81 (2012)
Kivity, A., Kamay, Y., Laor, D., Lublin, U., et al.: kvm: the Linux virtual machine monitor. Linux Symposium 1, 225–230 (2007)
Lahiri, T., Srihari, V., Chan, W., Macnaughton, N., et al.: Cache fusion: Extending shared-disk clusters with shared caches. VLDB 1, 683–686 (2001)
Liu, H., Jin, H., Xu, C.-Z., Liao, X.: Performance and energy modeling for live migration of virtual machines. Cluster Comput. 16(2), 249–264 (2013)
Llewellyn, B.: Oracle Multitenant. Oracle White Paper (2013)
Mensah, K.: Oracle Database 12c Application Continuity for Java. Oracle White Paper (2013)
Michalewicz, M.: Oracle Real Application Clusters (RAC). Oracle White Paper (2013)
Microsoft: Server virtualization: Windows Server 2012 (2012)
Minhas, U., Rajagopalan, S., Cully, B., Aboulnaga, A., et al.: Remusdb: Transparent high availability for database systems. PVLDB 22(1), 29–45 (2013)
Nelson, M., Lim, B.-H., Hutchins, G., et al.: Fast transparent migration for virtual machines. In: USENIX, pp. 391–394 (2005)
Oracle: Best practices for building a virtualized SPARC computing environment. Oracle White Paper (2012)
Schroeder, B., Wierman, A., Harchol-Balter, M.: Open versus closed: A cautionary tale. NSDI 6, 18–18 (2006)
Shen, Y., Michael, N.: Oracle Multitenant on SuperCluster T5–8: Scalability study. Oracle White Paper (2014)
Stoica, R., Ailamaki, A.: Enabling efficient OS paging for main-memory OLTP databases. In: DaMoN, p. 7. ACM (2013)
The Transaction Processing Performance Council: TPC-C benchmark revision 5.11 (2010)
Waldspurger, C.A.: Memory resource management in VMware ESX server. ACM SIGOPS 36(SI), 181–194 (2002)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Michael, N., Shen, Y. (2015). Downtime-Free Live Migration in a Multitenant Database. In: Nambiar, R., Poess, M. (eds) Performance Characterization and Benchmarking. Traditional to Big Data. TPCTC 2014. Lecture Notes in Computer Science(), vol 8904. Springer, Cham. https://doi.org/10.1007/978-3-319-15350-6_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-15350-6_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15349-0
Online ISBN: 978-3-319-15350-6
eBook Packages: Computer ScienceComputer Science (R0)