Posts

Showing posts from April, 2021

MySQL NDB Cluster Installation Through Docker

Image
In this post, we will see how to setup MySQL NDB Cluster from a docker image. I assume that the reader has some basic understanding of docker and its terminology. Steps to install MySQL NDB Cluster: Let's create a MySQL NDB Cluster with the following environment: MySQL NDB Cluster version (Latest GA version) 1 Management Node 4 Data Nodes 1 Mysqld Server Configuration slots for upto 4 additional API nodes  Note: Docker software must be installed and running on the same host where we are planning to install MySQL NDB Cluster. Also make sure we have enough resources allocated to docker so that we shouldn’t face any issues later on. Step 1: Get the MySQL NDB Cluster docker image on your host Users can get the MySQL NDB Cluster image from github site ( link ). Then select your required cluster version for download. Note: By default MySQL NDB Cluster 8.0 GA version image docker will pull or by mentioning tag:latest also point to latest cluster image which is 8.0 at the moment. If us

Table Partitioning In MySQL NDB Cluster And What’s New (Part IV)

Image
Whats new in NDB Cluster 8.0 version (8.0.23) With new configuration variables introduced in NDB cluster version 8.0.23, user now have more control in table partitioning. Below are the new config variables that can influence the table partitioning scheme: PartitionsPerNode ClassicFragmentation PartitionsPerNode: In earlier cluster versions, the default number of table partitions is based on the number of LDM threads running on a node multiplied by the number of data nodes in the cluster. User can not set any random values to MaxNoOfExecThreads (#LDM) rather the value should be less than or equal to NoOfFragmentLogParts. With cluster version 8.0.23, user can have many no of LDM threads assign to a data node. The rationale is: - Having many LDMs allows a data node to make good use of modern hardware. - Having one partition per LDM per node gives good balance. - However having many partitions can affect range scan scalability and performance, so the number of partitions per table should b