-Рубрики

 -Музыка

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в TheLenka

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 03.01.2009
Записей:
Комментариев:
Написано: 265


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

Среда, 09 Июня 2010 г. 11:45 + в цитатник

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

Жесткие диски. Магнитные диски были впервые реализованы в начале 50-х годов XX в. в исследовательской лаборатории корпорации IBM в Сан Хосе (Калифорния). В феврале 1954 года впервые данные были переписаны с перфокарт на диск. Устройства внешней памяти – последние компьютерные устройства работающие с «механическими» скоростями. Для работы крупных СУБД остаётся собирать отдельные диски в массивы и представлять их как единый быстродействующий диск.

RAID - Redundant Array of Independent (Inexpensive) Disks (избыточный массив независимых (или недорогих) дисков)

JBOD (Just a Bunch of Disks) Работает по принципу "наполнил одно - заполняй другое". То есть происходит простое соединение емкостей двух дисков. Только после заполнения одного винчестера происходит заполнение другого. Примитивный способ склеивания двух дисков в один.

RAID 0 (Stripe). Режим, при использовании которого достигается максимальная производительность. Не обладая избыточностью, делает весь массив максимально зависимым от сбоев. Данные располагаются поочередно на все диски, что повышает скорость чтения и записи. Используется весь объем дисков. Область применения - приложения, требующие высоких скоростей обмена с диском.

RAID 1 (Mirror). Несколько дисководов, работающие синхронно на запись, то есть полностью дублирующие друг друга. Повышение производительности происходит только при чтении. Самый надежный способ защитить информацию от сбоя одного из дисков. Используется при хранении очень важных данных.

RAID 2. Использует некоторые диски для хранения кодов ECC. В остальном - технология Stripe с блоками размером в сектор. Так как большинство дисководов имеют свои коды ECC, а эффективность RAID 2 ниже, чем у RAID 3, этот режим практически не используется.

RAID 3. Идентичен RAID 2, только вместо кодов ECC используются коды четности, которые, вкупе с кодами ECC каждого сектора, делают возможным восстановление информации. Из-за синхронизации всех дисководов при операциях чтения и записи, применяется в системах с потоковой обработкой информации.

RAID 4. Усовершенствованный вариант RAID уровня 3, отличием которого является использование Stripe-блоков большей величины. Из-за этого становится возможным одновременно совершать операции чтения. С записью все так же плохо, как и у RAID 3, поэтому применяется довольно редко.

RAID 5 - отказоустойчивый массив с распределенным хранением контрольных сумм. При записи поток данных разбивается на блоки (страйпы) на уровне байтов и распределяется на все диски массива.

RAID 6: Двумерная четность для обеспечения большей надежности В отличие от RAID-5, на каждом из дисков массива хранятся два блока четности. RAID-7 - зарегистрированная марка компании Storage Computer Corporation. Структура массива такова: на n-1 дисках хранятся данные, один диск используется для складирования блоков четности.

2)Преожение SELECT языка SQL. Выборка с использованием IN, вложенный SELECT. Подзапрос с несколькими уровнями вложенности. Коррелированный подзапрос.

SELECT column_name FROM table_name; - простейший вариант селекта

Например: - исходная таблица SELECT LastName, FirstName FROM Persons;

- выводится на экран

SELECT * FROM Persons; - выводит всю таблицу

SELECT IN: SELECT column_name FROM table_name WHERE column_name IN (value1,value2,..); SELECT SUM(Sales) FROM Store_Information          WHERE Store_name IN (SELECT store_name FROM Geography WHERE region_name = 'West');

3)Проблема зависимости от незафиксированных обновлений. Способы решения.

Проблема зависимости от незафиксированных обновле­ний состоит в том, что пользователь А может увидеть данные, кото­рые уже были обновлены пользователем В, но эти обновления еще не были окончательно зафиксированы. Далее пользователь В может в силу различных причин, например из-за выявленных ошибок ввода, провести откат базы данных в исходное состояние. Пользо­ватель А в этом случае будет предпринимать действия над ошибоч­ными данными. Иногда для такого рода проблем используется тер­мин «преждевременное чтение» (Dirty read).

Наиболее популярные алгоритмы управ­ления одновременным доступом основаны на механизме блокировок. Блокировка заключается в запрещении некоторых операций над дан­ными (чаще - корректировки информации), если ее обрабатывает (кор­ректирует) другой пользователь. В такой схеме всякий раз, когда тран­закция пытается получить доступ к какой-либо единице данных, на эту единицу накладывается блокировка.

Блокировки накладываются в соответствии с правилами совмес­тимости блокировок, исключающими конфликты чтение-запись, за­пись-чтение и запись-запись. Сериализуемость транзакций заведомо гарантируется, если блокировки, относящиеся к одновременно вы­полняемым транзакциям, удовлетворяют следующему правилу: «Ни одна блокировка от имени какой-либо транзакции не должна уста­навливаться, пока не будет снята ранее установленная блокировка». Это правило известно под названием двухфазового блокирования, поскольку транзакция проходит при этом сначала фазу роста, когда она устанавливает блокировки, а затем фазу сжатия, когда блоки­ровки снимаются. В общем случае снятие блокировок до завершения транзакции проблематично, поэтому в большинстве алгоритмов уп­равления одновременным доступом применяется подход, когда бло­кировки не снимаются до конца транзакции.

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

В зависимости от блокируемых информационных единиц можно выделить следующие уровни блокирования: база данных, совокуп­ность связанных таблиц, таблица, совокупность связанных записей, запись, поле. Выше были названы логические единицы реляционных баз данных.В конкретных СУБД могут быть реализованы не все, а только не­которые из перечисленных уровней блокировок. Так, практически нигде не реализована блокировка на уровне поля.

Блокировка на нижних уровнях приводит к перегрузке менеджера блокировок и, как следствие, к падению производительности системы. С другой стороны, блокировка на более высоком уровне мешает конку­рирующим пользователям получить доступ к нужным данным.Некоторые системы предусматривают динамическую схему бло­кировки, заключающуюся в том, что сначала транзакция блокирует большую информационную единицу, например страницу. Если про­является другая транзакция, претендующая на какую-то запись внут­ри этой страницы, то первая транзакция автоматически уменьшит зону блокировки до уровня записи.

Различают пессимистические и оптимистические блокировки. Пессимистические блокировки запрещают доступ к данным других транзакций, когда какая-то транзакция уже работает с ними. После­дующие операции, которые могут привести к конфликту, либо ста­вятся в очередь, либо отменяются. Оптимистические блокировки разрешают параллельное выпол­нение транзакций, отслеживают случаи возникновения конфликтов и обеспечивают их разрешение.

 

Серия сообщений "Базы данных":
Часть 1 - Файловые системы. Назначение файловых систем.
Часть 2 - Особенности орган хранения данных
...
Часть 32 - Основные реляционные СУБД: IBM DB2, ORACLE, MS SQL Server, Informix. Сравнение.
Часть 33 - Основные положения теории массового обслуживания (теория очередей).
Часть 34 - Машины баз данных. Основные архитектуры используемые в машинах баз данных.
Часть 35 - Возможности явного блокирования. Предложение LOCK TABLE.
Часть 36 - Проблема информационных хранилищ и складов данных. Хранение больших объёмов данных. Управление складами данных.
...
Часть 43 - Метод вспомогательной таблицы для случая произвольного графа. Отличия от случая моделирования иерархий
Часть 44 - Объектно-ориентированная модель и реляционная модель. Сходство и отличия.
Часть 45 - Использование «координатного» метода для моделирования иерархий и произвольных графов. Его достоинства и

Рубрики: 

 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку