Базы данных в информационных системах

Основной функцией любой СУБД является поддержка независимости, целостности и непротиворечивости данных в условиях коллективного использования. Независимость данных понимается как способность СУБД создавать различные представления об одних и тех же хранимых данных, остающихся инвариантными к изменениям среды функционирования БД [25]. Требуемая степень независимости данных достигается в результате введения внешнего, концептуального и внутреннего уровней определения и манипулирования данными. С внешней точки зрения база данных — это совокупность различных информационных моделей ПО, предназначенных для информационных потребностей пользователей; с концептуальной — база данных есть общая модель ПО, обеспечивающая поддержку различных прикладных систем; с внутренней — база данных рассматривается как физическое представление данных в конкретной среде, используемой для хранения информации. Являясь информационной моделью ПО, база данных обеспечивает коллективное использование информации и необходимые условия для естественной эволюции существующих приложений ИС без их разрушения.

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

В информационных системах, использующих БД, можно:

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

минимизировать объем хранимых данных путем сокращения их дублирования;

избежать противоречий в хранимых данных;

обеспечить сохранность и целостность информации:

многократно использовать одни и те же данные различными прикладными программами;

обеспечить гибкость и адаптивность структуры данных к изменяющимся информационным потребностям пользователей;

поддерживать адекватность базы данных моделируемой ПО;

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

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

1.1.4. Архитектура СУБД типа «клиент-сервер»

Традиционное представление СУБД в виде трех архитектурных уровней (внешнего, концептуального и внутреннего) характеризует ее с точки зрения структурных средств представления данных. Однако при использовании СУБД в качестве базовой инструментальной среды информационных систем важен не только структурный подход, но и технология переработки данных, которая может быть представлена в виде совокупности взаимодействующих процессов двух типов: «клиента» и «сервера».

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

Архитектура СУБД типа «клиент-сервер» описывает функционирование СУБД с точки зрения организации взаимодействия таких процессов [32]. Данный термин получил широкое распространение в связи с появлением локальных вычислительных сетей (ЛВС), когда один сервер базы данных, функционирующий на специально выбранной ПЭВМ, поддерживает работу нескольких клиентов, использующих вычислительные возможности рабочих станций. Архитектура СУБД типа «клиент-сервер» позволяет перенести технологию переработки информации, принятую при работе на больших ЭВМ, на ограниченные возможности персональных ЭВМ. При этом обеспечиваются мультидоступ к данным, поддержание целостности базы данных, управление параллельным выполнением транзакций и защита информации от несанкционированного доступа на уровне СУБД, функционирующих на больших ЭВМ. Процессы обслуживания запросов пользователей делятся между рабочей станцией и сервером базы данных илиDB-сервером. Процесс, который выполняется на DB-сервере, обслуживает все команды обращения к базе данных, а вывод информации непосредственно пользователю и инициирование связи с сервером осуществляет процесс, выполняющийся на рабочей станции.

Архитектура СУБД типа «клиент-сервер» дает возможность организовать содержательную обработку данных в интересах конечных пользователей на рабочих станциях, сосредоточив на DB-сервере все вопросы, связанные с управлением базой данных.

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

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

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

Таким образом, архитектура СУБД типа «клиент-сервер» обладает следующими достоинствами:

освобождает часть вычислительных ресурсов основной ЭВМ;

обеспечивает независимость изменения характеристик ЭВМ рабочих станций и сервера;

способствует модульному построению программного обеспечения СУБД;

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

Серверы баз данных

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

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

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

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

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

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