Distributed MySQL Database – Architecture
ScaleBase’s distributed database architecture is designed for modern, web-scale applications. These applications must dynamically address ongoing exponential growth and are often characterized by having a large number of concurrent users, and high transaction loads.
The diagram below shows the main components in ScaleBase’s distributed database architecture. These components can be setup to support different workload situations. Each component can scale out/in independently and irrespectively of the others in its layer – thus providing high availability and elasticity with no single point of failure.
Configuration Servers: Configuration servers hold all of the distributed database metadata and configuration information.
Transaction Management Layer
ScaleBase transaction manager continuously executes and manages the optimized data distribution policies locally or across regions and clouds. The rational is bring the query to the data, and not the data to the query, to optimize performance and scalability.
ScaleBase manages all transactions, upholds the SQL query model and supports cross-database joins while maintaining ACID compliance.
MySQL Data Cluster
MySQL/InnoDB: used for data storage.
One or more shared nothing clusters: Clusters can be designed in different ways to best support different workload distribution situations.
The example below shows a single master r/w node and two read replica nodes per single data partition. This allows for both HA within the partition, as well as read scalability.
All the partitions together form a shared nothing data cluster that can be distributed across multi locations.
Speak with ScaleBase about your application requirements to know which design layout will best satisfy your situation.