Описание тега innodb
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. Начиная с MySQL 5.5, вы можете настроить несколько экземпляров пула буферов. До MySQL 5.5 существовал только один экземпляр пула буферов.