Joomla! on MariaDB tips from Joomla! Day in Milan
My relationship with Colt Engine, the Italian Joomla! Provider started in March 2011, when SkySQL was still a very “young” company and they got in touch with me to have more details on our new company. Since then many things happened on both the SkySQL (and then MariaDB) and the Colt Engine side. During the last two years they become a strong contributor to the MaxScale project (this will be better explained in a blog post later).
They recently also afforded the great step to move most of the existing Joomla! infrastructure from MySQL to MariaDB.
As part of the organising committee of the Italian Joomla! day that this year took place in Milan in November, Colt Engine invited me to present MariaDB to the Joomla! users attending the conference (all the information can be found here together with a lot of nice pictures here, slides available here, and if you want to hear how MariaDB sounds in Italian here is the direct link to my talk.
The Joomla! day is actually a big event with around 1200 people attending all of the 8 hours sessions with almost no coffee breaks and a really short lunch break. My talk was the last one at around 5 pm and I was expecting some empty chair (it was Saturday afternoon after all!), but it was really exciting to see that not more than 25% of the people left the room. Before my talk I had the opportunity to attend some of the previous sessions and so I had the chance to learn several interesting things related to the Joomla! ecosystem.
A thing that impressed me is that I did not have any idea that Joomla! seems to be the second most used CMS just after Wordpress; even more used than Drupal. I must admit I did not expect these numbers and as I rarely trust figures and statistics I read on presentations (not that they are not true, but you never know on what basis these rankings are evaluated) I checked myself and actually this rating seems to be correct according to this reference, while it looks like that the number of websites based on Drupal are actually 10 times more than the websites based on Joomla! (see source).
Anyway around 1200 Joomla! users in a conference room in Italy is a number that deserves respect!
The goal of my presentation was to show the Joomla! users that the performances of their websites can really improve if they just simply switch the default database from MySQL to MariaDB. As I already experienced during the Drupal Conference in Amsterdam where I had a similar presentation (read more here ), only a small part of the audience was really aware of what the database is doing behind the CMS (Drupal or Joomla!) scenes. Most of the CMS users/developers I had the chance to talk to, perceive the database as a commodity, an important piece of the toolkit that will take care of the WebApplication data in a reliable way.
Another important consideration is that in most cases the Joomla! or Drupal based solutions are running on a single server. When I asked how many of the Joomla! people in the audience were using replication only few hands came up. This lack of knowledge around the database characteristics unfortunately does not help the “CMS” developers that probably invest a lot of time in fine tuning their application to achieve better performances (and this is anyway good) and not always considering to invest more time in increasing their knowledge concerning the database features to better use them.
The goal of my presentation “Joomla! e MariaDB: una combinazione vincente per alte prestazioni (Joomla! and MariaDB: a perfect match for a better performance”) was to show all the MariaDB characteristics that can improve the performances of a Joomla! based web application. It was probably a bit too technical, but I think it reached the goal to show that there’s a world behind that database black box, that it is possible to use different database engines, that optimisation can differ between MySQL and MariaDB and it’s better in the latter, and that some bad response time the website are experiencing can be related to connection issues that MariaDB can probably solve using the threadpool.
Regarding data availability: Talking with both Joomla! and Drupal users, I learnt that even though most of the solutions that are hosted on-premise run on a single server, no real high availability solution have been even considered, except for the odd backup schedule or hardware solution. IThose who prefer to deploy the solution in a hosting or cloud environment are in better hands, as the host in charge of data health and availability are often very professional and accurate.
In conclusion my recommendations to Joomla! users can be summarised as follows:
- take some time to learn more about your database,
- consider replacing the existing database with MariaDB: all the pros are in my presentations and can be also found in our Knowledge Base,
- secure your data: even if you’re running on a single server consider to replicate your master database on a slave server, this can really save your “life” and prevent possible disasters.