Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЭУМКД_БД_1.doc
Скачиваний:
15
Добавлен:
23.09.2019
Размер:
4.19 Mб
Скачать

2.6.4. Метод доступа isam

ISAM (indexed sequential access method, индексно-последовательный метод доступа).

В методе доступа ISAM записи группируются так, чтобы они могли располагаться на отдельных дорожках цилиндров модуля дисков, и одна дорожка на каждом цилиндре отводится для индексов, указывающих на записи, расположенные на данном цилиндре.

Если необходимо включить новые записи в уже созданный файл, эти записи включаются в область переполнения.

При этом на дорожке, содержащей индексы, создаются указатели как на основную область (область первоначальных данных), так и на область переполнения.

Область переполнения может располагаться на дорожке того же цилиндра, на котором находятся первоначальные данные, в которые вносятся новые данные, переполняющие основную область.

С другой стороны, допускается расположение области переполнения за пределами этого цилиндра.

Если основная область и область переполнения расположены на одном цилиндре, доступ к записям ускоряется, так как нет необходимости перемещения головок чтения-записи с одного цилиндра на другой.

Обычно в каждом цилиндре отводится одна дорожка под область переполнения.

Однако при включении новых записей дорожка области переполнения может заполниться до отказа, причем это может произойти очень быстро.

Поэтому в системах, в которых применяется метод доступа ISAM, используется как область переполнения цилиндра, так и независимая область переполнения.

Если область переполнения цилиндра заполнена до отказа, то для новых записей отводится дорожка из независимой области переполнения.

Метод ISAM допускает многоуровневое (плотное или неплотное) индексирование. См. предыдущую тему данного курса.

Сейчас – рисунки…

Рисунок 2.6.4.1 – Области переполнения в конце цилиндров

Рисунок 2.6.4.2 – Независимая область переполнения

2.6.5. Метод доспута MyIsam

MyISAM – подсистема низкого уровня (метод доступа) в MySQL.

Метод основан на коде метода ISAM и обладает в сравнении с ним большим количеством полезных дополнений.

MyISAM-таблицы оптимизированы для использования в веб-ориентированных приложениях, где преобладают простые запросы на чтение.

Во многом это связано с отсутствием поддержки транзакций и внешних ключей.

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

Таблицы MyISAM являются платформенно-независимыми. Табличные файлы можно перемещать между компьютерами разных архитектур и разными операционными системами без всякого преобразования.

Для этого MySQL хранит все числа с плавающей запятой в формате IEEE, а все целые числа – в формате с прямым порядком следования байтов.

Индексные файлы имеют расширение .MYI (MYIndex). Файлы с расширением .MYD (MYData) содержат данные, а с расширением .frm – схему таблицы.

Если индексный файл по какой-то причине теряется, программа перестраивает индексы, используя информацию из frm-файла.

По умолчанию в каждой таблице может быть не более тридцати двух индексов, но это значение можно повысить до шестидесяти четырех.

Индексы создаются в виде двоичных деревьев.

Разрешается индексировать столбцы типа BLOB и TEXT, а также столбцы, допускающие значения NULL.

В таблицах MyISAM могут быть фиксированные и динамические записи. Выбор между фиксированным и динамическим форматом диктуется определениями столбцов.

Недостатки MyISAM

  • отсутствие самовосстановления по журналу при сбоях;

  • отсутствие блокировок областей меньших, чем целые таблицы, что приводит к отсутствию масштабируемости, т.е. к сильной деградации производительности с повышением нагрузки;

  • отсутствие средств резервного копирования (утилита mysqldump является не инструментом резервного копирования, а инструментом экспорта в текст);

  • слабая реализация сортировки (MyISAM сортирует данные слиянием, с использованием qsort для первоначально сливаемых небольших регионов, что требует неоптимального по дисковому вводу/выводу создания на каждую операцию сортировки 2 временных файлов.

Данные недостатки проявляются в заметной степени на нагрузке порядка полутысячи клиентов, исполняющих сложные запросы по базе данных размером в 2-4 Гб.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]