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

Martin.FarachColton

Announcing TokuMX v1.0: Toku+Mongo = You Can Have It All

Tokutek is known for its full-featured fast-indexing technology. MongoDB is known for its great document-based data model and ease of use. TokuMX, version 1.0, combines the best of both worlds. So what, exactly, is TokuMX? The simplest (but incomplete) answer is that TokuMX is MongoDB with all its storage code replaced by Tokutek’s Fractal Tree […]

Announcing TokuDB v7 Enterprise Edition: Hot Backup and Support

As promised, the Enterprise Edition of TokuDB®, Version 7, is ready. TokuDB Version 7, Enterprise Edition, introduces Hot Backup. You can now back up all your TokuDB tables directly from MySQL or MariaDB, with no down time. In addition, TokuDB Enterprise Edition comes with a support package. TokuDB v7 Enterprise Edition maintains all our established […]

Announcing TokuDB v7: Open Source and More

Every few months, I get the fun job of announcing what’s new in TokuDB®, but this time is special. With Version 7, TokuDB for MySQL and MariaDB is going open source. The free Community Edition is fully functional and fully performant. It has all the compression you’ve come to expect from TokuDB. It has hot […]

NoSQL is Great, But You Still Need Indexes

I’ve said it before, and, as is the nature of these things, I’ll almost certainly say it again: your database performance is only as good as your indexes. That’s the grand thesis, so what does that mean? In any DB system — SQL, NoSQL, NewSQL, PostSQL, … — data gets ingested and organized. And the […]

Announcing TokuDB v6.6: Performance Improvements

We are excited to announce TokuDB® v6.6, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB. This version offers three types of performance improvements: in-memory, multi-client and fast updates. Although TokuDB is optimized for large tables, which are larger than memory, many workloads consist of a mix of large and small tables. […]

Fractal Tree Indexing Overview

We get a lot of questions about how Fractal Tree indexes work. It’s a write-optimized index with fast queries, but which write-optimized indexing structure is it? In this ~15 minute video (which uses these slides), I give a quick overview of how they work and what they are good for.

Announcing TokuDB v6.5: Optimized for Flash

We are excited to announce TokuDB® v6.5, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB. This version offers optimization for Flash as well as more hot schema change operations for improved agility. We’ll be posting more details about the new features and performance, so here’s an overview of what’s in store. […]

Mi Buenos Aires Querido

Next week, a couple of us at Tokutek will be heading to Buenos Aires for the MySQL / MariaDB Conference & Expo LA. Gerry Narvaja actually grew up in Buenos Aires. My own family is Argentinian. I spent several years there as a child, and my childhood home in South Carolina was Argentinian in spirit: absolutely […]

Basement Nodes: Turning Big Writes into Small Reads

Executive Summary Fast indexing requires the leaves of a Fractal Tree® Index to be big. But some queries require the leaves to be small in order to get any reasonable performance. Basements nodes are our way to achieve these conflicting goals, and here I’ll explain how. Big Leaves On many occasions, we at Tokutek have […]

The Sound and the NoSQL Fury

The signal-to-noise ratio in the NoSQL world has made it hard to figure out what’s going on, or even who has something new. For all the talk of performance in the NoSQL world, much of the most exciting part of what’s new is really not about performance at all. Take for example, MongoDB, which has […]

TokuDB v6.0: Download Available

TokuDB v6.0 is full of great improvements, like getting rid of slave lag, better compression, improved checkpointing, and support for XA. I’m happy to announce that TokuDB v6.0 is now generally available and can be downloaded here. Sysbench Performance I wanted to take this time to talk about one more under-the-hood goody we’ve added to […]

TokuDB v6.0: Frequent Checkpoints with No Performance Hit

Checkpointing — which involves periodically writing out dirty pages from memory — is central to the design of crash recovery for both TokuDB and InnoDB. A key issue in designing a checkpointing system is how often to checkpoint, and TokuDB takes a very different approach from InnoDB. How often and how much InnoDB checkpoints is […]

TokuDB v6.0: Even Better Compression

A key feature of our new TokuDB v6.0 release, which I have been blogging about this week, is compression. Compression is always on in TokuDB, and the compression we’ve achieved in the past has been quite good. See a previous post on the 18x compression achieved by TokuDB v5.0 on one benchmark. In our latest […]

TokuDB v6.0: Getting Rid of Slave Lag

Master/slave replication is an important tool that gets used in many ways: distributing read loads among many slaves for performance, using a slave for backups so the master can handle live load, geographically distributed disaster recovery, etc. The Achilles’ Heal of slave performance is that slave workloads are single-threaded. The master can have many clients […]

Announcing TokuDB v6.0: Less Slave Lag and More Compression

We are excited to announce TokuDB® v6.0, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB. This version offers feature and performance enhancements over previous releases, support for XA (two-phase transactional commits), better compression, and reduced performance variability associated with checkpointing. This release also brings TokuDB support up to date on MySQL […]

Announcing TokuDB v5.2: Improved Multi-Client Scaling and Faster Queries

TokuDB® v5.2, the latest version of Tokutek’s flagship storage engine for MySQL and MariaDB, is now available. This version offers performance enhancements over previous releases, especially for multi-client scale up and point queries, and extends the cases where ALTER TABLE is non-blocking, in particular adding Hot Column Rename. TokuDB v5.2 maintains all our established advantages: […]

Query Planner Gotchas

Indexes can reduce the amount of data your query touches by orders of magnitude. This results in a proportional query speedup. So what happens when you define a nice set of indexes and you don’t get the performance pop you were expecting? Consider the following example:

Now we’d like to perform the following query: […]

Percona Live, NYC

Yesterday, Percona held Percona Live NYC, which they describe as an “intensive one-day MySQL summit.” They meant it. It was like drinking from a firehose. There was too much for me to give a complete report, so I’d like to highlight two sessions that stuck out for me. Why SQL Wins Sergei Tsarev (Clustrix) gave […]

Never Settle for a “B”

OldSQL DBs based on B-trees have some well-known problems and workarounds. TokuDB is a NewSQL storage engines based on Fractal Tree indexing, so the natural question is how InnoDB practice translates into TokuDB. This post gives a quick overview. Enjoy! FAQ Q: How do I tune TokuDB? A: You don’t! TokuDB has almost no parameters […]

Covering Indexes: How many indexes do you need?

I’ve recently been blogging about how partitioning is a poor man’s answer to covering indexes. I got the following comment from Jaimie Sirovich: “There are many environments where you could end up creating N! indices to cover queries for queries against lots of dimensions.” [Just a note: this is only one of several points he […]