Обеспечение безопасности данных

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

Правила безопасности устанавливают: какие пользователи могут получить доступ к БД, а также какие операции разрешено выполнить тому или иному пользователю над конкретными объектами БД. Такие разрешенные операции называются привилегиями.

Установка, контроль и снятие привилегий – администратор БД.

 

44. Обеспечение целостности данных в СУБД.

В СУДБ предусмотрены средства обеспечения целостности данных, что позволяет постоянно поддерживать СУБД в вирт. состоянии.

Обеспечение целостности данных основано на использовании механизма транзакций при выполнении различных операции с объектами БД.

Транзакция - последовательность выполнения операций в БД, которая рассматривается как некоторое неделимое действие, осмысленное с т. зр. пользователя.

Можно сказать, что транзакция – лог. 1 работы системы, которая реализует некоторую прикладную функцию, например перевод денег с одного счета на другой в банковской системе.

Если все операции, составляющие транзакцию, успешно выполняются, то СУБД фиксирует в БД изменения, произведенные этой транзакцией.

В этом случае говорят, что транзакция подтверждается или фиксируется.

Если хотя бы одна из операций не будет выполнена, то БД останется в том же состоянии, что и перед началом выполнения транзакции, т. е. все операции, составляющие транзакцию отменяются и транзакция соответственно не подтверждается (отказывается).

Т. о. операции с БД выполняются только в рамках транзакции, каждая из которых переводит БД из одного целостного состояния в другое.

 

 

45. Управление многопользовательским доступом к данным в СУБД.

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

В основе этого лежат механизмы транзакции и блокировки.

Транзакция - последовательность выполнения операций в БД, которая рассматривается как некоторое неделимое действие, осмысленное с т. зр. пользователя.

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

Транзакции и блокировки тесно связаны друг с другом.

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

Эти задержки можно снизить, снизив размеры фрагментов данных, захватываемые транзакцией.

В частности, можно блокировать сразу всю БД (неприемлемый вариант), таблицу, часть таблицы (страницу), отдельную строку. Все эти варианты известны под названием «уровни блокировки».

Большинство СУДБ использую блокировки на уровне страниц или строк. Т. к. размер страниц невелик, то время ожидания транзакции для доступа к странице оказывается вполне приемлемым.

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

 

 

46. Управление резервным копированием и восстановлением данных в СУБД.

СУДБ содержит специальные утилиты, с помощью которых администратор БД может выполнять регулярные и экстренные процедуры резервного копирования и восстановления данных.

Восстановление данных происходит в следующих 2-х случаях:

1) аварийный отказ аппаратуры (жесткий сбой системы)

В этом случае данные повреждаются физически.

2) После аварийного отказа ПО (мягкий сбой системы)

Мягкий сбой системы характеризуется утратой оперативной памяти, но данные, хранящиеся на диске, остаются неповрежденными.

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

Журнал транзакций содержит перечень всех транзакций, выполненных после создания последней архивной копии данных с описанием всех деталей каждой транзакции.

Полная архивная копия БД создается практически с учетом скорости накопления журнала транзакций и, как правило, размещается на другом сетевом диске.

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

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

В результате БД восстанавливается в то состояние в котором, в котором она была перед повреждением.

Восстановление данных после мягкого сдоя системы осуществляется как часть процедуры перезагрузки системы.

При перезагрузки системы транзакции подвергаются анализу для выявления завершившихся транзакций и транзакций, прерванных из-за сбоя.

Транзакции, подтвержденные до наступления сбоя, но результат выполнения которых не записан на диск, выполняются заново.

Транзакции, незавершившиеся из-за сбоя, и транзакции, результат которых записан на диск, откатываются.

Самым плохим случаем является ситуация, когда разрушены физически и БД и журнал транзакций.

Единственно, что можно сделать, это восстановить состояние БД на момент резервного копирования.

Чтобы не допустить возникновения такой ситуации, БД и журнал транзакций необходимо размещать на физически разных дисках, упр-х физически разными контролями.

 

 

47. Механизм тиражирования (репликации) данных в СУБД.

Работа распределенной БД базируется над синхронной фиксацией изменений сразу на нескольких узлах системы, что предъявляет жесткие требования к производительности и надежности каналов.

Реальная альтернатива – технология тиражирования данных, не требующая синхронной фиксации изменений.

Действительно, далеко не всегда требуется поддерживать идентичность БД на различных узлах в любое время – достаточно это делать лишь в определенные критические моменты времени. Можно накапливать изменения на одном узле в виде последовательности транзакций и периодически копировать эти изменения на другие узлы. Эти функции выполняют специальные модули СУБД – репликаторы.

Его задача – автоматически синхронизировать БД, распр-ой системы и тем самым обеспечивать актуальность их копий, или как их называют реплик.

 

Поддержка репликации баз данных – одна из важнейших задач администратора: почти у каждой сколько-нибудь важной базы данных есть реплика, а то и не одна.

Среди задач, решаемых репликацией, можно назвать как минимум

Блочная репликация

При блочной репликации каждая операция записи выполняется не только на основном диске, но и на резервном.

Физическая репликация

Идея физической репликации состоит в том, что изменения из журналов повторно выполняются в другой базе (реплике), и таким образом данные в реплике повторяют данные в основной базе байт-в-байт.

Логическая репликация

 

48. Типы баз данных.

Как я уже говорил, видов и типов баз данных очень и очень много и описать их все в данной публикации я просто не смогу, но самые распространенные виды хранения информации или виды баз данных я постараюсь описать. Понятно, что база данных хранит в себе информацию о каких-то объектах, например, информацию о товаре в интернет-магазине. Любой товар в базе данных – это объект с какими-то определенными параметрами и свойствами. Перейдем к конкретным примерам.