InnoDB
| InnoDB | |
|---|---|
| Entwickler | Heikki Tuuri, Innobase Oy Inc. (Oracle Corporation) |
| Betriebssystem | Unix, Linux, Windows, Mac OS X, i5/OS, OpenVMS |
| Kategorie | Storage-Engine |
| Lizenz | Duales Lizenzsystem (Kommerziell und GNU General Public License) |
| Deutschsprachig | nein |
| innodb.com | |
InnoDB ist eine freie Storage-Engine für das Datenbankmanagementsystem MySQL. Ihr Hauptvorteil gegenüber anderen Storage-Engines für MySQL ist, dass Transaktionssicherheit und referenzielle Integrität über Fremdschlüssel gewährleistet werden.
Innobase Oy, der Hersteller von InnoDB, wurde im Oktober 2005 von Oracle Systems übernommen.[1]
Die Software ist doppellizensiert: Für Open-Source-Anwendungen steht sie unter der GPL; für Nicht-Open Source-Anwendungen ist daneben eine proprietäre Lizenz erhältlich.[2]
Inhaltsverzeichnis |
[Bearbeiten] Eigenschaften
Bei MySQL Version 5.0 wird InnoDB bei einer Installation unter Windows als Standard-Engine installiert. Bei einer Installation unter Unix wird MyISAM als Standard-Engine installiert. Seit MySQL 5.5 ist InnoDB die Standard-Speicher-Engine unter allen Systemen.[3]
InnoDB unterstützt Transaktionen, das heißt:
- Die in der Transaktion erfolgten Schreiboperationen können durch einen Transaktionsabbruch ("abort") widerrufen werden (rollback).
- Wiederholte Lesezugriffe innerhalb einer Transaktion sind von Schreibzugriffen anderer Transaktionen nicht beeinflusst (Isolation aus ACID).
- Schreibzugriffe in einer Transaktion bewirken eine Schreibsperre der betroffenen Datensätze für alle anderen Transaktionen (Row level locking).[4]
Um explizit eine Tabelle mit InnoDB als Engine anzulegen, kann die SQL-Option ENGINE verwendet werden:
CREATE TABLE t (i INT) ENGINE = INNODB;
(Anmerkung: Ältere Versionen von MySQL verwenden das Schlüsselwort TYPE statt ENGINE (Beispiel: TYPE = INNODB). MySQL 5.0 und 5.1 unterstützen diese Syntax abwärtskompatibel, allerdings wird die Verwendung von ENGINE empfohlen. Seit MySQL 5.5 wird nur noch das Schlüsselwort ENGINE unterstützt.)[5][6]
[Bearbeiten] Literatur
- Sasha Pachev: Understanding MySQL Internals, O'Reilly 2007, ISBN 978-0-596-00957-1
[Bearbeiten] Weblinks
[Bearbeiten] Einzelnachweise
- ↑ Oracle verkündet Aufkauf von Innobase, einem Hersteller von Open-Source-Software. Oracle. Abgerufen am 9. Juli 2010.
- ↑ Lizenzierung von MySQL und InnoDB. InnoDB.com. Abgerufen am 9. Juli 2010.
- ↑ http://www.oracle.com/us/corporate/press/195726
- ↑ siehe z.B. Pachev: Understanding MySQL Internals, Chapter 10: Storage Engines
- ↑ http://dev.mysql.com/doc/refman/5.1/de/create-table.html
- ↑ http://dev.mysql.com/doc/refman/5.5/en/create-table.html