Changing innodb_flush_log_at_trx_commit on the cloud?

I am always curious to find the differences between managed databases on public clouds. Let’s consider for example innodb_flush_log_at_trx_commit, a key system variable for MySQL.

locked property

You cannot change it on Cloud SQL for MySQL (the managed service offered by Google) so you cannot make a durability/speed trade-off.

I can see only a few reasons for doing that:

  • google makes it safer for you, you do not know enough. It is a managed service after all
  • they modified the engine and cannot support it
  • they forgot to expose it as a flag but it might be there in one of the next iterations
  • you would pay for more resources to serve your traffic with the default value. Even if you do not need full ACID compliance


By comparison, you can change and set the value of innodb_flush_log_at_trx_commit on Amazon RDS or Azure Database for MySQL

A similar issue surface if you want to use utf8mb4 as a character set (4-Byte UTF-8 Unicode Encoding). The feedback on Cloud SQL is

Filter utf8mb4 strings out of your data.

What is the lesson here?

Before choosing one of the main providers to host your database as a managed service, double check that they support all the not default configuration you might have in place or you would like to use. This is extremely important in case of migration across different cloud providers: you do not want to figure out you have a blocker when you are half way through the process.

Avoiding a cloud wreckage

A cargo ship and a sailboat are different ways to cross the ocean. They both have different strengths and limitations but usually reach port safely. Unless you swap crews and put the chief engineer in charge of the spinnaker.

Photo by John Maravelakis on Unsplash

Cloud providers are not different, they have their own strengths and limitations. Just make sure you have the right crew in place when you start a cloud migration. Not reaching dock or asking for help in the middle of the ocean can be costly.

Avoid a wreckage, avoid a mayday.

Hey, where is my country?

Straight from my living room, the video of my talk at Dev Around the Sun last month.

What looks like a simple choice in a drop-down list, can turn into a PR nightmare. Integrating an external mapping service can unintentionally make many of your users unhappy. How can software developers and startups manage location-based services in disputed territories or partially recognized state?

How can you make all your users happy? A few tips and tricks for the developer who targets an international audience but wants to rely on location data to control new features.

Dev Around the Sun

Looking forward to be a speaker next week at Dev Around the Sun, a 24-hour international fundraiser organised by the .NET Foundation for the Direct Relief’s Coronavirus Fund.

@DevAroundTheSun
@DevAroundTheSun

It all starts on May 12 at 2PM CEST, I will be live on May 13 at 7AM CEST. Title of my talk and abstract below. Schedule, how to donate and all the details at DevAroundTheSun.org

Hey, where is my country? Make all your end users happy

What looks like a simple choice in a drop-down list, can turn into a PR nightmare. Integrating an external mapping service can unintentionally make many of your users unhappy. How can software developers and startups manage location-based services in disputed territories or partially recognized state? How can you make all your users happy? A few tips and tricks for the developer who targets an international audience but wants to rely on location data to control new features.

TestCon Europe 2020

For the very first time next October I will attend and speak at a testing conference and it will be the biggest software testing conference in Europe, TestCon Europe 2020. I will cover one of my favorite topics, geolocation and geopolitical challenges in the software world: “Hey, Where is My Country? How to Test Your App and Website for Geolocation and Geopolitical Challenges”.  

The abstract is below, more on the topic on saorico.com. Looking forward to be back to Vilnius!

Abstract

What looks like a simple choice in a drop down list, it can turn into a nightmare. Integrating an external mapping service can unintentionally make many of your users unhappy. How can we test websites and apps in disputed territories or partially recognized state?

Many airlines were forced recently to change the name of Taiwan on their booking systems. Hotel chain website where banned in mainland China for labeling Tibet as an independent country. Ukrainian users were upset because Crimea was removed from the map of their land. “What is the capital of Israel?” is a question that has triggered different answers from voice virtual assistants. We will go on a virtual tour around the world to see how disputed territories or partially recognized states are handled by online services and discuss how we can test and spot unintended geopolitical issues in our products.