Описание тега 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 или системное табличное пространство (см. InnoDB Architecture)
  • ib_logfile0 (см. InnoDB Architecture)
  • ib_logfile1 (см. InnoDB Architecture)

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

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

InnoDB Архитектура

InnoDB Архитектура

Конфигурации InnoDB могут приспособить следующие

  • Отделение табличных данных и страниц указателя от табличного пространства системы
  • Хранение системного табличного пространства в разделе чистого диска
  • Создание нескольких файлов системных табличных пространств
  • Создание нескольких файлов журнала
  • и больше...

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