2019 ends

Another year comes to a close. I’m in Kuala Lumpur (3rd year running) for New Year’s, and for the first time in a long time, I’m actually happy to be here. KL is growing on me.

Travel stats: 30 trips, 219 days on the road, 388,834 km travelled, 45 cities, 16 countries. This is 1 trip more than 2018, 30 days less on the road (!), 2,285km less, 4 countries less and 12 cities less. Nothing particularly stood out, though I did visit Richmond, VA, Chiang Mai, Thailand (will return) and Koh Samui, Thailand (will definitely return; besides my hotel and another villa, I saw nothing) for the first time. In what is also rare, I did not make it to Seoul all year (compared to every month during the heyday, keeping it under 60 days per year). I did go to Bali twice, which I enjoyed immensely.

Overall, I consider that I spent quite a bit of my time drifting, coasting, et al. but found my rhythm in the second half of the year. I have started paying attention to being fit and healthy, and maybe that is the best change I’ve made to my life. I’ve also generally quit drinking alcohol, so if I have a glass to toast with you, you’ve got to be extremely special (or it is an extremely special occasion).

I welcome 2020 with arms wide open.

Database Tab Sweep

I miss a proper database related newsletter for busy people. There’s so much happening in the space, from tech, to licensing, and even usage. Anyway, quick tab sweep.

Paul Vallée (of Pythian fame) has been working on Tehama for sometime, and now he gets to do it full time as a PE firm, bought control of Pythian’s services business. Pythian has more than 350 employees, and 250 customers, and raised capital before. More at Ottawa’s Pythian spins out software platform Tehama.

Database leaks data on most of Ecuador’s citizens, including 6.7 million children – ElasticSearch.

Percona has launched Percona Distribution for PostgreSQL 11. This means they have servers for MySQL, MongoDB, and now PostgreSQL. Looks very much like a packaged server with tools from 3rd parties (source).

Severalnines has launched Backup Ninja, an agent-based SaaS service to backup popular databases in the cloud. Backup.Ninja (cool URL) supports MySQL (and variants), MongoDB, PostgreSQL and TimeScale. No pricing available, but it is free for 30 days.

Comparing Database Types: How Database Types Evolved to Meet Different Needs

New In PostgreSQL 12: Generated Columns – anyone doing a comparison with MariaDB Server or MySQL?

Migration Complete – Amazon’s Consumer Business Just Turned off its Final Oracle Database – a huge deal as they migrated 75 petabytes of internal data to DynamoDB, Aurora, RDS and Redshift. Amazon, powered by AWS, and a big win for open source (a lot of these services are built-on open source).

MongoDB and Alibaba Cloud Launch New Partnership – I see this as a win for the SSPL relicense. It is far too costly to maintain a drop-in compatible fork, in a single company (Hi Amazon DocumentDB!). Maybe if the PostgreSQL layer gets open sourced, there is a chance, but otherwise, all good news for Alibaba and MongoDB.

MySQL 8.0.18 brings hash join, EXPLAIN ANALYZE, and more interestingly, HashiCorp Vault support for MySQL Keyring. (Percona has an open source variant).

AirPods Pro

I happened to have some time over lunch so popped by the Regent Street Apple Store, and there were plenty of AirPods Pro available for sale, in a cordoned off area.

I was asked if I’d like to try it on, as they had a part of the store setup for this. I told the sales associate I was just interested in the purchase and would not want to try something that’s been in someone’s ears. The Apple sales process is quick, because they’ve got all your customer details handy, worldwide. 

Walking out, I realised I needed to update my iPhone to iOS 13.2. Nothing I could not do after lunch while at a meeting, right? 700MB+ download plus about 45 minutes later, I was ready to try using it.

What better place to try it that noisy Oxford Street, between Tottenham Court Road and Marble Arch? I did one walk with my current pair of AirPods, and another walk in the opposite direction using the AirPods Pro. 

Overall, I came off wowed. Noisy luxury vehicles revving their engines only to stop at the next set of traffic lights? The sirens of the police vehicles? Crowds of people chattering? I was calmly listening to the Taylor Swift Apple Essentials playlist without skipping a beat. 

Taylor Swift seemed like an apt choice because she was once exclusive to Apple Music (“Music is art, and art is important and rare. Important, rare things are valuable. Valuable things should be paid for.”). You could even not mishear the mondegreen in Blank Space!

Upon reaching home, I did try the Ear Tip Fit Test. Admittedly, it was not that intuitive, as I had to find out how to do it via reading the documentation. Turns out the mediums that it shipped with was perfect for my ear. 

I visited the gym, and while just running it in normal mode would have been fine, if you want to enjoy undisturbed music fidelity, you turn on noise cancelling mode, and the noise of two running on the treadmill just disappeared. It was a different experience. I know its supposed to be sweat resistant, but I felt my old pair of regular AirPods have done just fine in the gym.

The real test would come the day after when I would take a ride on the tube and the DLR. I’m pleased to say the AirPods Pro cancels noise perfectly, and I did not once miss my Bose headphones (for context I’ve never owned their earphones, and have used their headphones for over a decade). Those of you that ride the tube know that it can get noisy in the underground, and if you’re trying to listen to a podcast or audiobook you may have to turn the volume up a lot more (even then it might not work). I never went above 50% of volume with noise cancelling turned on, so I presume this is better for my hearing, overall!

I took a call in a noisy airport lounge, and I heard the other two better than I normally would have done, again thanks to the noise cancelling feature. They did not report hearing me better or any worse, so maybe there are no improvements mic wise.

Today I managed to try it on a plane, which is where I most commonly use my noise cancelling headphones (AirPods have won out for every other use); again I never once felt I missed my Bose. I listened to music while reading, and I’m sure I could have also watched a movie or TV show without issue. 

I don’t think I’d be a frequent user of Transparency Mode, but while ordering a cab, and then telling the cab driver directions towards where I wanted to be dropped, it was useful. I surprisingly could enjoy the music while doing these daily tasks. Naturally switching to this mode is going to take some getting used to — it has been so common to remove one AirPod from the ear (and Apple has thoughtfully ensured that even in Noise Cancelling mode, the other in-ear AirPod switches to Transparency Mode). I guess if I jogged on the road, it would also make sense to be able to hear my surroundings. 

I find that running it with noise cancelling mode turned off makes it feel like I’m using regular AirPods. It works for most general use cases. With long term use, I know they feel different compared to regular AirPods but I did not find it uncomfortable.

I’m going back to 2 AirPods life — one regular one (for gym and maybe calls), and one Pro variant for when I use public transport and find myself in noisy situations. Though when the regular pair eventually meet their demise (dead batteries are so common, like my first ever pair), I will probably go all in on the AirPods Pro.

I’m a little mixed considering it costs a lot and the replacement cycle seems to be quite frequent (anything above 18 months seems like a bonus) compared to say my Bose, where I still have a pair that’s over 10 years old. I’ll be using the pair I picked up last year a lot less now… However, it fits in my jeans coin pocket so will get a lot more use than either my Bose QC15 or QC25.

Percona Live Europe Amsterdam Day 1 notes

Percona Live Europe Amsterdam Day 1 was a bunch of fun, especially since I didn’t have to give a talk or anything since my tutorial was over on Day 0.

At lunch, I realised that there are a lot more fringe events happening around Percona Live… and if you’ve seen how people do “tech weeks”, maybe this is what the event ends up being – a show, plus plenty of focused satellite events. FOSDEM in the open source world totally gets this, and best of all, also lists fringe events (see example from 2019).

So, Thursday evening gets a few fringe events, a relatively short train ride away:

Anyway, what was Day 1 like? Keynotes started the morning, and I did make a Twitter thread. It is clear that there is a lot of talk amongst companies that make open source software, and companies in the ecosystem that somehow also derive great value from it. Some look at this as the great cloud vendors vs open source software vendors debate, but this isn’t necessarily always the case – we’ve seen this as Percona’s model too. And we’ve seen cloud companies contribute back (again, just like Percona). Guess this is a topic for a different post, because there are always two sides to this situation…

It is also clear that people want permissive open source licenses over anything source available. If you’re a CxO looking for software, it would be almost irresponsible to be using critical software that is just source available with a proprietary license. After all, what happens when the company decides to ask for more money? (Companies change ownership too, you know).

It is probably clear the best strategies are the “multi” (or hybrid) strategies. Multiple databases, multiple clouds, and going all in on open source to avoid vendor lock-in. Of course, don’t forget that open source software also can have “vendor lock-in” – always look at the health metrics of a project, vs. a product. We’re lucky in the MySQL ecosystem that we have not just the excellent work of Oracle, but also MariaDB Corporation / MariaDB Foundation and also Percona.

MySQL 8.0 adoption is taking off, with about 26% of the users on it. Those on MySQL 5.6 still seem to be on it, and there has been a decrease in 5.7 use to grow that 8.0 pie. It isn’t clear how these stats are generated (since there is no “phone home” functionality in MySQL; also the MariaDB Server variant doesn’t get as much usage as one would like), but maybe it is via download numbers?

Anyone paying any attention to MySQL 8 will know that they have switched to a “continuous delivery model”, also known as, you get new features in every point release. So the latest 8.0.18 gets EXPLAIN ANALYZE, and while we can’t try it yet (not released, and the documentation isn’t updated), I expect it will be fairly soon. I am eager to try this, because MariaDB Server has had ANALYZE since 10.1 (GA – Oct 2015). And it wasn’t long ago that MySQL received CHECK constraints support (8.0.16). Also the CLONE plugin in 8.0.17 warrants some checking/usage!

Besides all the hallway chats and meetings I did manage to get into a few sessions… Rakuten Intelligence talked about their usage of ProxySQL, and one thing was interesting with regard to their future plans slide – they do consider group replication but they wonder what would replace their custom HA software? But most importantly they wonder if it is stable and which companies have successfully deployed it, because they don’t want to be the first. Question from the floor about Galera Cluster came up, and they said they had one app that required XA support – looks like something to consider once Galera 4 is fully baked!

The PXC–8 talk was also chock full of information, delivered excellently, and something to try soon (it wasn’t quite available yesterday, but today I see a release announcement: Experimental Binary of Percona XtraDB Cluster 8.0).

I enjoyed the OpenCorporates use case at the end too. From the fact that for them, being on-premise would be cheaper than the cloud, how they use ProxySQL, Galera Cluster branch Percona XtraDB Cluster (PXC), and ZFS. ZFS is not the most common filesystem for MySQL deployments, so it was interesting to see what could be achieved.

Then there was the Booking.com party and boy, did they outdo themselves. We had a menu, multi-course meal with wine pairings, and a lot of good conversation. A night wouldn’t be complete without some Salmiakkikossu, and Monty sent some over for us to enjoy.

Food at the Hilton has been great too (something I would never really want to say, considering I’m not a fan of the hotel chain) – even the coffee breaks are well catered for. I think maybe this has been the best Percona Live in terms of catering, and I’ve been to a lot of them (maybe all…). I have to give much kudos to Bronwyn and Lorraine at Percona for the impeccable organisation. The WiFi works a charm as well. On towards Day 2!

ProxySQL Technology Day Ghent 2019

Just delivered a tutorial on MariaDB Server 10.4. Decided to take a closer look at the schedule for Percona Live Europe Amsterdam 2019 and one thing is clear: feels like there should also be a ProxySQL tutorial, largely because at mine, I noticed like 20% of the folk saying they use it.

Seems like there are 2 talks about it though, one about real world usage on Oct 1, and one about firewall usage with AWS, given by Marco Tusa on Oct 2.

Which led me to the ProxySQL Technology Day 2019 in Ghent, Belgium. October 3 2019. 2 hour train ride away from Amsterdam Schipol (the airport stop). It is easy to grab a ticket at Schipol Plaza, first class is about €20 more per way than second class, and a good spot to stay could be the Ibis Budget Dampoort (or the Marriott Ghent). Credit card payments accepted naturally, and I’m sure you can also do this online. Didn’t take me longer than five minutes to get all this settled.

So, the ProxySQL Technology Day is free, seems extremely focused and frankly is refreshing because you just learn about one thing! I feel like the MySQL world misses out on this tremendously as we lost the users conference… Interesting to see if this happens more in our ecosystem!

Moving images from an iPhone quickly

Wanted to move 60GB of photos from an iPhone to the Mac. It turns out that Dropbox does not save Live Photos, Google Photos does, but it is all in reduced size (unless you pay them).

Extraction via Image Capture was taking forever.

Had to make sure on the iPhone, in Settings, you select “Keep Originals” under Photos -> Transfer to Mac or PC.

Didn’t realise Image Capture also has this option, it is small, at the bottom, but it also exists.

Fast, HEIC images, with accompanying Live Photos (i.e. movie files).