Falcon (storage engine)
From Encoresoup - The Ultimate Guide to Free/Open Source Software
|
| Falcon | |
|---|---|
| Author: | Jim Starkey |
| Developer: | Sun Microsystems |
| Preview release |
MySQL 6.0.6 (11 August 2008) |
| OS: | Cross-platform |
| Genre: | Database engine |
| License: | GNU General Public License |
| Website: | http://www.mysql.com/mysql60/ |
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
| This article or section appears to have been copied and pasted from a source, possibly in violation of a copyright. Please edit this article to remove any copyrighted text and to be an original source, following the Guide to layout and the Manual of Style. Remove this template after editing. |
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

![USB Memory Watch [ThinkGeek] USB Memory Watch [ThinkGeek]](http://www.ftjcfx.com/image-3067719-10356334?imgurl=http%3A//www.thinkgeek.com/images/products/front/usb_memory_watch.jpg)
![Dive Into Python [Amazon] Dive Into Python [Amazon]](http://openx.eclecticdave.com/images/41SrdI6zgFL._SL160_.jpg)
![Practical Django Projects [Amazon] Practical Django Projects [Amazon]](http://openx.eclecticdave.com/images/51BFdH6VWsL._SL160_.jpg)

