Falcon (storage engine)
From Wikipedia, the free encyclopedia
Falcon is a new transactional storage engine for the MySQL relational database management system. It is currently in the beta stage of development, being worked at in a development tree based on the MySQL 5.2 release, called MySQL 6.0. It is based on the Netfrastructure database engine.
Architecture analysis shows an interesting mixture of possible performance properties, while low level benchmarks on the first alpha release in 5.1.14-falcon showed that Falcon performed differently from both InnoDB (supplied by Oracle) and MyISAM. It did better in several tests, worse in others, with inefficient support for the MySQL LIMIT operation a limitation. Its biggest advantage though is known to be ease of use; Falcon requires minimum maintenance and designed to reconfigure itself automatically to handle efficiently all types of loads.
[edit] Architecture
The architecture of the Falcon engine consists of seven basic components:
- User tablespaces: contains the actual user data and indexes stored in a Falcon database.
- Falcon serial log: contains recently committed data changes, index changes, and transactional information. The log also handles crash recovery activities for a database.
- Page cache: memory region that holds database pages being read or written.
- System metadata: Falcon's system tablespace that holds internal information.
- Record cache: memory region that holds copies of active and uncommitted records.
- System cache: memory region that contains transaction context information, index accelerators, and system metadata.
- Worker threads: moves data from the Falcon Log into the database page cache, from the page cache to disk, and performs BLOB management.
[edit] See also
[edit] External links
- MySQL Documentation on the Falcon storage engine
- Presentation by Jim Starkey on Falcon
- Text summary of Starkey's presentation
- Slashdot news item of the open source announcement
- InnoDB vs MyISAM vs Falcon
- Falcon Design Review
- Understanding the Falcon Transaction Storage Engine - Part 1
- Understanding the Falcon Transaction Storage Engine - Part 2