7.5.1 Обзор таблиц InnoDB
Таблицы InnoDB
в MySQL снабжены обработчиком таблиц, обеспечивающим
безопасные транзакции (уровня ACID
) с возможностями фиксации транзакции,
отката и восстановления после сбоя. Для таблиц InnoDB осуществляется
блокировка на уровне строки, а также используется метод чтения без
блокировок в команде SELECT
(наподобие применяющегося в Oracle).
Перечисленные функции позволяют улучшить взаимную совместимость и повысить
производительность в многопользовательском режиме. В InnoDB нет
необходимости в расширении блокировки, так как блоки строк в InnoDB
занимают очень мало места. Для таблиц InnoDB поддерживаются ограничивающие
условия FOREIGN KEY
.
InnoDB
предназначается для получения максимальной производительности при
обработке больших объемов данных. По эффективности использования
процессора этот тип намного превосходит другие модели реляционных баз
данных с памятью на дисках.
Технически InnoDB является завершенной системой управления базой данных в
рамках MySQL. В InnoDB есть свой собственный буферный пул для кэширования
данных и индексов в основной памяти. Таблицы и индексы InnoDB хранятся в
специальном пространстве памяти, которое может состоять из нескольких
файлов. В этом заключается отличие InnoDB от, например, таблиц MyISAM:
каждая таблица MyISAM хранится в отдельном файле. Таблицы InnoDB могут
быть любого размера даже в тех операционных системах, где установлено
ограничение файла в 2 Гб.
Свежую информацию по InnoDB можно найти на http://www.innodb.com/. Здесь
же находится последняя версия руководства по InnoDB. Кроме того, можно
заказать коммерческие лицензии и поддержку для InnoDB.
В настоящий момент (октябрь 2001 года) таблицы InnoDB применяются на
нескольких больших сайтах баз данных, для которых важна высокая
производительность. Так, таблицы InnoDB используются на популярном сайте
новостей Slashdot.org. Формат InnoDB применяется для хранения более 1Тб
данных компании Mytrix, Inc; можно привести пример еще одного сайта, где
при помощи при помощи InnoDB обрабатывается средняя нагрузка объемом в 800
вставок/обновлений в секунду.
Таблицы InnoDB входят в дистрибутив исходных текстов MySQL, начиная с
версии 3.23.34a; они активизированы в исполняемом коде MySQL -Max. Для
Windows исполняемые коды -Max находятся в стандартном дистрибутиве.
Если вы загрузили исполняемую версию MySQL, которая включает поддержку
InnoDB, следует просто выполнить инструкции руководства MySQL по установке
исполняемой версии MySQL. В случае, если у вас уже установлен MySQL-3.23,
проще всего установить MySQL -Max, чтобы заменить исполняемый файл `mysqld'
соответствующим файлом из дистрибутива -Max. Различными в MySQL и MySQL
-Max являются только исполняемые файлы сервера. См. разделы section 2.2.10 Установка бинарного дистрибутива MySQL и See section 4.7.5 mysqld-max
, расширенный сервер mysqld
.
Чтобы произвести компиляцию MySQL с поддержкой InnoDB, загрузите
MySQL-3.23.34a или более новую версию с http://www.mysql.com/ и настройте
MySQL при помощи параметра --with-innodb
. См. раздел руководства MySQL по
установке дистрибутива исходного кода MySQL, See section 2.3 Установка исходного дистрибутива MySQL.
cd /path/to/source/of/mysql-3.23.37
./configure --with-innodb
Чтобы использовать InnoDB, необходимо указать параметры запуска InnoDB
в своем файле `my.cnf' или `my.ini'. Самый простой способ внести
изменения - добавить в раздел [mysqld]
строку
innodb_data_file_path=ibdata:30M
Однако чтобы добиться высокой скорости работы, лучше указать рекомендуемые
параметры. See section 7.5.2 Параметры запуска InnoDB.
InnoDB распространяется на условиях общедоступной лицензии версии 2 (от
июня 1991 года). В дистрибутиве исходного кода MySQL InnoDB находится в
подкаталоге `innobase'.
Add your own comment.