Skip to content

# Month: September 2017

## gh-ost 1.0.42 released: JSON support, optimizations

MySQL gh-ost Open Source September 14, 2017September 15, 2017

gh-ost 1.0.42 is released and available for download.

### JSON

MySQL 5.7’s `JSON` data type is now supported.

There is a soft-limitation, that your `JSON` may not be part of your `PRIMARY KEY`. Currently this isn’t even supported by MySQL anyhow.

### Performance

Two noteworthy changes are:

- Client side prepared statements reduce network traffic and round trips to the server.
- Range query iteration avoids creating temporary tables and filesorting.

We’re not running benchmarks at this time to observe performance gains.

### 5.7

More tests validating `5.7` compatibility (at this time GitHub runs MySQL `5.7` in production).

### Ongoing

Many other changes included.

We are grateful for all community feedback in form of open Issues, Pull Requests and questions!

`gh-ost` is authored by GitHub. It is free and open source and is available under the MIT license.

### Speaking

In two weeks time, Jonah Berquist will present gh-ost: Triggerless, Painless, Trusted Online Schema Migrations at Percona Live, Dublin.

Tom Krouper and myself will present MySQL Infrastructure Testing Automation at GitHub, where, among other things, we describe how we test `gh-ost` in production.

## Speaking at Percona Live Dublin: keynote, orchestrator tutorial, MySQL testing automation

MySQL Open Source PerconaLive secondary Speaking September 13, 2017September 13, 2017

I’m looking forward to a busy Percona Live Dublin conference, delivering three talks. Chronologically, these are:

- Practical orchestrator tutorial
  Attend this 3 hour tutorial for a thorough overview on orchestrator: what, why, how to configure, best advice, deployments, failovers, security, high availability, common operations, …
  We will of course discuss the new orchestrator/raft setup and share our experience running it in production.
  The tutorial will allow for general questions from the audience and open discussions.
- Why Open Sourcing Our Database Tooling was the Smart Decision
  What it says. A 10 minute journey advocating for open sourcing infrastructure.
- MySQL Infrastructure Testing Automation at GitHub
  Co-presenting with Tom Krouper, we share how & why we run infrastructure tests in and near production that gives us trust in many of our ongoing, ever changing operations. Essentially this is “why you should feel OK trusting us with your data”.

See you there!

## orchestrator 3.0.2 GA released: raft consensus, SQLite

MySQL Open Source orchestrator September 12, 2017September 12, 2017

orchestrator 3.0.2 GA is released and available for download (see also packagecloud repository).

`3.0.2` is the first stable release in the `3.0*` series, introducing (recap from 3.0 pre-release announcement):

### orchestrator/raft

Raft is a consensus protocol, supporting leader election and consensus across a distributed system. In an `orchestrator/raft` setup `orchestrator` nodes talk to each other via raft protocol, form consensus and elect a leader. Each `orchestrator` node has its own dedicated backend database. The backend databases do not speak to each other; only the `orchestrator` nodes speak to each other.

No MySQL replication setup needed; the backend DBs act as standalone servers. In fact, the backend server doesn’t have to be MySQL, and `SQLite`is supported. `orchestrator` now ships with `SQLite` embedded, no external dependency needed.

For details, please refer to the documentation:

- orchestrator/raft: overview
- orchestrator/raft vs. shared backend DB setup, comparison

### SQLite

Suggested and requested by many, is to remove `orchestrator`‘s own dependency on a MySQL backend. `orchestrator` now supports a SQLite backend.

`SQLite` is a transactional, relational, embedded database, and as of `3.0` it is embedded within `orchestrator`, no external dependency required.

### orchestrator-client

orchestrator-client is a client shell script which mimics the command line interface, while running `curl | jq` requests against the HTTP API. It stands to simplify your deployments: interacting with the orchestrator service via `orchestrator-client` is easier and only requires you to place a shell script (this is as opposed to installing the `orchestrator` binary + configuration file).

`orchestrator-client` is the way to interact with your `orchestrator/raft` cluster. `orchestrator-client` now has its own `RPM/deb` release package.

You may still use the web interface, web API ; and a special `--ignore-raft-setup` keeps power at your hand (use at your own risk).

### State of orchestrator/raft

`orchestrator/raft` is a big change: Continue reading » “orchestrator 3.0.2 GA released: raft consensus, SQLite”

## Remembering Jaakko Pesonen

MySQL community secondary September 9, 2017

I was sorrowed to hear that Jaakko Pesonen has passed away after battling cancer.

I first met Jaakko a few years back, during a Percona Live conference, and as community goes, our paths crossed again a few times. He spoke at and attended conferences where we’d have casual chats.

We were both expats in the Netherlands for a period. As I moved in from Israel, he was already working at Spil Games, having relocated from Finland, his home country. We shared expat experiences and longings to our homes. One day he pinged me that he was planning a trip to Israel – and the next few days were all about planning the best culinary experience of his travel (he approved of the results).

He was happy for the opportunity to work for Percona, as this allowed him to move back home to Finland.

Jaakko had the biggest, widest, most consuming smile, and this smile will sure be the most vivid memory of him that I’ll keep.

> I do not have personal pictures of Jaakko. This picture was taken by Julian Cash at Percona Live. A rare non-smiling appearance.

## Speaking at August Penguin, MySQL Track, GitHub sponsored

MySQL gh-ost GitHub Open Source orchestrator Speaking September 3, 2017September 3, 2017

This Thursday I’ll be presenting at August Penguin, conveniently taking place September 7th, 8th, Ramat Gan, Israel.

I will be speaking as part of the MySQL track, 2nd half of Thursday. The (Hebrew) schedule is here.

My talk is titled Reliable failovers, safe schema migrations: open source solutions to MySQL problems. I will describe some of the open source MySQL infrastructure work we run at GitHub ; how it solves reliability, availability and usability. I’ll describe some of our internal workflows and our use of chat and chatops.

I’m proud to announce GitHub sponsors the event. We won’t have a booth, but please do grab me in the hallways or over lunch to chat!

And, yes, octocat stickers will be made available 🙂