ТОП-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 предлагает использование переменных-семафоров на стороне сервера, играющих роль диспетчеров трафика. Эти переменные могут быть полезны для снятия излишней нагрузки с диспетчеров транзакции. Таблицы типа InnoDB имеют возможность обеспечения изолированности транзакций, включающих несколько запросов, в то время как таблицы типа MyISAM позволяют моделировать изолированность посредством команды LOCK TABLES.
Надежность
Надежность означает, что изменения, произведенные транзакцией, сохраняются даже при полном отказе системы и могут быть использованы, когда транзакция завершена, и регистрационные журналы в базе данных полностью модифицированы. В большинстве реляционных СУБД целостность данных обеспечивается с помощью регистрационных журналов, в которых фиксируются все изменения, произошедшие в базе данных. Этот регистрационный журнал хранит изменения всех модификаций, сделанных в таблицах, запросах, отчетах и т.д. Но активизация протоколирования в базу данных, когда это касается записи данных, существенно замедлит производительность вашей базы данных. (Однако это никак не повлияет на скорость обработки ваших запросов.)
В MySQL можно задать использование транзакций, выбрав соответствующий дескриптор таблиц. Так, дескриптор InnoDB выполняет протоколирование в регистрационные журналы несколько иначе, чем дескриптор BDB, а вот таблицы типа MyISAM не поддерживают таких типов журналов, которые позволили бы вам полностью обеспечить надежность базы данных. По умолчанию таблицы типа InnoDB являются надежными на 100% до последней секунды перед отказом работы компьютера. Таблицы типа MyISAM характеризуются частичной надежностью - на диске гарантированно сохраняются все изменения, выполненные до выполнения последнего оператора FLUSH TABLES.
Например, СУБД SQL Server и Oracle могут восстанавливать базу данных в исходное состояние, посредством восстановления предварительно зарезервированных баз данных и, по сути "воспроизводят" все последовательные транзакции вплоть до момента отказа. Эти побочные результаты функционирования баз данных не предназначены для прямого использования и для просмотра внутреннего строения структур данных, файлов регистрации, т.к. эти файлы составляют внутреннюю часть механизма восстановления базы данных.
СУБД MySQL также ведет двоичный журнал регистрации активности по манипуляции данными. Однако, в отличие от журналов в других базах данных, эти журналы легко читаются, что означает, что их прямой задачей является восстановление потерянных данных с использованием последней резервной копии в совокупности с регистрационным журналом.

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



<< Предыдущая статьяСледующая статья >>
Все о MySQL. Целостность данных Все о MySQL. Расширяемость