
Explore Galera cluster and MySQL replication concepts, including asynchronous and synchronous replication, row- and statement-based replication, and certificate-based replication, then build and test cluster and learn monitoring and load balancing.
Explain the acid model of the database and how replication must guarantee atomicity, consistency, isolation, and durability, ensuring transactions commit or roll back and the database maintains durability.
Install MariaDB 10.1 from MariaDB repositories on three CentOS nodes by creating and distributing the repository file, then configure the gpg key check and install server, client, and common packages.
Configure a three-node Galera cluster by editing the Galera section in server.conf, enabling write set replication, group communication addresses, row-based binary logging, and rsync-based snapshot transfer.
See how to gracefully shut down Galera cluster nodes, observe cluster size changes, and verify that data replicates across remaining nodes during outages and after recovery.
Explore how weighted quorum uses cluster size and votes to determine majority decisions, guiding primary and non-primary states and helping avoid split brain with weighted nodes.
In this course the students will learn many topics about database replication, this course includes learning theoretical concepts and practical tasks. In this course the students will learn about the following topics:
Database Replication
Synchronous and Asynchronous Replication
Statement Based Replication and Row Based Replication
Group Communications, Write Sets and Certification Based Replication
Building 3 nodes Galera Cluster (Practical)
Testing Potential Nodes Failures (Practical)
Joining New Nodes to The Cluster (Practical)
Weighted Quorum Concepts
Load Balancing
Checking The Cluster Status
Eventually, this will be a continuous course I am going to add any additional topics I think they are important, and any topics requested by students.
So, if you think that this course can be improved by adding any topics, then please let me know.