High Availability and Performance of Database in the Cloud - Traditional Master-slave Replication versus Modern Cluster-based Solutions

Raju Shrestha

2017

Abstract

High availability (HA) of database is critical for the high availability of cloud-based applications and services. Master-slave replication has been traditionally used since long time as a solution for this. Since master-slave replication uses either asynchronous or semi-synchronous replication, the technique suffers from severe problem of data inconsistency when master crashes during a transaction. Modern cluster-based solutions address this through multi-master synchronous replication. These two HA database solutions have been investigated and compared both qualitatively and quantitatively. They are evaluated based on availability and performance through implementation using the most recent version of MariaDB server, which supports both the traditional master-slave replication, and cluster based replication via Galera cluster. The evaluation framework and methodology used in this paper would be useful for comparing and analyzing performance of different high availability database systems and solutions, and which in turn would be helpful in picking an appropriate HA database solution for a given application.

References

  1. Brewer, E. (2012). Pushing the cap: Strategies for consistency and availability. Computer, 45(2):23-29.
  2. Combaudon, S. (2013). Replication in MySQL 5.6: GTIDs benefits and limitations - Part 1 & 2. https://www.percona.com/blog/2013/05/21/replicationin-mysql-5-6-gtids-benefits-and-limitations-part-1/, https://www.percona.com/blog/2013/05/30/replicationin-mysql-5-6-gtids-benefits-and-limitations-part-2/. Blog.
  3. Curino, C., Jones, E., Zhang, Y., and Madden, S. (2010). Schism: A workload-driven approach to database replication and partitioning. Proc. VLDB Endow., 3(1-2):48-57.
  4. Earl, L. and Oderov, S. (2003). Database replication system. US Patent App. 10/426,467.
  5. Elnikety, S., Pedone, F., and Zwaenepoel, W. (2005). Database replication using generalized snapshot isolation. In 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05), pages 73-84.
  6. Galera Cluster (2016). MariaDB Galera Cluster. https://mariadb.com/kb/en/mariadb/galera-cluster/, http://galeracluster.com/. Last access: Nov. 2016.
  7. Gautam, B. P., Wasaki, K., Batajoo, A., Shrestha, S., and Kazuhiko, S. (2016). Multi-master replication of enhanced learning assistant system in IoT cluster. In 2016 IEEE 30th International Conference on Advanced Information Networking and Applications (AINA), pages 1006-1012. IEEE.
  8. Hvasshovd, S.-O., Torbjørnsen, O., Bratsberg, S. E., and Holager, P. (1995). The clustra telecom database: High availability, high throughput, and real-time response. In Proceedings of the 21th International Conference on Very Large Data Bases, VLDB 7895, pages 469-477, San Francisco, CA, USA. Morgan Kaufmann Publishers Inc.
  9. Kemme, B. and Alonso, G. (2000). Don't be lazy, be consistent: Postgres-R, a new way to implement database replication. In VLDB, pages 134-143.
  10. Ladin, R., Liskov, B., Shrira, L., and Ghemawat, S. (1992). Providing high availability using lazy replication. ACM Trans. Comput. Syst., 10(4):360-391.
  11. MariaDB (2016). MariaDB Replication https://github.com/tanji/replication-manager. access: Dec. 2016.
  12. Matsunobu, Y. (2016). MySQL Master High Availability (MHA). https://code.google.com/p/mysql-master-ha/. Last access: Dec. 2016.
  13. MaxScale (2016). MariaDB MaxScale. mariadb.com/products/mariadb-maxscale. cess: Nov. 2016.
  14. Moore, D., McCabe, G. P., and Craig, B. (2010). Introduction to the Practice of Statistics. W. H. Freeman, 7th edition.
  15. MySQL (2016). MySQL Cluster. https://www.mysql.com/ products/cluster/. Last access: Dec. 2016.
  16. Pedone, F. (1999). The database state machine and group communication issues. PhD thesis, Ócole Polytecnique Fédérale de Lausanne, Switzerland.
  17. Pedone, F., Guerraoui, R., and Schiper, A. (1997). Transaction reordering in replicated databases. In Reliable Distributed Systems, 1997. Proceedings., The Sixteenth Symposium on, pages 175-182.
  18. Piedad, F. and Hawkins, M. (2001). High availability: Design, techniques and processes. Prentice Hall.
  19. Seravo (2015). 10 reasons to migrate to MariaDB. https://seravo.fi/2015/10-reasons-to-migrate-tomariadb-if-still-using-mysql. Blog.
  20. Severalnines (2016). High availability read-write splitting with PHP-MySQLnd, MySQL replication and HAProxy. http://severalnines.com/blog/highavailability-read-write-splitting-php-mysqlnd-mysqlreplication-and-haproxy. Last access: Nov. 2016.
  21. Shafik, D. (2014). Easy read/write splitting with PHPs MySQLnd. https://blog.engineyard.com/2014/easyread-write-splitting-php-mysqlnd. Blog.
  22. Sysbench (2016). Sysbench 0.5. http://repo.percona.com/apt/pool/main/s/sysbench/. Last access: Nov. 2016.
  23. Trudeau, Y. (2015). MaxScale: A new tool to solve your MySQL scalability problems. https://www.percona.com/blog/2015/06/08/maxscalea-new-tool-to-solve-your-mysql-scalabilityproblems/. Blog.
  24. Ubuntu (2016). Ubuntu 16.04 LTS (Xenial Xerus). https:// cloud-images.ubuntu.com/releases/xenial/release/. Last access: Nov. 2016.
  25. Wiesmann, M., Pedone, F., Schiper, A., Kemme, B., and Alonso, G. (2000). Database replication techniques: a three parameter classification. In Reliable Distributed Systems, 2000. SRDS-2000. Proceedings of The 19th IEEE Symposium on, pages 206-215.
  26. Wiesmann, M. and Schiper, A. (2005). Comparison of database replication techniques based on total order broadcast. IEEE Transactions on Knowledge and Data Engineering, 17(4):551-566.
Download


Paper Citation


in Harvard Style

Shrestha R. (2017). High Availability and Performance of Database in the Cloud - Traditional Master-slave Replication versus Modern Cluster-based Solutions . In Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER, ISBN 978-989-758-243-1, pages 413-420. DOI: 10.5220/0006294604130420


in Bibtex Style

@conference{closer17,
author={Raju Shrestha},
title={High Availability and Performance of Database in the Cloud - Traditional Master-slave Replication versus Modern Cluster-based Solutions},
booktitle={Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,},
year={2017},
pages={413-420},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006294604130420},
isbn={978-989-758-243-1},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 7th International Conference on Cloud Computing and Services Science - Volume 1: CLOSER,
TI - High Availability and Performance of Database in the Cloud - Traditional Master-slave Replication versus Modern Cluster-based Solutions
SN - 978-989-758-243-1
AU - Shrestha R.
PY - 2017
SP - 413
EP - 420
DO - 10.5220/0006294604130420