InnoDB 2011 Summer Labs Releases
By Calvin Sun on Jul 27, 2011
Note: this article was originally published on http://blogs.innodb.com on July 27, 2011 by Calvin Sun.
In April of 2011, InnoDB team published the early access of NoSQL to InnoDB with memcached, plus several new features as part of MySQL 5.6.2 milestone release. This week, we announced additional early access to new InnoDB features for the community to test, and provide feedback.
There are two release packages from InnoDB team on MySQL Labs: InnoDB full-text search, and InnoDB new features.
InnoDB Full-Text Search
MySQL 5.5 makes InnoDB the default storage engine, so everyone can benefit from ACID-compliant transactions, referential integrity, crash recovery. However, some users need InnoDB to have built-in full-text search, similar to MyISAM’s full-text search.
InnoDB full-text search provides users with the ability to build full text indices and search for specific text-based content stored in InnoDB tables. This new functionality supports fast and accurate search on document content using natural language, boolean, wildcard, and proximity search.
The design and implementation of InnoDB full-text search can trace back to 2005, when Osku Salerma detailed the design in his master thesis “Design of a Full Text Search index for a database management system“. Later, Sunny Bains and Jimmy Yang from the InnoDB team took over the development and made major contributions to this important feature.
Jimmy gave an overview of InnoDB full-text search, and the main differences in design between InnoDB full-text search and MyISAM full-text search. John provided a set of examples in the tutorial. What about the performance of InnoDB full-text search, you can find out in Vinay and Jimmy’s article.
Please download mysql-5.6-labs-innodb-fts from MySQL Labs and give a try.
InnoDB New Features
The package mysql-5.6-labs-innodb-features on MySQL Labs consists of a set of InnoDB new features since MySQL 5.6.2 milestone release, except InnoDB full-text search. Some of the new features are already in MySQL server main development tree, and the rest of them are intended to move into the main development tree toward future development milestone releases and GA releases.
The new InnoDB features included in this package are:
- Increase the max size of redo log files from 4GB to 2TB
- Reduce contention during file extension
- Make deadlock detection non-recursive
- Improve thread scheduling
- Change rw-lock to mutex for trx_sys_t
- Option to preload InnoDB buffer pool
- Allow UNDO logs to reside in their own tablespace
- Reintroduce random readahead
- Support smaller page sizes (4K & 8K)
- Increase the max length of prefix index from 767 bytes to 3072 bytes
In additional to continue improvements of InnoDB performance and scalability, we are also focusing on optimizing InnoDB for flash drives. InnoDB with flash drives could benefit from new features such as larger REDO log files, separate UNDO logs, smaller page sizes, and preloaded buffer pool.
Group commit with binlog is released separately by MySQL replication team, also on MySQL Labs.
Want to learn the details of InnoDB new features? Download mysql-5.6-labs-innodb-features from MySQL Labs, play with it, and read the blogs from InnoDB engineers:
- Allow UNDO logs to reside in their own tablespace (Sunny)
- Improve InnoDB thread scheduling (Sunny, Ranger)
- Reintroducing Random Readahead in InnoDB (Inaam)
- Reduced contention during datafile extension (Inaam)
- Shortened warm-up times with a preloaded InnoDB buffer pool (Vasil)
- Create InnoDB databases with 4k and 8k page sizes without recompiling (Kevin)
BTW, do not forget to send us feedback. Thanks for being interested in InnoDB!