by Yves Trudeau | Jan 2, 2024 | Insight for DBAs, MySQL
TL&DR: Depending on the workload, the thread pool plugin can cause serious performance drops.This post was motivated by two recent cases I’ve worked with. Two setups running in cluster mode: one in MariaDB+Galera and one with Percona XtraDB Cluster (Percona... by Yves Trudeau | Aug 4, 2023 | Monitoring, MySQL, Percona Software
Percona has bundled together some great open source pieces of software to create Percona Monitoring and Management (PMM), a very flexible and powerful monitoring solution. The goal of this post is not to introduce you to the existing PMM dashboards but to show you how... by Yves Trudeau | Feb 15, 2023 | Insight for DBAs, MySQL, Storage Engine
Bloom filters are an essential component of an LSM-based database engine like MyRocks. This post will illustrate through a simple example how bloom filters work in MyRocks. Why? With MyRocks/RocksDB, data is stored in a set of large SST files. When MyRocks needs... by Yves Trudeau | Dec 23, 2022 | Cloud, Insight for DBAs, MySQL, Storage Engine
I wrote this post on MyRocks because I believe it is the most interesting new MySQL storage engine to have appeared over the last few years. Although MyRocks is very efficient for writes, I chose a more generic workload that will provide a different MyRocks use... by Yves Trudeau | Aug 30, 2022 | Insight for DBAs, MySQL
Recently I have been working with a few customers with multiple terabytes of transactional data on their MySQL clusters. These very large datasets are not really needed for their daily operations but they are very convenient because they allow them to query historical... by Yves Trudeau | Jul 13, 2022 | Insight for DBAs, MySQL
As a principal architect at Percona, one of my duties is to tune MySQL database servers for our customers. The tuning effort looks at every aspect of the database service like the operating system, the MySQL configuration, the schema, the queries, etc. We have... by Yves Trudeau | Mar 24, 2022 | Insight for DBAs, MySQL
For a very long part of its history, MySQL replication has been limited in terms of performance. Because there was no way of knowing if transactions or updates were independent, the updates had to be executed on a replica following the exact same sequence of... by Yves Trudeau | Jan 4, 2022 | Benchmarks, MySQL
Following my post MySQL/ZFS Performance Update, a few people have suggested I should take a look at BTRFS (“butter-FS”, “b-tree FS”) with MySQL. BTRFS is a filesystem with an architecture and a set of features that are similar to ZFS and with a... by Yves Trudeau | Sep 13, 2021 | Cloud, Insight for DBAs, MySQL
Here’s a second post focusing on the performance of MySQL on ZFS in cloud environments. In the first post, MySQL/ZFS Performance Update, we compared the performances of ZFS and ext4. This time we’ll look at the benefits of using ephemeral storage devices.... by Yves Trudeau | Jul 9, 2021 | Benchmarks, Hardware and Storage, Insight for DBAs, MySQL
As some of you likely know, I have a favorable view of ZFS and especially of MySQL on ZFS. As I published a few years ago, the argument for ZFS was less about performance than its useful features like data compression and snapshots. At the time, ZFS was significantly... by Yves Trudeau | May 27, 2021 | Insight for DBAs, MySQL, Storage Engine
Recently we had a debate in the consulting team about how InnoDB handles TEXT/BLOB columns. More specifically, the argument was around the Barracuda file format with dynamic rows.In the InnoDB official documentation, you can find this extract: When a table is created... by Yves Trudeau | May 4, 2021 | Insight for DBAs, MySQL, Storage Engine
There is a common pattern in life, you often discover or understand things by accident. Many scientific discoveries fit such a description. In our database world, I was looking to see how BLOB/TEXT columns are allocated using overlay pages and I stumbled upon... by Yves Trudeau | Oct 27, 2020 | Cloud, Insight for DBAs, MySQL
If you often deploy services in the cloud, you certainly, at least once, forgot to stop a test instance. I am like you and I forgot my share of these. Another mistake I do once in a while is to provision a bigger instance than needed, just in case, and forget to... by Yves Trudeau | Aug 4, 2020 | MariaDB, MySQL, Storage Engine
This post has been written in collaboration with Nicolas Modalvsky of e-planning. Nicolas and I recently worked together on a tuning engagement involving MyRocks on MariaDB. While it is easy to find online articles and posts about InnoDB performance, finding... by Yves Trudeau | May 14, 2020 | Insight for DBAs, MySQL
In this post, the third in a series explaining the internals of InnoDB flushing, we’ll focus on tuning. (Others in the series can be seen at InnoDB Flushing in Action for Percona Server for MySQL and Give Love to Your SSDs – Reduce... by Yves Trudeau | Jan 22, 2020 | Insight for DBAs, MySQL, Percona Software, Storage Engine
As the second part of the earlier post Give Love to Your SSDs – Reduce innodb_io_capacity_max! we wanted to put together some concepts on how InnoDB flushing works in recent Percona Server for MySQL versions (8.0.x prior to 8.0.19, or 5.7.x). It is important to... by Yves Trudeau | Dec 18, 2019 | Insight for DBAs, MySQL, Storage Engine
The innodb_io_capacity and innodb_io_capacity_max are often misunderstood InnoDB parameters. As consultants, we see, at least every month, people setting this variable based on the top IO write specifications of their storage. Is this a correct choice? Is it an... by Yves Trudeau | Nov 22, 2019 | Insight for DBAs, Insight for Developers, MySQL
If you do a quick web search about UUIDs and MySQL, you’ll get a fair number of results. Here are just a few examples: Storing UUID and Generated Columns Storing UUID Values in MySQL Illustrating Primary Key models in InnoDB and their impact on disk usage MySQL... by Yves Trudeau | Sep 19, 2019 | Hardware and Storage
Last year, I wrote a post focused on the performance of the 3D_XPoint technology and sold under the Optane brand. Those devices are outperforming regular flash devices and have higher endurance. In the context of this post, I found they are also very good at handling... by Yves Trudeau | Mar 5, 2019 | Cloud, MySQL
Over time, software evolves and it is important to stay up to date if you want to benefit from new features and performance improvements. Database engines follow the exact same logic and providers are always careful to provide an easy upgrade path. With MySQL,...