Автоматизированные информационные системы
Рефераты >> Программирование и компьютеры >> Автоматизированные информационные системы

К первому классу относятся СУБД, ориентированные для работы на персональном компьютере (dBASE, FoxPro, MS Access и т.п.). Изначально они поддерживали работу с данными только одного пользователя. Вся СУБД такого класса выполняется как единая программа, таблицы базы данных представляются отдельными файлами на диске того же персонального компьютера. С развитием локальных сетей разработчики СУБД этого класса стали приспосабливать их к работе в сетевой среде, в которой потенциально стало возможным организовать доступ к данным с нескольких персональных компьютеров, включенных в локальную сеть. Файлы базы данных при этом размещаются на файловом сервере. На каждом же рабочем месте работает собственная копия программы-СУБД и прикладная программа, и на их выполнение могут оказывать существенное влияние характеристики компьютера этого рабочего места. Таким образом, при наличии в сети N рабочих мест с одними и теми же данными работают N копий программы-СУБД, одними и теми же данными управляют сразу N копий СУБД. Ошибка в выполнении одной из копий не будет замечена другими копиями. При выполнении запросов к базе данных копия СУБД может либо производить поиск данных в удаленных файлах на файловом сервере, либо копировать все файлы, в которых ведется поиск в свою локальную файловую систему. В первом случае возникают проблемы одновременного доступа к данным при их изменении. Данные, над которыми производится изменения, должны быть заблокированы. Средства файлового сервера позволяют выполнять блокировку на уровне файлов, но не на уровне записей, что существенно снижает эффективность параллельной работы с базой данных многих пользователей. Во втором же случае, во-первых, требуется передача по сети больших объемов информации, а во-вторых, получается, что разные рабочие места работают с разными копиями данных и эти копии могут стать неидентичными.

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

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

Из наиболее популярных современных многопользовательских СУБД следует назвать:

· MS SQL Server фирмы Microsoft;

· Oracle фирмы Oracle;

· DB2 фирмы IBM.

В таблице приведены сравнительные характеристики этих программных средств при использовании их на персональных вычислительных платформах.

ОС+СУБД

Минимальный объем оперативной памяти (Mb)

Минимальный объем внешней памяти (Mb)

Примерная стоимость (USD)

Windows NT +MS SQL Server

20+4

150+80

895+790

SCO UNIX + Oracle 8

32+16

600+500

1500+2245x8

OS/2 Warp Server + DB2

16+2

120+10

1468+1875

Функциональные возможности названных СУБД практически одинаковы: все они обеспечивают язык SQL, как средство формулирования запросов, обеспечивают весь необходимый сервис для администрирования базы данных, работу СУБД в режиме клиент/сервер с параллельным многопользовательским доступом к данным. Следует, однако, заметить, что MS SQL Server проигрывает по сравнению с двумя другими названными СУБД в отношении эффективности выполнения при равных ресурсах. Еще одним недостатком этой СУБД следует считать то, что она работает только в среде операционной системы Windows NT, что ограничивает ее применимость только персональной платформой (пусть даже и мощными персональными серверами). Что касается DB2 и Oracle, то эти СУБД принадлежат к числу первых реляционных СУБД и, следовательно, имеют наиболее богатую историю развития и совершенствования. Именно DB2 явилась результатом того проекта корпорации IBM, в котором была сформулирована реляционная модель данных и разработан язык SQL. Обе эти СУБД являются многоплатформенными, хотя Oracle ориентирован, прежде всего, на выполнение в среде операционной системы UNIX и в UNIX-подобных системах. DB2, однако, адаптирована к большему разнообразию аппаратных и операционных сред. По эффективности две указанные СУБД конкурируют между собой с переменным успехом, но Oracle предъявляет большие требования к ресурсам при равной производительности, поэтому стоимость транзакции в DB2 получается на 15-20% ниже.

Указанные соображения позволяют нам рекомендовать в качестве СУБД продукт фирмы IBM DATABASE2 в ее нынешней редакции IBM DB2 Universal Database Server v.5 . Реализации DB2 имеются для всех платформ IBM, а также и других производителей аппаратного и программного обеспечения: HP-UX, SCO Unix, Solaris, Windows NT и пр. DB2 - универсальный сервер баз данных, в отличие от многих других СУБД поставляется как единое целое (в других СУБД, в том числе и Oracle, и MS SQL Server, имеются отдельные компоненты, которые нужно заказывать отдельно). На почти всех платформах DB2 использует один и тот же код ядра системы и выполняется идентично, что упрощает процесс изучения и миграции системы (при возникновении потребности) на более мощную платформу (RS/6000, AS/400, System/390).


Страница: