70x Higher Performance, Cross Data
Center Scalability and New NoSQL Interface
Its
been an exciting week for all involved with MySQL Cluster, with the
announcement of the second Development Milestone Release (7.2.1) at Oracle Open
World. Highlights include:
- Enabling next generation
web services: 70x higher complex query performance, native memcached API and
integration with the latest MySQL 5.5 server
- Enhancing cross data
scalability: new multi-site clustering and enhanced active/active replication
- Simplified provisioning: consolidated user
privileges.
You can download the DMR for evaluation now from: http://dev.mysql.com/downloads/cluster/ (select Development Milestone Release tab).
You
can also read up on the detail of each of these features in the new article posted
at the MySQL Developer Zone. In this blog, I’ll summarize the main
parts of the announcement.
70x Higher Performance with
Adaptive Query Localization (AQL)
Previewed as part of the first MySQL Cluster DMR,
AQL is
enabled by a new Index Statistics function that allows the SQL optimizer to
build a better execution plan for each query.
As a result, JOIN operations are pushed
down to the data nodes where the query
executes in parallel on local copies of the data. A merged result set is then
sent back to the MySQL Server, significantly enhancing performance by reducing
network trips.
Take a look at how this is used by a
web-based content management to increase performance by 70x
Adaptive Query Localization enables MySQL
Cluster to better serve those use-cases that have the need to run real-time
analytics across live data sets, along with high throughput OLTP operations.
Examples include recommendations engines and clickstream analysis in web
applications, pre-pay billing promotions in mobile telecoms networks or fraud
detection in payment systems.
New NoSQL Interface and
Schema-less Storage with the memcached API
The memcached interface released as an Early Access project with the first
MySQL Cluster DMR is now integrated directly into the MySQL Cluster 7.2.1
trunk, enabling simpler evaluation.
The
popularity of Key/Value stores has increased dramatically. With MySQL Cluster and the new memcached API,
you have all the benefits of an ACID RDBMS, combined with the performance
capabilities of Key/Value store.
By
default, every Key / Value is written to the same table with each Key / Value
pair stored in a single row – thus allowing schema-less data storage.
Alternatively, the developer can define a key-prefix so that each value is
linked to a pre-defined column in a specific table.
Of course if the application needs to access the same data through SQL
then developers can map key prefixes to existing table columns, enabling Memcached access
to schema-structured data already stored in MySQL Cluster.
You
can read more about the design goals and implementation of the memcached API
for MySQL Cluster here.
Integration with MySQL 5.5
MySQL
Cluster 7.2.1 is integrated with MySQL Server 5.5, providing binary
compatibility to existing MySQL Server deployments. Users can now fully exploit
the latest capabilities of both the InnoDB and MySQL Cluster storage engines
within a single application.
Users
simply install the new MySQL Cluster binary including the MySQL 5.5 release,
restart the server and immediate have access to both InnoDB and MySQL Cluster!
Enhancing Cross Data Center
Scalability: Simplified Active / Active Replication
MySQL Cluster has long offered Geographic Replication, distributing clusters
to remote data centers to reduce the affects of geographic latency by pushing
data closer to the user, as well as providing a capability for disaster
recovery.
Geographic replication has always been designed around an Active /
Active technology, so if applications are attempting to update the same row on
different clusters at the same time, the conflict can be detected and
resolved. With the release of MySQL Cluster
7.2.1, implementing Active / Active replication has become a whole lot
simpler. Developers no longer need to
implement and manage timestamp columns within their applications. Also
rollbacks can be made to whole transactions rather than just individual
operations.
You can learn more here.
Enhancing Cross Data Center
Scalability: Multi-Site Clustering
MySQL Cluster 7.2.1 DMR provides a new option for cross data center
scalability – multi-site clustering. For
the first time splitting data nodes across data centers is a supported
deployment option.
Improvements to MySQL Cluster’s heartbeating mechanism with a new “ConnectivityCheckPeriod”
parameter enables greater resilience to temporary latency spikes on a WAN,
thereby maintaining operation of the cluster.
With this deployment model, users can synchronously replicate updates
between data centers without needing conflict detection and resolution, and
automatically failover between those sites in the event of a node failure.
Users
need to characterize their network bandwidth and latencies, and observe best
practices in configuring both their network environment and Cluster. More
guidance is available here.
User
Privilege Consolidation
User
privilege tables are now consolidated into the data nodes and centrally
accessible by all MySQL servers accessing the cluster.
Previously the privilege tables were local to each MySQL server, meaning
users and their associated privileges had to be managed separately on each
server. By consolidating privilege data, users need only be defined once and
managed centrally, saving Systems Administrators significant effort and
reducing cost of operations.
Summary
The MySQL Cluster 7.2.1 DMR enables new classes of use-cases to benefit
from web-scale performance with carrier-grade availability.
You can download the DMR for evaluation now from: http://dev.mysql.com/downloads/cluster/ (select
Development Milestone Release tab).
You can learn more about the MySQL Cluster architecture from our Guide
to scaling web databases.
Let us know what you think of these enhancements directly in comments of
this or the associated blogs. We look forward to working with the community to
perfect these new features.
PlanetMySQL Voting:
Vote UP /
Vote DOWN