InnoDB


InnoDB — одна из выбираемых подсистем низкого уровня в СУБД MySQL, входит во все стандартные сборки для различных операционных систем. Основным отличием InnoDB от других подсистем низкого уровня MySQL является наличие механизма транзакций и внешних ключей.

СУБД InnoDB была разработана Хейкки Туури (фин. Heikki Tuuri) из компании Innobase — финского производителя программного обеспечения, специализирующегося на технологии реляционных баз данных. InnoDB представляет собой результат исследований, проводившихся Хейкки в университете Хельсинки.

Поддержка InnoDB появилась в MySQL версии 3.23 в середине 2001 года как экспериментальная. В версии 4.0 InnoDB входил в стандартную поставку[2][3], а начиная с версии 5.5 стал основным хранилищем по умолчанию[4]. Сама СУБД доступна на условиях открытой лицензии.

В отличие от таблиц MyISAM, где для каждой таблицы создается один файл данных, данные InnoDB в настройках по умолчанию хранятся в больших совместно используемых файлах (изменить это можно с помощью настроек опции innodb_file_per_table), что позволяет использовать постраничный кэш страниц базы данных. Формат данных InnoDB обеспечивает надежное хранение данных за счет транзакционности и блокировки данных на уровне строки.