After dealing with Windows performance, I switched to MySQL
Cluster Configurator (MCC for short) project. This was quite a
change for me having to deal with Python back-end and JavaScript
front-end, languages I was not so familiar with.
For the history of the project, please refer to Andrew's blog post for I will concentrate on changes
made in new version.
There are many exciting new features in MySQL Cluster 7.6.4DMR
including new MCC. To download MySQL Cluster 7.6.4DMR, please go
to Development Releases tab. To see what's new in
7.6.4DMR, please follow this link.
MySQL Cluster Configurator in short With a single …
This blog gives some background to the decisions made when
designing the
storage engine NDB Cluster used in MySQL Cluster around how to
support
real-time requirements (or as I sometime refer to it, predictable
response
time requirements).
Requirement analysisWhen analysing the requirements for NDB
Cluster based on its usage in telecom
databases two things were important. The first requirement is
that we need to
be able to respond to queries within a few milliseconds (today
even down to
tens of microseconds). The second requirement is that we need to
do this while
at the same time supporting a mix of simple traffic queries
combined with a
number of more complex queries running at the same time.
The first requirement was the main requirement that led to NDB
Cluster using a
main memory storage model with durability on disk using a REDO
log and
various …
The swedish research institute, SICS, have worked hard for a few
years on
developing a scalable and a highly available Hadoop
implementation using
MySQL Cluster to store the metadata. In particular they have
focused on the
Hadoop file system (HDFS) and the YARN. Using features of
MySQL
Cluster 7.5 they were able to achieve linear scaling in number of
name
nodes as well as in number of NDB data nodes to the number of
nodes
available for the experiment (72 machines). Read the press
release from
SICS here
The existing metadata layer of HDFS is based on a single Java
server
that acts as name node in HDFS. There are implementations to
ensure
that this metadata layer have HA by using a backup name node and
to
use ZooKeeper for heartbeats and a number of …
I have been fairly quiet on my blog for some time. We've been
very busy
developing new features for MySQL Cluster 7.5 and ensuring that
the
quality is improved even further.
We're now very pleased to release a new version of MySQL
Cluster.
MySQL Cluster 7.5 contains a number of new things that makes
MySQL
Cluster even better.
1) You can declare a table as a READ_BACKUP table. This means
that
the updating transactions will receive the commit
acknowledge
a little bit later to ensure that we can always use any of
the
replicas for reading. We will use the nearest replica for
committed reads, for locking reads we will still use the
primary
replica to avoid deadlocks.
For applications that are mostly read-focused one can make it
easier
to set this variable by setting the ndb-read-backup config
variable
to 1 in the MySQL Server …
Here’s a way to detect the sql query causing a lock or a session to fail, and also to identify the o.s.pid if need be (btw, no rocket science). “a” way.. I’m sure there are many others, so feel free to suggest, please.
So, we’re using MCM, and have created a MySQL Cluster like mentioned in the cluster intro session (in Spanish I’m afraid), using 7.4.6, which comes with 5.6.24.
With the env up and running, set up a schema, some data and run a few queries:
mysql> create database world; mysql> use world; Database changed mysql> source world_ndb.sql
(world_ndb.sql, as you might guess, is the world_innodb tables script, with a little adjustment as to which storage engine to be used.)
Once created, let’s lock things up in Cluster:
mysql -uroot -h127.0.0.1 -P3306 mysql> use test; …[Read more]
MySQL Cluster: El ‘qué’ y el ‘cómo’.
Para aquellos que encuentran mucho sobre MySQL en Inglés pero
poco en Español: mi pequeña aportación.
En el enlace tenéis información sobre qué es MySQL Cluster y cómo
funciona. Incluso con ejemplos técnicos para romper las barreras
y ayudar a simplificarlo (espero).
¡A disfrutar!
January 30, 2015 By Severalnines
In this joint webinar series with our friends from the HAProxy team, we covered the concepts around the popular open-source HAProxy load balancer, and demonstrated how to use it with SQL-based database clusters. We also discussed HA strategies for HAProxy with Keepalived and Virtual IP. |
|
Thanks to everyone who participated in these two sessions this week! Please see below for details on next week’s follow up session 'Performance Tuning for HAProxy & MySQL'.
The topics covered this week included:
- What is HAProxy?
- SQL Load balancing for MySQL
- Failure detection using MySQL health checks
- High Availability with Keepalived and Virtual IP
- Use cases: MySQL/MariaDB Galera Cluster, MySQL NDB …
Thanks to everyone who attended and participated in last week’s webinar on 'Galera Cluster for MySQL vs MySQL (NDB) Cluster: A High Level Comparison'. If you missed the sessions or would like to watch the webinar again & browse through the slides, they are now available online.
In this webinar, Severalnines VP of Products, Alex Yu, who was part of the team at Ericsson who originally developed the NDB storage engine in 2001, gave an overview of the two clustering architectures and discussed their respective strengths and weaknesses:
- MySQL Cluster architecture: strengths and limitations
- Galera Architecture: strengths and limitations
- Deployment scenarios
- Data migration
- Read and write workloads (Optimistic/pessimistic locking)
- WAN/Geographical replication
- Schema changes
- Management and monitoring …
While working with MySQL Cluster, i was looking for a monitoring framework for the cluster.
i came across a library @ https://launchpad.net/ndb-bindings – which had java and other connectors to NDB, the library was a wrapper of the existing C++ NDB Api.
This library allowed me to connect to the management node , get the state of the cluster and get real time notifications about heartbeat misses/node disconnections.
The library error-ed out on some conditions, with a small fix, it can work with MySQL Cluster 7.3.
https://github.com/jaihind213/mysql-cluster-ndb-bindings
I have listed down steps for compilation and running a sample program at github
Yesterday, I got the basics going for MySQL Cluster on POWER. Today, I finished up a couple more patches to improve performance and ran some benchmarks.
This is on a 3.7Ghz POWER8 machine with non-balanced memory (only 2 of the 4 NUMA nodes have memory, so we have less total memory bandwidth than we could have, plus I’m going to bind ndbmtd to the CPUs in these NUMA nodes)
With a setup of a single replica and two data nodes on the one machine (each bound to a specific NUMA node), running the flexAsync benchmark on MySQL Cluster 7.3.7, I could get around:
- 3.2 million reads/sec
- 2.6 million deletes/sec
- 2.4 million updates/sec
- 2.4 million inserts/sec.
So, that’s at least in the right ballpark for a first go.
(I’m running this on a big endian host …
[Read more]