July 29, 2014

What is the longest part of Innodb Recovery Process ?

In MySQL 4.1 and above the longest part of recovery after crash for Innodb tables could be UNDO stage – it was happening in foreground and was basically unbound – if you have large enough transaction which needed to be undone this could take long hours. REDO stage on other hand always could be regulated […]

Large result sets vs. compression protocol

mysql_connect() function in PHP’s MySQL interface (which for reference maps to mysql_real_connect() function in MySQL C API) has a $client_flags parameter since PHP 4.3.0. This parameter is barely known and almost always overlooked but in some cases it could provide a nice boost to your application. There’s a number of different flags that can be […]

MVCC: Transaction IDs, Log Sequence numbers and Snapshots

MySQL Storage Engines implementing Multi Version Concurrency Control have several internal identifiers related to MVCC. I see a lot of people being confused what they are and why they are needed so I decided to take a time to explain it a bit. This is general explanation, it does not corresponds to Innodb in particular […]

Fixing column encoding mess in MySQL

Just had an interesting issue with an encoding mess on a column containing non-ASCII (Russian) text. The solution was not immediately obvious so I decided it’s worth sharing. The column (actually the whole table) was created with DEFAULT CHARSET cp1251. Most of the data was in proper cp1251 national encoding indeed. However, because of web […]

Slides from Egypt talks

I published slides from my two talks from our Egypt company meeting. First one is about Sphinx search engine. The originally presentation was prepared by Andrew Aksenoff, author of Sphinx for HighLoad.ru conference, I translated it on English for our meeting. And second about Mercurial version system, the tool we decided to use for our […]

Back from company meeting in Hurghada, Egypt

So we’re back from the company meeting which took place last week in Hurghada, Egypt. It was a great opportunity to meet a lot of people for the first time in person to work together and have some fun.

Be careful rotating MySQL logs

If you enable logging of all queries as “slow queries” using the patch or MySQL 5.1 you can get log file to grow huge. Same may happen with general log file. In some cases we’ve got log file sizes of 100G or more which may need to be cleaned up. Here is some danger waiting […]

Packing for company meeting in Egypt

Our company, Percona is even more Virtual than MySQL AB – we have no offices and 100% of staff members work out of their homes (or traveling, onsite with customers etc). We also probably have just couple of cities where more than one Employee lives. Working as a virtual company has a lot of benefits […]

Data Recovery Toolkit for InnoDB Version 0.1 Released

As Peter mentioned in one of previous posts, we’ve done huge work developing robust strategies of InnoDB data recovery to provide our customers effective data recovery services and one of major parts of these strategies is our toolkit for InnoDB data recovery. Today I’m proud to announce its first public release which was used to […]

Slides from Zurich talk are now posted

I have now posted slides for the talk I gave in Zurich last week in MySQL Performance Presentations section. That was fun talk and fun trip in general. Thank you for inviting.