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

Peter Zaitsev
Peter managed the High Performance Group within MySQL until 2006, when he founded Percona. Peter has a Master's Degree in Computer Science and is an expert in database kernels, computer hardware, and application scaling.

Kickfire Kickfire Kickfire

So it looks like these days Kickfire welcomed everyone to tell they’ve been working with Kickfire – Baron Keith Frank is writing about KickFire. Good Job Kickfire PR team you really energized community. We also were working with Kickfire for quite a while and are also very excited to give it a try.

Multi-Column IN clause – Unexpected MySQL Issue

We have an application which stores massive amount of urls. To save on indexes instead of using URL we index CRC32 of the URL which allows to find matching urls quickly. There is a bit of chance there would be some false positives but these are filtered out after reading the data so it works […]

Andrew Aksyonoff does Sphinx Talk in Moscow

On his way to MySQL Users Conference Andrew will stop by in Moscow, Russia and give a talk about Sphinx current features, development plans, and deployment use cases. Interesting enough the meeting will take place at Moscow State University, Computer Science Faculty – my “Alma Mater” in the same building and even same room which […]

Stored Function to generate Sequences

Today a customer asked me to help them to convert their sequence generation process to the stored procedure and even though I have already seen it somewhere I did not find it with two minutes of googling so I wrote a simple one myself and posting it here for public benefit or my later use […]

MySQL Performance on Memory Appliance

Recently I have had a chance to check out MySQL Performance on “Memory Appliance” by Violin Memory which can be used as extremely high speed storage system. I helped Violin Memory to optimize MySQL for customer workload and Violin memory and also had a chance to do some benchmarks on my own. 2*Quad Core Xeon […]

Welcome to the team, Baron

As you may have seen from his blog, Baron Schwartz is joining our consulting company – Percona in less than a week. This is exciting news for us as Baron is renowned MySQL community member, blogger, co-author of High Performance MySQL second edition book, author of Maatkit and Innotop and just a great guy. Welcome […]

MySQL and Sun – Oportunity for smaller companies ?

Reading Martens interview we see the quite: “As soon as the deal closed we immediately secured a big deal with a major European national police agency,” said Mickos, now SVP database products at Sun. “Key to them choosing MySQL was that we are now part of a much larger public corporation. The deal wouldn’t have […]

MySQL Public Worklog and Community Focus

MySQL made some tasks from their internal task tracking tool – Worklog a while back. I just have not look at it besides checking Maria related tasks until couple of days ago as Jay announced new Forge going live. Check it out – there are a lot of nice ideas out where. I can find […]

MySQL File System Fragmentation Benchmarks

Few days ago I wrote about testing writing to many files and seeing how this affects sequential read performance. I was very interested to see how it shows itself with real tables so I’ve got the script and ran tests for MyISAM and Innodb tables on ext3 filesystem. Here is what I found:

How many people will leave MySQL now ?

During the recent days we had few announcements of people leaving Sun/MySQL – few days ago I’ve seen announcement by Ronald Bradford and now I see Antony Curtis followed. I know bunch of other guys which are considering to leave or stay. I do not surprising – how much “better” Sun is compared to Microsoft […]

Big Iron for tests anyone ?

MySQL Users Conference is coming and with it my presentation about Innodb Scalability limits. We did bunch of tests but we surely could get benefit of some extra hardware for testing, so if you could provide us with dedicated remote access for benchmarks it would be great. Here is what we’re looking for in particular: […]

MySQL Query Cache WhiteSpace and comments

Commenting on my previous post on MySQL Query Cache Gerry pokes me as I’m all wrong and both comments and whitespace are fixed in MySQL 5.0. This was not what I remember seeing in production so I decided to do some tests on the matter:

The tool I’ve been waiting for years

I’ve just been pointed to the nice tool which I was waiting for years to see. It is fincore – little perl script which allows you to see what pages of file are cached in OS memory. This is really cool.

Working with many files and file system fragmentation

Working on performance optimization project (not directly MySQL related) we did a test – creating 100 files writing 4K in the random file for some time and when checking the read speed on the files we end up with, compared to just writing the file sequentially and reading it back. The performance difference was huge […]

Researching your MySQL table sizes

I posted a simple INFORMATION_SCHEMA query to find largest MySQL tables last month and it got a good response. Today I needed little modifications to that query to look into few more aspects of data sizes so here it goes:

MySQL Error Message Nonsenses

What MySQL honestly was never good at is giving good helpful error messages. Start with basics for example – The error message in case of syntax error gives you information about tokens near by but little details:

It would be much better if MySQL would give error give exact position of error (with complex […]

Sharding and Time Base Partitioning

For large number of online applications once you implemented proper sharding you can consider your scaling problems solved – by getting more and more hardware you can grow. As I recently wrote it however does not mean it is the most optimal way by itself to do things. The “classical” sharding involves partitioning by user_id,site_id […]

Economics of Performance Optimization

I think every person responsible for Development or Operations of growing application sooner or later have to decide on couple few questions on how to tackle application performance. These questions are: Should we Optimize Application or get more Hardware ? Should we do things ourselves or hire an experts to help us ? The answer […]

Speeding up GROUP BY if you want aproximate results

Doing performance analyzes today I wanted to count how many hits come to the pages which get more than couple of visits per day. We had SQL logs in the database so It was pretty simple query:

Unfortunately this query ran for over half an hour badly overloaded server and I had to kill […]

Sphinx 0.9.8 reaches RC stage, Docs updated

Andrew Aksenoff is pretty slow with release numbers for Sphinx. By MySQL Users Conference 2007 Sphinx version 0.9.7 was released and today we had just 0.9.8-rc1 announced This minor change in version number corresponds to about double source size (looking at download size) and major rewrite for many portions. Sphinx 0.9.8 snapshots were more stable […]