Изолированность
Изолированность означает, что все транзакции происходят в их собственном пространстве, изолированном от других транзакций, которые могут в это же время выполняться в системе, а результаты транзакции будут видимы только тогда, когда вся последовательность событий, составляющих транзакцию, будет выполнена полностью. Даже если в такой системе происходит одновременно сразу же несколько транзакций, принцип изолированности гарантирует, что результат конкретной транзакции не будет "виден" до того, пока эта транзакция не будет полностью завершена.
Это очень важно в том случае, если система поддерживает множество одновременно работающих пользователей и соединений (что справедливо в случае MySQL). Системы, не удовлетворяющие этому фундаментальному принципу, могут вызывать массовое разрушение данных, по мере того как целостность индивидуального пространства каждой транзакции будет быстро нарушена другими параллельно выполняющимися и при этом зачастую конфликтующими транзакциями.
Нужно отметить, что MySQL предлагает использование переменных-семафоров на стороне сервера, играющих роль диспетчеров трафика. Эти переменные могут быть полезны для снятия излишней нагрузки с диспетчеров транзакции. Таблицы типа InnoDB имеют возможность обеспечения изолированности транзакций, включающих несколько запросов, в то время как таблицы типа MyISAM позволяют моделировать изолированность посредством команды LOCK TABLES.
Надежность
Надежность означает, что изменения, произведенные транзакцией, сохраняются даже при полном отказе системы и могут быть использованы, когда транзакция завершена, и регистрационные журналы в базе данных полностью модифицированы. В большинстве реляционных СУБД целостность данных обеспечивается с помощью регистрационных журналов, в которых фиксируются все изменения, произошедшие в базе данных. Этот регистрационный журнал хранит изменения всех модификаций, сделанных в таблицах, запросах, отчетах и т.д. Но активизация протоколирования в базу данных, когда это касается записи данных, существенно замедлит производительность вашей базы данных. (Однако это никак не повлияет на скорость обработки ваших запросов.)
В MySQL можно задать использование транзакций, выбрав соответствующий дескриптор таблиц. Так, дескриптор InnoDB выполняет протоколирование в регистрационные журналы несколько иначе, чем дескриптор BDB, а вот таблицы типа MyISAM не поддерживают таких типов журналов, которые позволили бы вам полностью обеспечить надежность базы данных. По умолчанию таблицы типа InnoDB являются надежными на 100% до последней секунды перед отказом работы компьютера. Таблицы типа MyISAM характеризуются частичной надежностью - на диске гарантированно сохраняются все изменения, выполненные до выполнения последнего оператора FLUSH TABLES.
Например, СУБД SQL Server и Oracle могут восстанавливать базу данных в исходное состояние, посредством восстановления предварительно зарезервированных баз данных и, по сути "воспроизводят" все последовательные транзакции вплоть до момента отказа. Эти побочные результаты функционирования баз данных не предназначены для прямого использования и для просмотра внутреннего строения структур данных, файлов регистрации, т.к. эти файлы составляют внутреннюю часть механизма восстановления базы данных.
СУБД MySQL также ведет двоичный журнал регистрации активности по манипуляции данными. Однако, в отличие от журналов в других базах данных, эти журналы легко читаются, что означает, что их прямой задачей является восстановление потерянных данных с использованием последней резервной копии в совокупности с регистрационным журналом.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
Все о MySQL. Целостность данных. Продолжение.
28-12-2009
<< Предыдущая статья | Следующая статья >> |
Все о MySQL. Целостность данных | Все о MySQL. Расширяемость |