InnoDB является основной совместимый ACID Механизм устройства хранения данных, используемый в MySQL.

InnoDB является совместимый ACID Механизм устройства хранения данных, используемый в MySQL. InnoDB также показывает использование для MVCC (Управление совместным выполнением Мультиверсии) для поддержки Уровней изоляции транзакции для InnoDB. InnoDB не является автономным продуктом базы данных. Это было распределено как часть базы данных MySQL в течение ее первых лет InnoBase Oy как партнер MySQL AB.

В первые годы MySQL InnoDB был сделан доступным для MySQL как дополнительная система хранения транзакций наряду с BDB. Компания, которая разработала InnoDB, InnoBase Oy, была куплена Oracle в октябре 2005. Percona внес большие улучшения своей собственной версии С открытым исходным кодом InnoDB (XtraDB). Oracle, которая в конечном счете стала владельцем MySQL через покупательный Sun, включила большинство тех изменений в InnoDB, также добавив собственные улучшения. В результате InnoDB преобразовал в более сформировавшийся механизм устройства хранения данных, который обрабатывает mulitprocessing и многопоточность более надежно. По состоянию на декабрь 2010 InnoDB стал механизмом устройства хранения данных по умолчанию для MySQL 5.5.

MySQL 5.5 также имеет улучшения для упрощения InnoDB в привлечении нескольких центральных процессоров. Те улучшения были представлены в MySQL 5.1.38 в Плагине InnoDB только. Те улучшения были теперь включены с MySQL 5.5.

MySQL 5.5 также идет с новыми возможностями, такими как Полусинхронная репликация, Несколько Буферных Пулов InnoDB, плагинов для пользовательской аутентификации, инструментария метрик производительности, и больше!!!

В недавнем пресс-релизе Oracle одна из новых возможностей для MySQL 5.6 должна иметь InnoDB с Полнотекстовым поиском. Это будет важным шагом вперед для этого механизма устройства хранения данных, поскольку это было одним из наиболее востребованных и искало функции.

Основная инфраструктура InnoDB центрирует приблизительно три главных файла

  • ibdata1
  • ib_logfile0
  • ib_logfile1

В сочетании со структурами памяти ibdata1 обрабатывает информацию для 6 структур основных данных

  • Страницы данных таблицы
  • Индексные страницы таблицы
  • Таблица MetaData (Список идентификаторов Tablespave + информация о Misc)
  • Записи MVCC
    • Сегменты отката
    • Пространство Отмены
  • Двойной буфер записи (позволяет фоновые записи страницы),
  • Вставьте Буфер (Для Сбора/Обработки Изменений во Вторичных Индексах)

Конфигурации могут разместить

  • Разделение страниц данных таблицы и индексных страниц
  • Хранение ibdata1 в Разделе Неструктурированного диска
  • Создание Нескольких ibdata Файлов
  • Создание нескольких Файлов журнала
  • и больше...

Существует важный кэш, известный как Пул буферов InnoDB. С MySQL 5.5 можно настроить несколько экземпляров пула буферов. До MySQL 5.5 существует только один экземпляр пула буферов.