База данных расположена на мощном выделенном компьютере (сервере), а
персональные компьютеры подключены к нему по локальной сети. На этих
компьютерах установлены клиентские программы, обращающиеся к базе данных
по сети. Преимущество такой архитектуры заключается в возможности
одновременной работы нескольких пользователей с одной базой данных.
Недостаток такого подхода - большие объемы информации, передаваемой по
сети. Вся обработка выполняется на клиентских местах, где фактически
формируется копия базы данных. Это приводится к ограничению максимально
возможного числа пользователей и большим задержкам при работе с базой. Эти
задержки вызываются тем, что на уровне конкретной таблицы одновременный
доступ невозможный. Пока программа на одном из клиентских мест не закончит
работу с таблицей (например, не выполнит модификацию записей), другие
программы не могут обращаться к этой таблице. Это называется блокировкой
на уровне таблицы и исключает возникновение путаницы в ее содержимом.
Клиент - серверная архитектура.
В такой архитектуре на сервере не только хранится БД, но и работает
программа СУБД, обрабатывающая запросы пользователей и возвращающая им
наборы записей. При этом программы пользователей уже не работают,
например, с БД как набором физических фалов, а обращаются к СУБД, которая
выполняет операции. Нагрузка с клиентских мест при этом снимается, так как
большая часть работы происходит на сервере. СУБД автоматически следит за
целостностью и сохранностью БД, а также контролирует доступ к информации с
помощью службы паролей. Клиент - серверные СУБД допускают блоки на уровне
|
записи и даже отдельного поля. Это означает, что с таблицей может работать
любое число пользователей, но доступ к функции изменения конкретной записи
или одного из ее полей обеспечен только одному из них.
Основной недостаток этой архитектуры не очень высокая надежность. Если
сервер выходит из строй, вся работа останавливается.
Распределенная архитектура.
В сети работает несколько серверов, и таблицы баз данных распределены
между ними для достижения повышенной эффективности. На каждом сервере
функционирует своя копия СУБД. Кроме того, в подобной архитектуре обычно
используются специальные программы, так называемые серверы приложений. Они
позволяют оптимизировать обработку запросов большого числа пользователей и
равномерно распределить нагрузку между компьютерами в сети.
Недостаток распределенной архитектуры заключается в довольно сложном и
дорогостоящем процессе ее создания и сопровождения (администрирования), а
также а высоких требованиях к сервером компьютерам.
Интернет - архитектура.
Доступ к базе данных и СУБД (распространенных на одном компьютере или в
сети) осуществляется из броузера по стандартному протоколу. Это
предъявляет минимальные требования к клиентскому оборудованию. Такие
программы называют «тонкими клиентами», потому что они способны работать
даже на ПК с процессором 80386. Благодаря стандартизации всех протоколов и
внедрять. Например, можно не организовывать локальную сеть, а обращаться к
серверу через Интернет в локальной сети (в таком случае говорят о
|
технологиях интранет). В этом случае не требуется разрабатывать
специальные клиентские программы или придумывать собственные спецификации
обмена данными между сервером и клиентскими местами. Достаточно
использовать готовые броузера и программные решения.
Типы СУБД.
Системой управления базами данных называют программную систему,
предназначенную для создания на ЭВМ общей базы данных для множества
приложений, поддержания ее актуальном состоянии и обеспечения
эффективности доступа пользователей к содержащимся в ней данным в рамках
предоставленных им полномочий. СУБД предназначена, таким образом, для
централизованного управления БД как социальным ресурсом в интересах всей
совокупностей ее пользователей. Доступ к базе данных отдельных
пользователей при этом возможен только через посредство СУБД.
По степени их универсальности различаются два вида СУБД - системы общего
назначения и специализированные системы. СУБД общего назначения не
ориентированны на какую - либо конкретную предметную область или на
информационные потребности конкретной группы пользователей. Каждая система
такого рода реализуется как программный продукт, способный функционировать
на некоторой модели ЭВМ в определенной обстановки, и поставляется многим
пользователям как коммерческое изделие. СУБД общего назначения обладают
средствами настройки на работу с конкретной БД в условиях конкретного
применения.
Использование СУБД общего назначения в качестве инструментального средства
|
для создания автоматизированных информационных систем, основанных на
технологии БД, позволяет существенно сокращать сроки разработки, экономить
трудовые ресурсы. Развитые функциональные возможности таких СУБД, присущая
им, как правило, функциональная избыточность позволяют иметь значительный
«запас мощности», необходимый для безболезненного эволюционного развития
построенных на их основе информационных систем в рамках их жизненного
цикла. Вместе с тем средства настройки дают возможность достигнуть
приемлемого уровня производительности информационной системы в процессе ее
эксплуатации.
Однако в некоторых случаях доступные СУБД общего назначения не позволяют
добиться требуемых характеристик производительности и/или удовлетворить
заданные ограничения по объему памяти, предоставляемой для хранения БД.
Тогда приходится разрабатывать специализированную СУБД для данного
конкретного применения. Решение указанных проблем при этом может оказаться
возможным благодаря знанию специфических особенностей данного применения,
к которым оказываются нечувствительными средства настройки доступных СУБД
общего назначения, либо за счет ущемления каких либо функций системы, не
имеющих жизненно важного значения. Как правило, в этой роли оказываются,
прежде всего функции, обеспечивающие комфортную работу пользователя.
Создание специализированной СУБД - весьма трудоемкое дело даже в
сравнительно простых случаях, и для того, чтобы избрать этот путь, нужно
иметь действительно веские основания и твердую убеждаемость в
невозможности или нецелесообразности использования какой - либо СУБД
общего назначения.
СУБД общего назначения - это сложные программные комплексы,
предназначенные для выполнения всей совокупности функций, связанных с
созданием и эксплуатацией БД информационной системы. Они позволяют
определить структуру создаваемой БД, инициализировать ее и произвести
начальную загрузку данных. Системные механизмы выполняют также функции
управления ресурсами среды хранения, обеспечения логической и физической
независимости данных, предоставления доступа пользователям к БД, защиты
логической целостности БД, обеспечения ее физической целостности - защиты
от разрушений. Другая важная группа функций - управления полномочиями
пользователей на доступ к БД, настройка на конкретные условия применения,
организация параллельного доступа пользователей к базе данных в социальной
пользовательской среде, поддержка деятельности системного персонала,
ответственного за эксплуатацию БД.
Для создания БД разработчик описывает ее логическую структуру, организацию
в среде хранения, а также способы видения базы данных пользователями. При
этом используются предоставляемые СУБД языковые средства определения
данных, и система настраивается на работу с конкретной БД. Такие описания
БД называются соответственно схемой (или логической схемой, или
концептуальной схемой) БД, схемой хранения (или внутренней схемой) и
внешними схемами.
Обрабатывая схемы БД, СУБД создает пустую БД требуемой структуры -
хранилище, которое можно далее наполнить данными о предметной области
начать эксплуатировать для удовлетворения информационных потребностей
пользователей.
Принципиально важное свойство СУБД заключается в том, что она позволяет
различать и поддерживать два независимых взгляда на БД - взгляд
пользователя, воплощаемой в «логическом» представлении данных, и «взгляд»
системы - «физическое» представление, характеризующее организацию хранимых
данных. Пользователя не интересует при его работе с БД байты и биты,
представляющие данные в среде хранения, их размещения в памяти, указателя,
поддерживающие связи между структурными различными компонентами хранимых
данных, выбранные методы доступа. В то же время эти факторы важны для
выполнения функций управления данными самой СУБД.
Обеспечение логической независимости данных - одна из важнейших функций
СУБД, предоставляющая определенную степень свободы вариации «логического»
представления БД без необходимости соответствующей модификации
«физического» представления. Благодаря этому достигается возможность
адаптации взгляда пользователя на БД к его реальным потребностям,
конструирования различных «логических» взглядов на одну и ту же
«физическую» БД, что весьма важно в социальной пользовательской среде.
Под «физической» независимостью данных понимается способность СУБД
предоставлять некоторую свободу модификации способов организации БД в
среде хранения, не вызывая необходимости внесения соответствующих
изменений в «логическое» представление. Благодаря этому вносить изменения
в организацию хранимых данных, производить настройку системы с целью
повышения ее эффективности, не затрагивая созданных прикладных программ,
использующих базу данных. «Физическая» независимость данных реализуется в
СУБД за счет тех же самых трансформационных механизмов архитектуры
системы, которые обеспечивают «логическую» независимость данных.
Поддержка логической целостности (непротиворечивости) базы данных - другая
важная функция СУБД. В развитых системах ограничения целостности базы
данных объявляются в схеме базы данных, и их проверка осуществляется при
каждом обновлении объектов данных или связей между ними, являющихся
аргументами таких ограничений.