Author - David Ducos

ProxySQL Binary Search Solution for Rules

We sometimes receive challenging requests… this is a story about one of those times.
The customer has implemented a sharding solution and would like us to review alternatives or improvements. We analyzed the possibility of using ProxySQL as it looked to be a simple implementation. However, as we had 200 shards we had to implement […]

Read more

Multithreaded ALTER TABLE with pt-online-schema-change and myloader

multithreaded alter table

pt-online-schema-change emulates the way that MySQL alters tables internally, but it works on a copy of the table you wish to alter. It executes INSERT statements to import the data, that runs in a single connection to fill the new table. In this repository, there is a script called myloader_pt-osc.sh that uses myloader to […]

Read more

Using pt-heartbeat with ProxySQL

Using pt-heartbeat with ProxySQL

ProxySQL and Orchestrator are usually installed to achieve high availability when using MySQL replication. On a failover (or graceful takeover) scenario, Orchestrator will promote a slave, and ProxySQL will redirect the traffic. Depending on how your environment is configured, and how long the promotion takes, you could end up in a scenario where you […]

Read more

Finding Table Differences on Nullable Columns Using MySQL Generated Columns

MySQL generated columns

Some time ago, a customer had a performance issue with an internal process. He was comparing, finding, and reporting the rows that were different between two tables. This is simple if you use a LEFT JOIN and an 
IS NULL  comparison over the second table in the WHERE clause, but what if the column could be […]

Read more

InnoDB Buffer Pool Resizing: Chunk Change

InnoDB Buffer Pool

Since MySQL 5.7.5, we have been able to resize dynamically the InnoDB Buffer Pool. This new feature also introduced a new variable — innodb_buffer_pool_chunk_size — which defines the chunk size by which the buffer pool is enlarged or reduced. This variable is not dynamic and if it is incorrectly configured, could lead to undesired […]

Read more