Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен ответы.docx
Скачиваний:
3
Добавлен:
11.05.2025
Размер:
883.97 Кб
Скачать
  1. Дайте требования к прикладным программистам по работе с транзакциями субд

1. В местах ввода данных в систему необходимо делать проверку на из корректность (для соблюдения целостности данных)

2. При выполнении операций `UPDATE`, `DELETE`, `INSERT` необходимо перед ними делать `BEGIN TRANSACTION`, а после - `END TRANSACTION`. Это связано с трехфазным протоколом lock-ирования. (для соблюдения целостности данных)

3. При обращении к БД от прикладного продукта необходимо всегда делать код возврата.

4. При обращении к БД от программного продукта необходимо делать один open connection и один close connection.

До инфа:

Транзакция

Обновление ключа или данных происходит в транзакции. Основная транзакция не логическая, а физическая.

Любой `UPDATE`, `DELETE`, `INSERT` - это транзакции. Если эти операции не будут в транзакциях, ссылки не совпадут с данными.

Поэтому необходимо писать `BEGIN TRANSACTION` и `END TRANSACTION` после каждого `UPDATE`, `DELETE`, `INSERT`.

При обновлении данных применяется последовательный образ действий, который называется трехфазный протокол lock-ирования.

1. Делаю SELECT, чтобы выбрать данные

2. Делаю lock на запись

3. Делаю update.

Отсутствие трёхфазного протокола ведет к нарушению целостности.

Unlock делается только после обновления

За этим никак не следить. Есть только один параметр для управления lock-ированием - deadlock (взаимная блокировка). Это тоже параметр ядра, и учитывается при проектировании физической модели.

Инфа RAID

Дисковый массив - это набор дисковых устройств, работающих вместе, чтобы повысить скорость и надежность системы ввода/вывода. Этим набором устройств управляет специальный RAID-контроллер, который инкапсулирует в себе функции размещения данных по массиву; а для всей остальной системы позволяет представлять весь массив как одно логическое устройство ввода/вывода. В зависимости от уровня RAID, проводится или зеркалирование или распределение данных по дискам.

Уровни RAID

Каждый из четырех основных уровней RAID использует уникальный метод записи данных на диски, и поэтому все уровни обеспечивают различные преимущества. Уровни RAID 1,3 и 5 обеспечивают зеркалирование или хранение битов четности; и поэтому позволяют восстановить информацию в случае сбоя одного из дисков.

RAID уровня 0

Технология RAID 0 также известна как распределение данных (data striping). С применение этой технологии, информация разбивается на куски (фиксированные объемы данных, обычно именуемы блоками); и эти куски записываются на диски и считываются с них в параллель.

RAID уровня 1

Технология RAID 1 также известна как зеркалирование (disk mirroring). В этом случае, копии каждого куска информации хранятся на отдельном диске; или, обычно каждый (используемый) диск имеет "двойника", который хранит точную копию этого диска. Если происходит сбой одного из основных дисков, этот замещается своим "двойником".

RAID уровней 2 и 3

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

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