Percona Resources

Software
Downloads

All of Percona’s open source software products, in one place, to download as much or as little as you need.

Valkey Contribution

Product Documentation

Why Percona for MongoDB?

Why Percona for PostgreSQL?

Percona Blog

Percona Blog

Our popular knowledge center for all Percona products and all related topics.

Community

Percona Community Hub

A place to stay in touch with the open-source community

Events

Percona Events Hub

See all of Percona’s upcoming events and view materials like webinars and forums from past events

About

About Percona

Percona is an open source database software, support, and services company that helps make databases and applications run better.

Percona in the News

See Percona’s recent news coverage, press releases and industry recognition for our open source software and support.

Our Customers

Our Partners

Careers

Contact Us

Vadim Tkachenko
Vadim Tkachenko co-founded Percona in 2006 and serves as its Chief Technology Officer. Vadim leads Percona Labs, which focuses on technology research and performance evaluations of Percona’s and third-party products. Vadim’s expertise in LAMP performance and multi-threaded programming help optimize MySQL and InnoDB internals to take full advantage of modern hardware. He also co-authored the book High Performance MySQL: Optimization, Backups, and Replication 3rd Edition.

The performance effects of new patches

We are going to show the effects of the new patches applied to Percona HighPerf release. As you see from the following graphs, there is significant difference to normal version when the data bigger than buffer pool (right graph shows CPU usage)

Development plans

We gathered together our ideas of MySQL improvements on this page https://www.percona.com/percona-lab/dev-plan.html and we are going to implement some of them. My favorite one is – make InnoDB files .ibd (one created with –innodb-file-per-table=1) movable from one server to another, however it is sort of challenging. Probably next one patch we want to integrate is […]

New patches, new builds

We made new patches, improved previous and want to announce new builds for 5.0.62, 5.0.67 and 5.1.26 versions. One of biggest changes we separated releases of 5.0 into two branches. First, just “-percona” release is more stable and contains only stable and proven on many installation patches. Second is “-percona-highperf” release, which contains experimental patches […]

Percona RPMS for RedHat 5 / CentOS 5 x86_64

We prepared RPMs of our release for RedHat 5 / CentOS 5 x86_64 platform. https://www.percona.com/blog/mysql/RPM/RHEL5/5.0.62/ There was question what patcheset includes and if there is manuals. We have: microsecond resolution in slow-log extended query plan in slow-log and InnoDB statistics. You can read more here https://www.percona.com/blog/2008/04/20/updated-msl-microslow-patch-installation-walk-through/ User / Table / Index statistics (Google’s patch). More […]

Percona builds with patches

As there were many requests for Debian binary packages in our announcement of Percona builds with custom patchsets, we decided to play with it and built .deb, which you can find there: https://www.percona.com/blog/mysql/debian/ You can also add the following repositories into your sources.list: deb http://percona.com/blog/mysql/debian/5.0/ binary-amd64/ deb http://percona.com/blog/mysql/debian/5.0/ source/ deb http://percona.com/blog/mysql/debian/5.1/ binary-amd64/ deb http://percona.com/blog/mysql/debian/5.1/ source/ […]

Percona builds with Percona patchsets

Percona has a strong team of MySQL developers and consultants on board, so we decided to prepare builds with our patches and third-party patches which we think are very useful. We actually use these internally and for our customers. Current releases include: microslow patch (enables microsecond resolution in slow logs) execution plan (show info about […]

Will Falcon fly?

Why one may wonder, it’s just Swedish beer (State of Doplhin, MySQL UC 2006). One week ago Jim Starkey sent message http://www.firebirdnews.org/?p=1742 so he will not work for MySQL anymore and starting new project. While that’s fully Jim Starkey’s personal decision, I expected some comments about Falcon future development from MySQL / Sun side. Jim […]

Lighttpd as reverse proxy

We often recommend to set lighttpd in front of apache to handle http requests (more about https://www.percona.com/blog/speedup-your-lamp-stack-with-lighttpd/ ) , redirect dynamic requests to apache and handle static files by itself. I just gathered step-by-step instruction how to do that in 10 minutes, as it may be not so obvious.

Dangerous command

Remembering that I did RENAME DATABASE in MySQL 5.1.21 and found it useful I tried it with 5.1.24 (I was playing with 20GB InnoDB database, so dumping is not fastest way) and all my tries finished with “Syntax error”. So RTMF and documentation says “This statement was added in MySQL 5.1.7 but was found to […]

Testing InnoDB “Barracuda” format with compression

New features of InnoDB – compression format and fast index creation sound so promising so I spent some time to research time and sizes on data we have on our production. The schema of one of shards is

MySQL and plugin binaries

It seems there is interesting problem with compatibility of MySQL binaries and binaries of third-party plugins. I personally found and there is confirmation from InnoDB team that current InnoDB-plugin binaries do not work with lastest 5.1.24-rc binaries. It was very charming move from MySQL side to release new incompatible binary on the second day after […]

Future InnoDB File Formats

Looking into InnoDB docs I found list of names of future InnoDB file formats: Antelope, Barracuda, Cheetah, Dragon, Elk, Fox, Gazelle, Hornet, Impala, Jaguar, Kangaroo, Leopard, Moose, Nautilus, Ocelot, Porpoise, Quail, Rabbit, Shark, Tiger, Urchin, Viper, Whale, X, Y and Zebra. Aren’t there animals starting on X and Y?

Partially OpenSourced

Reading evening news and rss feeds I found interesting next sequence: Jeremy’s post “MySQL to launch new features only in MySQL Enterprise” basically about some new features of MySQL will be available only for paid customers Then Kaj’s post Anthropology: Sun studies MySQL with tagline “Sun didn’t acquire MySQL to change it, but to learn […]

MySQL 6.0 vs 5.1 in TPC-H queries

Last week I played with queries from TPC-H benchmarks, particularly comparing MySQL 6.0.4-alpha with 5.1. MySQL 6.0 is interesting here, as there is a lot of new changes in optimizer, which should affect execution plan of TPC-H queries. In reality only two queries (from 22) have significantly better execution time (about them in next posts), […]

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 […]

MyISAM Scalability and Innodb, Falcon Benchmarks

We many times wrote about InnoDB scalability problems, this time We are faced with one for MyISAM tables. We saw that several times in synthetic benchmarks but never in production, that’s why we did not escalate MyISAM scalability question. This time working on the customer system we figured out that box with 1 CPU Core […]

InnoDB auto-inc scalability fixed

There was long played scalability issue with InnoDB auto-increment field. For details check Bug 16979. In short words the problem is in case of insert into table with auto-increment column the special AUTO_INC table level lock is obtained, instead of usual row-level locks. With many concurrent inserted threads this causes serious scalability problems, and in […]

InnoDB in self-compiled MySQL 5.1

If you like to compile MySQL from sources by yourself, for different needs, like debugging, testing etc, you probably can face this issue. What I usually do to fast compile and test is

and then, for example, load the dump of InnoDB from previous version:

I bet you will not notice all your […]

Withdrawal of Memory allocation in Stored Function

Returning to my post about memory consumption with Stored Function at this moment I want to annul that post. Trying to repeat described behavoir I cannot repeat that again and probably there was something wrong with the whole box, not MySQL. I apologize if it was confusing. Although I am almost sure this topic will […]

Do you always need index on WHERE column ?

I believe we wrote about this before, but this topic popups again and again. Today I’ve read opinion that if we have clause WHERE has_something=1 we should have index on column has_something (the column has two values 0 and 1). In reality the right answer is not so simple.