ТОП-10 популярных


НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...


Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

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

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...

Internet2, или cтарые песни о новом
Когда-то на заре Интернета, тогдаеще военно-научной сетиAPRAnet, были заложены основныепринципы функционирования«Сети сетей». В их числе — использованиепротокола, называемого сейчасIPv4. В...

Все о MySQL. Диспетчер сохранения


28-12-2009

Для эффективной записи данных на диск этот компонент имеет интерфейс с операционной системой (ОС). Так как функции сохранения располагаются на отдельной подсистеме, механизм MySQL работает на уровне, абстрагированном от файловой системы ОС. Это значит, что при установке на разных ОС достаточно переписать только ту часть кода, которая касается сохранения. С помощью библиотек функций MySQL (см. раздел "Компоненты поддержки"), диспетчер сохранения записывает на диск все данные из таблиц пользователя, индексов и регистрационных журналов, а также внутренние системные данные. 

Адаптация к рабочей среде
Путем разделения функций между процессором обработки запросов и другими компонентами, MySQL добавляет дескрипторы таблиц типа HEAP и MERGE (в дополнение к "родному" дескриптору MylSAM). Кроме того, для каждого дескриптора предусмотрен свой диспетчер транзакций и свой диспетчер сохранения. Так как в исходных типах InnoDB и BDB возможности транзакций не предусмотрены, они были модифицированы согласно существующему процессору запросов.
О типах таблиц, которые поддерживаются MySQL, можно узнать подробнее в главе 8, "Обработка баз данных и таблиц"
Кэш-память запросов
Если запрос возвращает набор записей, повторный запрос возвратит тот же самый набор записей, пока не изменятся данные, на основании которых запрос обрабатывается. Однако далеко не во всех из существующих основных реляционных СУБД предусмотрены возможности, в которых бы рационально использовались преимущества этого принципа. В других базах данных сохраняется оптимизированный план доступа, детализирующий процесс выборки данных, что позволяет подобным запросам пропускать этап анализа индексов, которые уже использовались для выборки данных.
Кэширование результирующего набора является шагом вперед по сравнению с сохранением результирующих наборов в памяти, минуя этап поиска в базе данных. Данные из запроса просто помещаются в кэш-памяти, а когда встречается аналогичный запрос, в ответ на него возвращаются эти уже однажды выбранные данные.
MySQL предельно эффективно использует в своей работе кэширование результирующих наборов. Этот механизм известен как кэш-память запросов, динамически сокращающий время ответа на запросы, которые вызываются для выборки абсолютно тех же данных, что были обработаны во время предыдущего запроса.
Этот механизм является настолько эффективным, что основные компьютерные издания уже объявили, что запросы MySQL работают быстрее, чем аналогичные запросы в СУБД Oracle и СУБД SQL Server (которые отличаются огромной скоростью работы). При правильной реализации системы принятия решений, использующей MySQL с отчетами или Web-страницами, выбирающими данные из баз данных, становится вполне реальным обеспечение скорости реакции значительно более высокой, чем скорость, на которую можно рассчитывать без использования кэш-памяти запросов.
Диспетчер буферизации
Эта система предназначена для управления памятью в промежутках времени между запросами данных процессором обработки запросов и диспетчером сохранения. MySQL использует агрессивное использование памяти для кэширования результирующих наборов, которые могут возвращаться в исходном состоянии, не задействуя при этом диспетчер сохранения. Работу такой кэш-памяти обеспечивает диспетчер буферизации.
В этой области также могут храниться новые записи до того, пока не освободятся нужные таблицы и индексы. При необходимости большого количества данных, они запрашиваются из диспетчера сохранения и размещаются в буфере перед их отправкой в процессор обработки запросов.
Диспетчер транзакций

Диспетчер транзакций предназначен для обеспечения параллельности при доступе к данным. Эта подсистема реализует механизм блокировки, обеспечивающий одновременный доступ к данным, не допуская при этом нарушения целостности и разрушения данных. Управление транзакциями осуществляется через субкомпонент диспетчера блокировки, блокирующий и снимающий блокировку с различных объектов, используемых при транзакциях. Каждая программа обработки таблиц транзакций работает со своим собственным менеджером транзакций для обработки всех блокировок и обеспечения параллельности работы.
Диспетчер восстановления
Задача, стоящая перед диспетчером восстановления, заключается в сохранении копий данных для последующего использования их в случае потери данных. Кроме того, она протоколирует команды изменения данных и другие события, происходящие в базе данных.
До настоящего времени только дескрипторы таблиц типа InnoDB и BDB имели возможность восстановления. Так таблицы типа MyISAM не обеспечены процедурами восстановления транзакций, но в них предусмотрен механизм восстановления на случай сбоя в работе сервера. Эти возможности позволяют устранить любое отсутствие целостности, которая может возникнуть в случае сбоя работы системы. Обычно это относится к индексам, которые не были правильно модифицированы и не соответствуют содержимому таблиц или записей, которые были записаны не полностью в базу данных.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Техническое описание MySQL Все о MySQL. Компоненты поддержки