Abstract:
Database system are currently used by thousands of web applications. Some of these applications serve critical services and have very high demands for high availability and fast real-time responses. Open source database management systems, in the last years, have had some new features in terms of high availability and in terms of performance: although these are concepts largely covered by commercial database are new on the database open source such as PostgreSQL and MariaDB. In the past a cluster active-passive solution was the only way to have an high-availability architecture but with the new features other types of architectures are possible to obtain an high availability solutions. The purpose of this thesis is to describe and compare the methods implemented on the main open-source database management systems to achieve high-availability. I'll show the difference between the typologies of cluster and the downside of every solutions: since usually this type of technology are used from middle-size to large environment, i will demonstrate that with some disk-memory tuning on Linux based operating systems the performances can be significantly improved. The acid test consists in a solution with two nodes and examines the throughput and the response time of a website (i.e. e-commerce or newspapers) and the heavy-write load in a TPC-C.