Growing MySQL NDB Database. How to get High Availability?

by dev.meghraj   Last Updated April 10, 2018 08:06 AM

Since last 2 year, we were using NDB Cluster for live database of our app, which is now have size of 7-10 GB, running on 6 Dedicated servers (6 data node, 2 api node, 1 mgm node) to have get maximun throughput with the single replica and multi threaded data nodes.

We are facing following problems.

  1. ALTER tables

We can't alter tables on live database,

algorithm=inplace don't work in ndb for alters.

Thus for these operations we must stop application. what could be possible solution for this because development is life time & ongoing, and looking for long-term solution so without app downtime we can perform some operations.

i know pt-online-schema-change and some other tools but they don't work with ndb.

  1. Scaling

When data size increases we can add node using rolling restart, but even after adding node, we'll need to reorganize partition to make data equal on all data node, which causes table lock for long hours.

  1. Is using multiple single threaded NDB is better or multi-threaded NDBMTD

  2. Is it possible for muliple replica system and have online alters without downtime?

What could be the solution of above two problems we are facing?

or can you guide what should be the architecture for High Avaialibity, Max Throughput and some times online Maintenance with lesser downtime.

Related Questions

What is a typical hardware setup for MySQL Cluster?

Updated January 05, 2018 07:06 AM

Mysql cluster configuration help

Updated August 28, 2018 01:06 AM