InnoDB

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
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

[Bearbeiten] Weblinks

[Bearbeiten] Einzelnachweise

  1. Oracle verkündet Aufkauf von Innobase, einem Hersteller von Open-Source-Software. Oracle. Abgerufen am 9. Juli 2010.
  2. Lizenzierung von MySQL und InnoDB. InnoDB.com. Abgerufen am 9. Juli 2010.
  3. http://www.oracle.com/us/corporate/press/195726
  4. siehe z.B. Pachev: Understanding MySQL Internals, Chapter 10: Storage Engines
  5. http://dev.mysql.com/doc/refman/5.1/de/create-table.html
  6. http://dev.mysql.com/doc/refman/5.5/en/create-table.html
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Mitmachen
Drucken/exportieren
Werkzeuge
In anderen Sprachen