Описание тега innodb

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

InnoDB - ACID-совместимый механизм хранения, используемый в MySQL. InnoDB также поддерживает использование MVCC (Multiversion Concurrency Control) для поддержки уровней изоляции транзакций для InnoDB. InnoDB не является отдельным продуктом базы данных. Он распространялся как часть базы данных MySQL в первые годы существования InnoBase Oy в качестве партнера MySQL AB.

В первые дни MySQL InnoDB был сделан доступным для MySQL в качестве дополнительного транзакционного хранилища наряду с BDB. Компания, которая разработала InnoDB, InnoBase Oy, была куплена Oracle в октябре 2005 года. Percona внесла значительные улучшения в свою собственную версию InnoDB (XtraDB) с открытым исходным кодом. Oracle, который в конечном итоге стал владельцем MySQL через покупку Sun, включил большинство этих изменений в InnoDB, а также добавил свои собственные улучшения. В результате InnoDB превратился в более зрелый механизм хранения, который более надежно обрабатывает многопоточность и многопоточность. По состоянию на декабрь 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 с поиском FULLTEXT. Это станет важным шагом вперед для этого механизма хранения, поскольку это была одна из самых востребованных и востребованных функций.

Базовая инфраструктура InnoDB объединяет три основных файла

  • ibdata1
  • ib_logfile0
  • ib_logfile1

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

  • Страницы табличных данных
  • Таблицы указателей страниц
  • Метаданные таблицы (список идентификаторов табличных пространств + разная информация)
  • MVCC Records
    • Откат сегментов
    • Отменить пробел
  • Двойной буфер записи (разрешает запись фоновой страницы)
  • Вставить буфер (для сбора / обработки изменений во вторичных индексах)

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

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

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