Thursday, December 3, 2015

JFG proposed sessions for Percona Live Santa Clara (and Community voting)

This year, Percona introduced Community Voting for Percona Live submission.  This is what you can read on the conference website:
In an effort to involve the larger community in the selection of speaking sessions for the 2016 Percona Live Data Performance Conference, we’ve implemented a community voting process. After a speaker submits a proposal we encourage sharing to the community and social networks for a vote. The more highly ranked proposals will continue onto the next phase of the voting process with the conference committee.

Saturday, October 17, 2015

Binlog Servers for Simplifying Point in Time Recovery

A common way to implement point in time recovery capability is:
  1. to regularly do a full backup of a database,
  2. and to save the binary logs of that database (or from its master if doing backups on a slave).
When point in time recovery is required you need to:
  1. restore a backup,
  2. and apply the binary logs up to the point of recovery.
(Step # 2 and # b above are the ones that will be simplified by using Binlog Servers.)

Thursday, October 15, 2015

Do not run those commands with MariaDB GTIDs - part # 2

Update 2016-01-30: restarting the IO_THREAD might be considered useful in some situations (avoiding MDEV-9138).  Look for "in contrast, if the IO thread was also stopped first" in MDEV-6589 for more information.

In a previous post, I listed some sequences of commands that you should not run on a MariaDB slave that is lagging and which is using the GTID protocol.  Those are the following (do not run them, it's a trap):
  • "STOP SLAVE; START SLAVE UNTIL ...;",
  • or "STOP SLAVE; START SLAVE;" (to remove an UNTIL condition as an example),
  • or "STOP SLAVE; SET GLOBAL slave_parallel_threads=...; START SLAVE;",
  • and maybe others.

Monday, October 12, 2015

Do not run those commands with MariaDB GTIDs - part # 1

In the spirit of sharing war stories and avoiding others to do the same mistakes as I did, here are some sequences of commands that you should avoid to run on a MariaDB slave that is lagging and which is using the GTID protocol.  Remember, do not run those because...

Wednesday, September 9, 2015

Abstracting Binlog Servers and MySQL Master Promotion without Reconfiguring all Slaves

http://blog.booking.com/abstracting_binlog_servers_and_mysql_master_promotion_wo_reconfiguring_slaves.html

Follow the link above to read my latest article on the Booking.com Developer Blog.  It is about Binlog Servers and how to promote a slave as the new master without reconfiguring all slaves.

This is also a good opportunity to remind you of my next talks:
Looking forward to seeing you in Amsterdam and/or in San Francisco.

Sunday, August 30, 2015

Unexpected Memory Consumption for Bulk Index Creation in InnoDB (MySQL)

In my last Booking.com Hackathon, I worked on MyISAM vs InnoDB for data loading (LOAD DATA IN FILE) and bulk index creation.  My motivation was the following: knowing that some are still using MyISAM for this particular use-case, I wanted to verify/understand if/why InnoDB is slower than MyISAM.  I do not yet have complete results on this specific subject but I found some interesting things that are worth sharing.

Wednesday, July 22, 2015

MariaDB 10.0 Parallel Replication Benchmark Results (and PLAMS and OOW).

My latest post is online on the Booking.com blog: Evaluating MySQL Parallel Replication Part 3: Benchmarks in Production.  In this post, I present benchmark results on MariaDB 10.0 parallel replication on four Booking.com production workloads.

This post is also the opportunity to promote my two talks at Percona Live Europe, taking place in Amsterdam from September 21 to 23:
I will also be at Oracle Open World in San Francisco (from October 25 to 29) giving a talk and animating a Birds-of-a-Feather on similar subjects:
Looking forward to see you in Amsterdam and/or in San Francisco.

Thursday, April 23, 2015

Self-Critic and Slides of my PLMCE Talks

The link to the slides of my talks can be found at the end of this post but first, let me share some thoughts about PLMCE.

Talking with people, I was surprised to be criticized of presenting only the good sides of my solution without giving credit to the good side of the alternative solutions.  More than surprised, I was also a little shocked as I want to be perceived as objective as possible.  Let me try to fix that:

Wednesday, April 15, 2015

MaxScale Binlog Server HOWTO: POC for Master Promotion without Touching any Slave

Note: DO NOT use this procedure in production, this is a proof of concept (POC).  MaxScale 1.1.0 does not yet fully support that procedure and things could go wrong in some situations (see at the end of the post for the details).

In my talk at PLMCE 2015, I presented an architecture to promote a slave as a new master without touching any other slave and I claimed that I tested it.  This HOWTO will show you how I did my test so you are able to reproduce my results.

MaxScale Binlog Server HOWTO: Operations (including Chaining)

In the Install and Configure HOWTO, we learned how to install and configure a MaxScale Binlog Server.  In this HOWTO, I will present the common operations that you might need to perform when using this software.  Those operations include:
  • Purging Binary Logs,
  • Chaining Binlog Servers,
  • Saving Binary Log Files in the Non-Default Directory,
  • Downloading Binary Logs other than First,
  • Listing Connected Slaves,
  • Disconnecting one or all Slaves,
  • Differentiating a MaxScale from a MySQL Server,
  • Getting More Information about Slaves (and more),
  • Recovering After a Crash.

MaxScale Binlog Server HOWTO: Install and Configure

Updated 2015-04-25: add the link to the slides of my PLMCE talk and a link to a bug number.

MaxScale 1.1.0 is out and includes the new Binlog Server module.  This is the first post in s series of three.  The two others are about Operations and High Availability.  The links to the 2 other posts are at the end of this page.

In this post, I present how to install and configure MaxScale as a Binlog Server using the Binlog Router plugin.

Wednesday, April 8, 2015

Even Easier Master Promotion (and High Availability) for MySQL (no need to touch any slave)

Dealing with the failure of a MySQL master is not simple.  The most common solution is to promote a slave as the new master but in an environment where you have many slaves, the asynchronous implementation of replication gets in your way.  The problem is that each slave might be in a different state:
  • some could be very close to the dead master,
  • some could be missing the latest transactions,
  • and some could be far behind (lagging, delayed slaves, or slaves in maintenance).

Tuesday, March 31, 2015

MySQL Parallel Replication and Slave Group Commit

http://blog.booking.com/evaluating_mysql_parallel_replication_2-slave_group_commit.html

Follow the link above to read my latest article on the Booking.com developer blog.  It is about MySQL Parallel Replication and a very nice side effect of the MariaDB implementation: Slave Group Commit.

This is also a good opportunity to remind you that I will speak at Percona Live Santa Clara 2015 about Binlog Servers at Booking.com.  More to come about the content of the talk soon.

Wednesday, March 25, 2015

Follow up on MySQL 5.6 GTIDs: Evaluation and Online Migration

One year ago, I blogged about Evaluation and Online Migration of MySQL 5.6 GTIDs.  At that time, we setup the following test environment where:
  • A is a production master with GTIDs disabled,
  • D to Z are standard slaves with GTIDs disabled,
  • B is an intermediate master running my recompiled version of MySQL implementing the ANONYMOUS_IN-GTID_OUT mode (see the details my previous post),
  • C is a slave with GTID enabled.

Friday, March 13, 2015

Promise from PLUK 2014 finally fulfilled: Better Parallel Replication for MySQL

http://blog.booking.com/better_parallel_replication_for_mysql.html

Follow the link above to read my latest article on the Booking.com developer blog.  It is about MySQL Parallel Replication and Binlog Servers.

This fulfills my promise made at Percona Live London 2014 during my talk High Availability, Disaster Recovery and Extreme Read Scaling using Binlog Servers: I finally took the time to write about slide #25.

This post is also a good opportunity to remind you that I will speak at Percona Live Santa Clara 2015 about Binlog Servers at Booking.com.  More to come about the content of the talk soon.