Zum Hauptinhalt Zur Navigation Zur Suche

Falcon: Frühe Version von MySQLs neuer Storage-Engine

Jim Starkey setzt bei Falcon auf Multi Version Concurrency Control. Mit "Falcon" entwickelt Jim Starkey für MySQL seit Januar 2006 eine neue Storage-Engine, die mit einigen interessanten Ansätzen aufwartet. Nun steht eine frühe Alpha-Version zum Download bereit.
/ Jens Ihlenfeld
3 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Jim Starkeys Storage Engine "Falcon" ist für Transaktions-basierte Applikationen mit hohem Traffic ausgelegt, z.B. den Einsatz in Web-2.0-Applikationen. Dazu unterstützt sie "Multi Version Concurrency Control" (MVCC), was es erlaubt Datensätze und Tabellen ohne "Row-Level-Locking" zu aktualisieren, ein Locking während eines "Updates" ist dabei nicht notwendig. Dennoch soll Falcon transaktionssicher (ACID-konform) sein und mehrere gleichzeitige Transaktionen verarbeiten.

Zudem nutzt Falcon erweiterte B-Tree-Indizes und speichert seine Daten auf der Festplatte in komprimierter Form ab. Kompression und Dekompression werden "On-the-Fly" abgewickelt. Zudem werden Daten und Indizes in einem Cache gehalten, so dass keine Index-Daten von der Platte geladen werden müssen.

Entsprechend ist Falcon gezielt für Systeme ausgelegt, die mit viele Speicher, Threads und CPU-Kernen umgehen können, zielt also primär auf moderne 64-Bit-Systeme ab. Lauffähig ist Falcon aber auch auf 32-Bit-Systemen.

Derzeit ist die Storage-Engine Falcon nur in einer Alpha-Version in einem gesonderten Code-Zweig von MySQLs Bitkeeper-Repository(öffnet im neuen Fenster) zu finden und läuft nur unter 32- und 64-Bit-Linux-Systemen sowie unter 32-Bit-Windows. Weitere Betriebssystem sollen nach Veröffentlichung einer Alpha-Version folgen.

Weitere Details zu Falcon verrät das MySQL-Handbuch(öffnet im neuen Fenster) und ein von Mike Kruckenberg veröffentlichtes Video(öffnet im neuen Fenster) von Jim Starkeys Vortrag auf einem MySQL-Treffen in Boston. Allerdings ist das Video nicht von sehr hoher Qualität.

Jim Starkey hat einst mit InterBase die erste relationale Datenbank entwickelt, die Multi-Versioning, Trigger und Arrays unterstützte.


Relevante Themen