On Thursday and Friday I attended the pre-FOSDEM MySQL Days fringe event, where there were two tracks of talks and tutorials on MySQL including sessions on :
- MySQL Server simplification
- MySQL replication tooling improvements
- Configuring group replication
- Troubleshooting group replication
- Using DNS for loadbalancing and failover
- Upgrading to MySQL 8.0
- New hash join implementation
- Indexing JSON arrays
- Datetime types
- Check constraints
- New VALUES() syntax
- Security-hardening MySQL
- Document store
- MySQL Analytics
- MySQL Replication performance modelling
- Machine learning for MySQL service automation
- Using reduced durability modes
- Using Vitesse
- Using InnoDB Cluster
There were sessions from Oracle, Percona, Planetscale, Facebook, TicketSolve, DBdeployer and Uber.
Naturally the highlights for me were the Friday sessions focused on MySQL Ndb Cluster including :
- MySQL Ndb 8.0 101 - Bernd Ocklin
Bernd from Oracle introduced MySQL Ndb Cluster 8.0 which became generally available just last month. He covered the concepts, history, system capabilities and the recent changes, setting the scene well for the following sessions.
Bernd also discussed MySQL Ndb Cluster in this video interview.
- MySQL NDB 8.0 clusters in your laptop with DBdeployer - Giuseppe Maxia
This was a great session from the Datacharmer Giuseppe, where he talked about DBdeployer, which is a tool for trying out different database software versions, configurations and topologies. Giuseppe demonstrated how to use DBDeployer to setup two MySQL Ndb Clusters very simply, starting them in under 30 seconds and testing both the synchronous internal replication within each cluster and the asynchronous replication between them.
If you want to experiment with MySQL Cluster then I think DBDeployer looks like the easiest and quickest way to get started.
- SQL with MySQL Ndb 8.0 faster than your NoSQL allow - Bernd Ocklin
This session was focused on one of Ndb's traditional strengths - performance. Bernd presented an array of benchmarks showing that MySQL Ndb Cluster continues to be faster than the NoSQL products invented in response to the claim that 'SQL cannot scale'.
The presentation had lots of graphs and numbers showing linear scalability, hundreds of millions of reads per second from a single cluster, winning efficiency + performance comparisons on YCSB, scalability of parallel disk I/O and scalability of Ndb as a Hadoop metadata and small file store.
Bernd then gave some insights into the unique architecture of Ndb, which allows it to achieve these numbers.
Finally there were some more graphs and numbers :
First looking at TPC-H query performance as data node internal parallelism scales, and showing how the query processing parallelism in Ndb allows a 2-node distributed (HA) Ndb setup to outperform a single node InnoDB on some queries.
Next looking at DBT2 (TPC-C) scalability as # replicas and # NodeGroups were increased, and also looking at the behaviour of DBT2 when run using Optane memory for system scale.
- Boosting MySQL Ndb Cluster & MySQL InnoDB Cluster with ProxySQL v2 - Marco Tusa
Marco from Percona showed how having a layer of proxies in front of a cluster can simplify providing an HA MySQL service, smooth operations and allow new features not available in MySQL itself. He laid out architectures for InnoDB Cluster and Ndb Cluster, and noted that Ndb cluster was the only cluster that could scale out writes.
He enthusiastically followed this up with numbers by showing how adding MySQL Servers to a cluster can allow it to scale beyond the limits imposed by a single MySQLD.
- MySQL Ndb 8.0 Cluster tutorial - Frazer Clement
In my session we stepped through installing, configuring, starting and using a MySQL Cluster, including looking at high availability features, push down joins, foreign keys, JSON, Binlogging, Synchronized privilieges, and online scale-out.
The audience were generous with feedback and questions, complementing my mid-90's style use of a text file, and generally surprised at how easily they had a cluster running on their laptop, even when manually performing all the steps required.
After my tutorial, I was interested in locating and consuming a drink, and luckily the MySQL Community dinner was just starting in the event venue. This was a very agreeable event, well attended by the wider community including colleagues from 'old MySQL' that I had not seen for over 10 years. It is great to see that while there are differences of opinion, and competition, we still have more in common than not.
On Saturday the action moved to the FOSDEM conference itself, running in a University campus. Despite looking at the program I had not quite appreciated the volume of tracks, sessions and experts that would be present and talking in the rooms and the corridors. The MySQL developer room alone had 17 talks from across the community, one every half hour for eight and a half hours !
I spent most of my time here, but also attended some talks in the other tracks, including some interesting performance talks in the Software Defined Networking room including a nice one on vectorising packet processing in DPDK. Unfortunately I was unable to attend the run a mainframe on your laptop session in the Retrocomputing room, but luckily everything was being streamed, and the videos are being uploaded here. While wandering around the University campus I stumbled upon a bar and tried some of the (open-source?) FOSDEM beer.
I will not bore you by enumerating all of the sessions, following beers and conversations, but I can definitely recommend reviewing the schedule and viewing some of the captured videos to get a bit of the experience for yourself. Even better, if this sounds like your sort of thing, why not see if you can find a way to attend yourself, in 2021?
Many thanks to lefred for organising, running, presenting, photographing and tweeting across all the events.