We are very excited about the next release of MySQL Group Replication 0.9.0 in MySQL 5.7.15 and the great work that has been done to improve its stability. Release after release, MySQL Group Replication becomes more stable and more user-friendly and has reached a maturity level that made us declare 0.9.0 a release candidate.…
10 Older Entries »
(Almost) another new year by Jewish calendar. What do I wish for the following year?
- World peace
- Good health to all
- Relaxed GTID constraints
I'm still not using GTID, and still see operational issues with
working with GTID. As a latest example, our new schema migration
solution, gh-ost, allows us to test migrations in production, on
replicas. The GTID catch?
gh-ost has to write
something to the binary log. Thus, it "corrupts" the replica with
a bogus GTID entry that will never be met in another server, thus
making said replica unsafe to promote. We can work around this,
I understand the idea and need for the
Set. It will certainly come in handy with
multi-writer InnoDB Cluster. However for most use cases GTID
poses a burden. The reason is that our topologies are imperfect,
and we as humans are imperfect, and operations are …
I have a new blog post on blog.booking.com describing MariaDB 10.1 Optimistic Parallel Replication (with benchmark results):
Evaluating MySQL Parallel Replication Part 4: More Benchmarks in Productionhttp://blog.booking.com/evaluating_mysql_parallel_replication_4-more_benchmarks_in_production.html
If you want to know more about MySQL/MariaDB Parallel Replication and if you are attending Percona
MySQL operations in Docker is a three-hour tutorial, and it will be an expansion of the talk by the same title presented at OOW. Attendees who want to play along can do it, by coming prepared with Docker 1.11 or later and the following images already pulled (images with [+] are mandatory, while [-] are optional):
MySQL is a growing presence at Oracle Open World. While most of the headlines belong to the main products, where Oracle services are aiming at world domination, MySQL shared the spotlight, as it was announced to be part of Oracle database cloud. It seems a logical move for Oracle: after all the effort to make MySQL 5.7 the biggest release ever, it stands to reason that it is offered as a competitive feature in its own database as a service.
With this offer, Oracle is applying enterprise pricing and methodologies to a target of emerging companies. MySQL in the Oracle cloud differs from the competition by a few key points:
- It's only MySQL 5.7. While this is the most advanced MySQL server …
One of the most interesting features introduced in MariaDB
10 was without doubt multi source replication, or the ability for
a slave to have multiple masters.
Tired of hearing complaints from developers who couldn't join tables because they were on different servers, I decided to give MariaDB a try to see if I could leverage this neat feature.
At the time, we had 5 main clusters, classic multi-master active/standby configuration, with some slaves under each of them. I wanted to create a "super slave" that would contain the dataset from all the five clusters, so that developers could connect to it and join at will.
The initial creation of the MariaDB superslave was easy. After installing the binaries, I just bootstrapped it with an xtrabackup copy of our main cluster and set up replication. All went just fine as expected.
Suddendly I realized that I couldn't use xtrabackup to bring the datasets from other …
Another day at the office...
"Whoa, the write workload on our statistical cluster has suddendly increased by 20% and the filesystem that holds the binary logs is no longer large enough".
Of course, I had warned the boss about this possibility when I received those servers with that tiny 250G filesystem for binlogs, but my red flag was just ignored as usual.
So here we are, presto I get this new shiny 600G LUN, but we need to stop the damn MySQL server in order to repoint the log_bin variable to the new storage area.
Dunno about you, but the idea of waking up at 2am to just perform a variable change is not something that makes me particularly happy. Not to mention the maintenance period that is needed around it....
So, I decided to investigate a bit about the possibilities to do such change without stopping the service.
As we all know, the log_bin …
There was a bold announcement during the MySQL Keynote at Oracle Open World. A new product that will mix up with the existing GA server, called MySQL InnoDB Cluster. This is an evolution of MySQL group replication, which has been in the labs for long time, and the MySQL shell, which was introduced as a side feature last April. The boldness I mentioned before is on account of wanting to add to a GA server something that was defined as release candidate despite never having been out of the labs. The product is interesting as it promises to be a quick and painless cluster deployment, with built-in high availability and scalability.
Now that MySQL 8.0 has been revealed, it's time to take a deep look at replication features in the latest releases, and review its overall design.
Server UUID vs Server-ID
At the beginning of replication, there was the
server_id variable that identified uniquely a node
in a replication system. The variable is still here, but in MySQL
5.6 it was joined by another value, which is created during the
server initialisation, regardless of its involvement in a
replication system. The
server_uuid is a string of
hexadecimal characters that is the basis for global transaction
select @@server_id, @@server_uuid;
| @@server_id | @@server_uuid |
In this blog post we will present a first look at the performance of Group Replication (GR), now that the RC is out. The goal is to provide some insight on the throughput, latency and scalability one can expect in a modern computing infrastructure, using GR in single- and multi-master configurations, but mostly focused on single-master.…
10 Older Entries »