- •Различие информации и данных
- •4.Банк данных
- •В состав банка данных входят одна или несколько баз данных, справочник баз данных, субд, а также библиотеки запросов и прикладных программ.
- •5.Назначение субд
- •Основные функции субд
- •Состав субд
- •7.Функции администратора базы данных
- •22) Охарактеризуйте методы обработки транзакций в активных базах данных.
- •23) В чем основные особенности архитектуры клиент-сервер?
- •24) Какие стандарты разработаны для архитектуры клиент-сервер?
- •25) Создание приложений «клиент-сервер»
- •26) Какова типичная распределённая система базы данных?
- •27) В чем состоят преимущества использования распределенных бд?
- •28) Перечислите основные принципы организации распределённых бд
- •29. Что представляет собой фрагментация данных?
- •30. Перечислите проблемы распределенных систем.
- •31. В чем состоит проблема обновления в распределенных системах?
- •32. Дайте определение хранилищ данных.
- •33. Какие свойства присущи хранилищам данных?
- •34. Какие задачи требуется решать при создании хранилищ данных?
- •35. Перечислите основные компоненты хранилищ данных.
- •36) Виды моделей хранилища данных
- •37) Опишите процесс загрузки данных в хранилище
- •38) Какие задачи решают средства анализа данных в системах поддержки принятия решений?
- •39) Дайте определение тракзакции.
- •40) Перечислите, какими свойствами должна обладать транзакция.
- •Atomicity — Атомарность
- •Consistency — Согласованность
- •Isolation — Изолированность
- •Durability — Надежность
- •41) Назовите 3 основные проблемы параллелизма.
- •Проблема потери результатов обновления
- •Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
- •Проблема несовместимого анализа
- •Неповторяемое считывание
- •Фиктивные элементы (фантомы)
- •Собственно несовместимый анализ
- •42) Что представляет собой блокировка?
- •8. Что представляет собой вычислительная система?
- •9. Назовите основные способы работы пользователя с базой данных при решении прикладных задач.
- •10. Укажите технологии создания приложений работы с базами данных.
- •11. Охарактеризуйте способы выполнения приложений работы с базами данных.
- •12.Перечислите основные модели жизненного цикла бд.
- •13. Перечислите основные признаки фактографических и документальных бд.
- •14. Перечислите классические и современные модели представления данных.
Isolation — Изолированность
Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат. Это свойство не соблюдается на уровне изолированностиRepeatable Read и ниже.
Durability — Надежность
Независимо от проблем на нижних уровнях (к примеру, обесточивание системы или сбои в оборудовании) изменения, сделанные успешно завершённой транзакцией, должны остаться сохранёнными после возвращения системы в работу. Другими словами, если пользователь получил подтверждение от системы, что транзакция выполнена, он может быть уверен, что сделанные им изменения не будут отменены из-за какого-либо сбоя.
41) Назовите 3 основные проблемы параллелизма.
Различают три основные проблемы параллелизма:
Проблема потери результатов обновления.
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание).
Проблема несовместимого анализа.
Рассмотрим подробно эти проблемы.
Рассмотрим
две транзакции, A и B, запускающиеся в
соответствии с некоторыми графиками.
Пусть транзакции работают с некоторыми
объектами базы данных, например со
строками таблицы. Операцию чтение строки
будем обозначать
,
где
- прочитанное значение. Операцию записи
значения
в
строку
будем обозначать
.
Проблема потери результатов обновления
Две транзакции по очереди записывают некоторые данные в одну и ту же строку и фиксируют изменения.
Транзакция A |
Время |
Транзакция B |
Чтение |
|
--- |
--- |
|
Чтение |
Запись |
|
--- |
--- |
|
Запись
|
Фиксация транзакции |
|
--- |
--- |
|
Фиксация транзакции |
Потеря результата обновления |
|
|
Результат.
После окончания обеих транзакций, строка
содержит значение
,
занесенное более поздней транзакцией
B. Транзакция A ничего не знает о
существовании транзакции B, и естественно
ожидает, что в строке
содержится значение
.
Таким образом, транзакция A потеряла
результаты своей работы.
Проблема незафиксированной зависимости (чтение "грязных" данных, неаккуратное считывание)
Транзакция B изменяет данные в строке. После этого транзакция A читает измененные данные и работает с ними. Транзакция B откатывается и восстанавливает старые данные.
Транзакция A |
Время |
Транзакция B |
--- |
|
Чтение |
--- |
|
Запись |
Чтение
|
|
--- |
Работа с прочитанными данными |
|
--- |
--- |
|
Откат транзакции
|
Фиксация транзакции |
|
--- |
Работа с "грязными" данными |
|
|
С чем же работала транзакция A?
Результат. Транзакция A в своей работе использовала данные, которых нет в базе данных. Более того, транзакция A использовала данные, которых нет, и не было в базе данных! Действительно, после отката транзакции B, должна восстановиться ситуация, как если бы транзакция B вообще никогда не выполнялась. Таким образом, результаты работы транзакции A некорректны, т.к. она работала с данными, отсутствовавшими в базе данных.
