Речь пойдет прежде всего о функционировании операционных БД в рамках СУБД.
Независимо от класса БД здесь приходится решать проблемы, к которым относятся обеспечение одно- и многопользовательского функционирования, защита данных, обеспечение целостности, восстановление данных после сбоя в БД.
В централизованных однопользовательских БД функционирование обеспечивается так называемыми транзакциями, в результате выполнения которых данные в БД либо обновляются (фиксация), либо остаются прежними (откат). Для операционных БД (СУБД) характерны так называемые короткие транзакции с длительностью в микро- и миллисекунды. Хранилища данных должны работать при длительных (часы) транзакциях. В случае многопользовательского режима дополнительно возникает необходимость одновременного доступа нескольких пользователей к одним и тем же данным, что чаще всего достигается блокировкой данных.
Защита данных от несанкционированного доступа осуществляется либо запретом доступа (пароль), либо разрешением на доступ, что особенно легко обеспечить с помощью языка программирования SQL. Обеспечение целостности определяется специальными программами, получившими название триггеры. Они реализуют различного рода ограничения. Например, для поля Пол программа ограничивает задание только значений «муж» и «жен». Другие значения базой данных не воспринимаются.
Восстановление данных после сбоя БД определяется характером сбоя. При кратковременных сбоях БД восстанавливается сама: используются данные БД в контрольных точках и невыполненные транзакции. При длительных сбоях восстановление БД возможно лишь на основе создаваемой и периодически обновляемой резервной копии базы.
В распределенных одноранговых БД в решении перечисленных проблем возникают дополнительные сложности. Могут быть использованы распределенные транзакции. Усложняется и процедура одновременного доступа, для обеспечения которой сформированы дополнительные методы. Их суть — та или иная схема централизации управления базой данных. Особую значимость приобретают вопросы дублирования данных.
Новые трудности возникают при интегрировании в неоднородную распределенную БД ранее построенных, действующих локальных баз данных с разными моделями данных.
Решение названных проблем несколько упрощается при использовании в распределенных БД режима клиент—сервер.
Более подробно сведения о функционировании БД рассмотрим на следующих лекциях.