By Santo Leto on Oct 02, 2012
Thanks everyone who attended my hands-on lab on MySQL Cluster at MySQL Connect last Saturday.
The following are the links for the slides, the HOL instructions, and the code examples.
I'll try to summarize my HOL below.
Aim of the HOL was to help attendees to familiarize with MySQL Cluster. In particular, by learning:
- the basics of MySQL Cluster Architecture
- the basics of MySQL Cluster Configuration and Administration
- how to start a new Cluster for evaluation purposes and how to connect to it
We started by introducing MySQL Cluster.
MySQL Cluster is a proven technology that today is successfully servicing the most performance-intensive workloads. MySQL Cluster is deployed across telecom networks and is powering mission-critical web applications.
Without trading off use of commodity hardware, transactional consistency and use of complex queries, MySQL Cluster provides:
- Web Scalability (web-scale performance on both reads and writes)
- Carrier Grade Availability (99.999%)
- Developer Agility (freedom to use SQL or NoSQL access methods)
MySQL Cluster implements:
- an Auto-Sharding, Multi-Master, Shared-nothing Architecture, where independent nodes can scale horizontally on commodity hardware with no shared disks, no shared memory, no single point of failure
In the architecture of MySQL Cluster it is possible to find three types of nodes:
- management nodes: responsible for reading the configuration files, maintaining logs, and providing an interface to the administration of the entire cluster
- data nodes: where data and indexes are stored
- api nodes: provide the external connectivity (e.g. the NDB engine of the MySQL Server, APIs, Connectors)
MySQL Cluster is recommended in the situations where:
- it is crucial to reduce service downtime, because this produces a heavy impact on business
- sharding the database to scale write performance higly impacts development of application (in MySQL Cluster the sharding is automatic and transparent to the application)
- there are real time needs
- there are unpredictable scalability demands
- it is important to have data-access flexibility (SQL & NoSQL)
MySQL Cluster is available in two Editions:
- Community Edition (Open Source, freely downloadable from mysql.com)
- Carrier Grade Edition (Commercial Edition, can be downloaded from eDelivery for evaluation purposes)
MySQL Carrier Grade Edition adds on the top of the Community Edition:
- Commercial Extensions (MySQL Cluster Manager, MySQL Enterprise Monitor, MySQL Cluster Installer)
- Oracle's Premium Support Services (largest team of MySQL experts backed by MySQL developers, forward compatible hot fixes, multi-language support, and more)
We concluded talking about the MySQL Cluster vision:
MySQL Cluster is the default database for anyone deploying rapidly evolving, realtime transactional services at web-scale, where downtime is simply not an option.
From a practical point of view the HOL's steps were:
- MySQL Cluster installation
- start & monitoring of the MySQL Cluster processes
- client connection to the Management Server and to an SQL Node
- connection using the NoSQL NDB API and the Connector J
In the hope that this blog post can help you get started with MySQL Cluster, I take the opportunity to thank you for the questions you made both during the HOL and at the MySQL Cluster booth.
Slides are also on SlideShares: