Emerging technologies

MySQL 6.0 / Falcon is Here

By Mainak Biswas September 10, 2007 - 821 views

MySQL 6.0 Alpha version has been announced on September 4′ 2007. The actual production ready version is slated to be launched sometime on mid-2008. So, it will be sometime before your business can benefit from it but our developer community will take notice and start playing with it.

MySQL 6.0 features a new database engine called “Falcon”. MySQL has been working on it since Feb’2006 when it acquired a company called Netfrastructure. With this acquisition came Jim Starkey who is created of InterBase database and has helped in the Falcon effort. Here is why it is cool:

Full Acid Compliance
Acid compliance has to be at the core of any database if has to be taken seriously and adopted in any business. Falcon manages transactions through a multi-generational approach in which only committed data is stored in the database.

Built for Speed
Falcon manages all transactional activity in memory (with optional paging to disk if necessary) so all requests are serviced from the memory instead of reading it from the disk, which makes it very fast. In addition, rollbacks of even the largest transactions are accomplished in a near instantaneous manner.

Row Level Caching
Falcon has a distinct memory cache called the Record Cache that differs from traditional database caches in that it only holds the necessary rows being requested by end user queries instead of full database pages that may or may not have data being asked for via SQL queries. This equates to more efficient memory utilization plus it ensures needed data stays hot/resident in memory all the time.  

Multi-Threaded System
Multi-threading is required for parallel execution which leads to superior performance. Falcon’s design takes advantage of multi-core systems to provide parallel execution of user and service threads. Falcon uses fine-grained multi-threading to increase parallelism with locking on internal structures being done at a low level. In some cases, two threads can change different attributes of the structure at once, because the attributes are separately lockable

The Falcon engine currently has following limitations:

  1. A single database limit is 110TB
  2. Each table is limited to 32,000 columns
  3. Each table is limited to 4 billion rows

These limitations is more than luxury for full 99.99% of web-apps and we don’t see anyone hitting that limit anytime soon. You can start learning about Falcon from over here.

Page Scrolled