A Horizontal Approach to Scale Out your MySQL database
The ScaleBase Data Traffic Manager™ delivers unlimited scale to your MySQL database. ScaleBase sits in the middle between the application layer and its backend database in the same way as any standard web-based load balancer, but ScaleBase is more than simple HTTP load balancing!
ScaleBase partitions the database data into multiple instances and then directs clients’ requests to the relevant instances (using a technique similar to sharding). Request results are aggregated automatically by ScaleBase and the client is presented with a single unified view of the requested data, thus ensuring that the number of database instances are transparent to the application.
By using ScaleBase customers achieve a shared-nothing database architecture. In this architecture, each database and instance is independent, and there is no single point of failure across the system. The ScaleBase Data Traffic Manager itself is also never a bottleneck or a single point of failure as you can include as many controllers as you wish, all since they included in the same shared-nothing architecture, they’re all managed and administered in one place – the central management console.
The ScaleBase solution serves as both a database front end and a database manager, as depicted below:
On the front-end, the ScaleBase data traffic manager serves as a database proxy that mimics the behavior of a regular database by supporting the same network protocol as your existing server.
On the back-end, the ScaleBase data traffic manager ™ distributes data between multiple database servers (using a technique similar to sharding) to ensure the most effective usage of existing hardware. Since each database contains only a portion of the data, the ScaleBase data traffic manager is responsible for directing the SQL commands to the correct database server, aggregating results from the database servers (if necessary) and returning a single result set to the calling application.
ScaleBase achieves high availability by performing constant health checks on the databases and will only routing commands to an active database with a good state and by performing automatic transparent failover when required – if a database becomes inaccessible.
Learn more about MySQL high availability.