Showing posts from December, 2020

MySQL Cluster Self Healing And No Single Point Of Failure Feature

In this post we will see the unique features of MySQL Cluster i.e. Self healing and no single point of failure. MySQL Cluster No Single Point Of Failure: As we know that in MySQL Cluster, data nodes are logically grouped into nodegroups. All data nodes in a nodegroup contain the same data, kept in sync at all times. Different nodegroups contain different data. So in a single nodegroup, MySQL Cluster can sustain multiple node shutdown at the same time but at least one node must live in that nodegroup. Lets demonstrate this feature with a 4 replicas cluster where each nodegroup have 4 data nodes. Lets create a MySQL Cluster with below environment. MySQL Cluster 8.0.22 version 2 Management servers 8 Data nodes servers 2 Mysqld servers 4 API nodes OS: Ubuntu 20.04 LTS NoOfReplicas = 4 Lets check the cluster status from the management client: We can see that 8 nodes cluster is up and running with 4 replicas. Also we can see that each nodegroup has 4 data nodes. Lets kill two data nodes from

Cluster Installation On Physical Hosts:

In this post, we will see how easily we can install MySQL Cluster on different physical hosts. One can install MySQL Cluster on a single host too. If you are wondering what MySQL Cluster is then please look into my previous post. MySQL Cluster Installation : Lets create a MySQL Cluster with the following environment: MySQL Cluster 8.0.22 version 2 Management servers 4 Data nodes servers 2 Mysqld servers 4 API nodes OS: Ubuntu 20.04 LTS Hostname and IP address of all the nodes in the MySQL  Cluster: Management Node1 (mgmt1):           Hostname: cluster-test01,  IP: Management Node2 (mgmt2):           Hostname: cluster-test02,  IP: Data Node1: Hostname: cluster-test03, IP: Data Node2: Hostname: cluster-test04, IP: Data Node3: Hostname: cluster-test05, IP: Data Node4: Hostname: cluster-test06, IP: Mysqld Server 1 (mysqld1):                        Hostname: cluster-test07, IP: Mysqld Se

MySQL Cluster a 5 9s (99.999%) Database

MySQL Cluster : MySQL Cluster is a real time, ACID-compliant transactional database. It is a combination of MySQL server and the NDB storage engine. Data is cached in memory and durably stored on disk. Indexed columns are always kept in memory while non-indexed columns can be kept in memory or disk. It was mainly designed for telecom databases with 99.999% availability and high performance. Unlike simpler sharded systems, MySQL Cluster transactions can transparently query and update all data in the system. Key features of MySQL Cluster: MySQL Cluster is designed using a shared nothing architecture Support for large database sizes With all columns kept in memory, can store upto few terabytes With some columns kept on disk, can store upto few petabytes Supports read and write transactions: during upgrade, scaling out, adding new columns/index to the tables, backup, add new nodes, add/drop FK etc Survives multiple node failures while writes happen. Support for automated node failure det