MySQL Cluster Carrier Grade Edition Architecture
MySQL Cluster Carrier Grade Edition (CGE) allows your database to handle increasing data volumes and user loads. MySQL Cluster gives you shared technology for your clustering, as well as auto sharding. You get low latency, high throughput and availability, as well as almost linear scalability.
MySQL Cluster Carrier Grade Edition consists of multiple nodes that may be allocated across different hosts to make sure that availability is continuous should a network, data node or hardware failure happen. It uses a storage engine that is made up of a variety of data nodes to keep data. That data is accessed via their own APIs, such as HTTP, LDAP, Java or C++. Either that or it is accessed via a standard SQL interface that is used by the MySQL server.
MySQL Cluster Carrier Grade Edition has the ability to handle failure of multiple nodes. It can reconfigure itself so that no data is lost. This, along with the data distribution transparency and partitioning from the application layer, gives developers an easy time when including high availability in their applications. Indeed, you can have a highly available application with writing complete codes or doing resynchronization of data.Click here to read more about this article
MySQL Cluster Carrier Grade Edition also allows you to do a variety of administrative tasks without affecting the service. You can scale data and processing storage, back your system up, update your database schemas and upgrade software and hardware within the cluster.
And because it needs no shared storage and other additional infrastructure, you can run MySQL Cluster Carrier Grade Edition on any commodity OS platforms and hardware. This gives you savings with your database solution, even if you use it for your business’ most important applications. The system can give you carrier-grade performance and ability without breaking the bank!
There are three different kinds of nodes within the MySQL Cluster Carrier Grade Edition: the management nodes, the data nodes and the application nodes.
- Data nodes. A data node is the main node of the cluster, which gives you data storage, data management, data partitioning, data replication, data retrieval, automatic failover and resynchronization.
- Application nodes. Application nodes are what connect your applications to the data node. The interfaces you use to do this include NDBCLUSTER, JAVA APIs or a connection to the MySQL Servers, which allows you to use an SQL interface for the data stored within the cluster you are using. All updates to the data within the cluster are readily available to all application nodes that are found within a cluster. You can also add application nodes without powering down the cluster.
- Management nodes. Management nodes allow you to manage the cluster. It also enables you to share the cluster configuration with other nodes. These nodes are only used when there is a reconfiguration of the system or during startup. As such, you can stop or restart a management node without disrupting current data execution, and the application nodes. You can also use management nodes to virtually divide the network during a failure. This allows you to have a cluster that exhibits network partitioning or having a split-brain situation.
As you can see, the architecture of MySQL Cluster Carrier Grade Edition is distributed and dependencies between nodes are minimal. Because of that, your applications will continue running and data will remain consistent even when any one of these nodes fails.
If you want to know more about MySQL Cluster Carrier Grade Edition’s architecture, you can read our source here.
Photo courtesy of Oracle.