Серверные субд. Архитектура клиент-сервер. Недостатки архитектуры «файл-сервер»

Технология ODBC(Open Data Base Connectivity).

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

Локальные и централизованные базы данных. Настольные СУБД.

Лок. БД: при работе с настольн. СУБД сами БД располаг-ся на том же комп-ре, что и СУБД, осущ-е доступ к ним. Пол-ль работает с БД монопольно (в однопользовательском режиме). Такая БД наз-ся локальной. Субд ответственна за вып-е запросов и за поддерж-е целостности БД.

Центр. БД: БД, размещ-ся на одном комп-м сервере сети. С компа пол-ля запускается СУБД с сервера и в рез-те на нем созд-ся копия СУБД. По каждому запр. Пол-ля к БД все д-е пересыл-ся на его комп независимо от того, сколько их нужно реально для вып-я з-са. В рез-те на комп. Пол-ля созд. Локальная копия БД. Затем СУБД вып-т з-с. Данная арх-ра именуется файл-сервер.

Наст.: dBase, Paradox, FoxPro,Access.

1-я пром. Версия появ-сь в нач. 80-х гг. Она им. Ср-ва для: манипуляции д-ми dBase всех версий; созд. Форм, отчетов и приложений; публикации д-х в Интернете и т.д.

dbase превращ-ся в некоммерч. Продукт с доступными исх-ми текстами прогр. СУБД Paradox

Версия Paradox сод-т ср-ва: манипуляции д-ми Paradox и dbase, публикации д-х и отчетов в Интернете и созд. Web-клиентов; доступа к д-м формата Par-x из Windows-приложений и др.

FoxPro предост. Возм-сть исп-я деловой графики и др.; им. Ср-ва визуального моделирования объектов, ср-ва публикации д-х в Интернете. Тенденция разв-я этого продукту сост. В том, что из наст. СУБД превр. В ср-во разр-ки прилож-й в арх-ре клиент-сервер. Эта тенденция х-на для наиболее попул. Наст-х СУБД.

Архитектура клиент-сервер. Серверные СУБД

Наиболее эфф-но раб-т с центр. БД обесп-т арх-ра клиент-сервер. Централ-я хр-я и обр-ки д-х явл-ся базисным принципом этой арх-ры. Серверная БД – программный комп-т, обесп-й хранение больших объемов инфо, её обр-ку и предост. Пол-м в сетевом режиме. Принцип действия кл-т-сервера: на комп-клиенте прилож. Кл-т форм-т з-с к БД. Серв. СУБД обесп-т интерпретацию з-са, его вып-е, форм. Рез-та и предост. пол-лю. Клиент. Прилож. Может т-же посылать з-с на обновление БД, и сев. БД внесет необх. Изменения в БД. Преим-ва клиент-севера: ум-ся сетевой график, т.к ч-з сеть перед-ся только рез-ты з-в.

Груз файловых операций лож-ся в осн-м на сервер, кот. СП. Быстрее обслужить з-сы. Как следствие ум-ся потребн. кл. прилож. в оперативной памяти Способен хранить большое кол-во д-х Повыш-ся степень безопасности БД, т.к правило целосности д-х опр-ся в серв. СУБД Поставляются с удобными админ-ми утилитами Осущ-ся резервное копирование д-х и журналов транзакций. Подд-т неск-ко сценариев репликаций (копир-е инфо из одной БД в др.) Созд. Хранилища д-х и OLAP. Хр. д-х- сов-сть д-х, получ-х прямо или косвенно из инф-х систем, кот. Сод-т текущую деловую инфо, а т-же из вн-х источников. Им. Ср-ва разр-ки кл-х прилож-й и генераторы отчетов. Дают возм-сть исп-ть разл. Ср-ва проектирования схем д-х.

СУБД Производитель

Oracle 8i, 9i Oracle Corparation

Microsoft SQL Server Microsoft

Informix Informix

9 . Распределенные СУБД

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

Распр. СУБД- программная сист., кот обесп-т управление распр-й БД и прозрачность её распр-сти для пол-й.

Требов-я к Рабд и Расубд: локальная автономность; никакой конкр. сервис не должен возлаг-ся на какой-либо спец-но выдел-й центр. узел; непрерывность функциониров-я; независ-сть от местоположения, от фрагментации; распр. обраб-ка з-в; управление распр-ми транзакциями систем; незав-сть от оборудования, от операц-х систем, от сети, от СУБД.

Ра БД м.б. однородными и неоднор-ми: однор. Им. В своей основе одну СУБД, обычно с единсв-м языком б.д.; неоднор.- 2 или более существенно различ-ся СУБД. Формы распр-я д-х:

в одних случаях д-е фрагмент-ся, т.е дел-ся на порции, распр. м-ду мн-м физ-х ресурсов. Фр. быв. горизонтальная (деление по географ-му или др. признаку) и вертик-я (разбивание по столбцам). Независимо от вида фр. Подд-ся глоб-я схема, позвол-я воссозд из имеющ-ся фр-в логически централ. т-цу или др. стр-ру БД. Пол-ль взаим-т с РаБД поср-м транзакций.

В др. случаях д-е тиражируются. Тир.- созд. дублирующих копий (репликатов) объектов БД на разных узлах с целью повыш-я доступности и сокращения времени доступа к критически важным д-м. Репликаты- мн-во разл-х физ-х копий некот-го объекта БД, для кот-х в соответствии с опр-ми в БД правилами подд-ся синхронизация с некот-й «главной” копией.

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

10 .Разнообразные СУБД примен-ся как в коммерческих, так и некоммерческих целях. Если сбором информации заним-ся несколько родственных организаций, они могут договорится о стандарте файла данных и обмениваться ими, используя одну и туже СУБД, такую, как dBase, FoxPro, Access, Paradox. Если орган-я инициирует разработку информационной системы, то такая система будет создана на основе пакета, специально предназначенного для этих целей: Clipper, FoxPro, Clarion, Delphi. Если систему предполагается использовать в сетевом варианте, то будет использована сетевая СУБД: Orache, MS SQL, Server. Разнообразные средства СУБД обеспечивают выполнение трёх основных функций: определение данных (можно определить какие сведения могут нах-ся в вашей СУБД, их типы н-р числа или символьные и как они связаны между собой. Можно так задать форматы и условия для проверки данных.), обработка данных (данные можно обработать самыми различными способами: выбрать любые поля, фильтровать, сортировать, объединять данные со связ сними информацией и вычислять итоговые значения. Также можно отобрать некоторые данные, затем изменить, удалить, скопировать их в др таблицу или создать для них новую таблицу), управление данными (можно указать каким пользователям разрешено просмотреть, изменить, вставить данные. Также можно определить правила совместного использования данных. В сер 80-х исследователи БД стали решать вопросы, выходящие за рамки реляционной модели. В результате появились объектно – реляционные и объектно- ориентированные СУБД. В отличии от реляционных БД, берущих начало в управлении данными информационных систем, корни ООСУБД в большей степени лежат в языках программирования. А ООСУБД встроенный язык прогр-я явл-ся и языком манипулирования данными. Больш ООСУБД исп-ся в качестве встроенных языков программир-я С++, Smalltalk, Java. Существуют следующие понятия: объект, классы, наследование, инкопсулирование, расширяемость, конформизм. Главной характерной чертой ООБД явл-ся:- способность хранить информацию о разных объектах с исчерпывающим описанием взаимосвязей между ними и их динамического поведения. В них существует программа, кот-я представляет процедуру, способную производить действия над атрибутами об-та в случае наступления тех или иных событий. Благодаря указанным свойствам ООСУБД поддерживает новый класс БД с умеренно большими совокупностями записей и чрезвычайно сложным набором связей между записями. Если ООСУБД проектировались с «чистого» листа, то объектно – реляционные СУБД явл-ся модификацией реляционных СУБД- объектная ориентация.

11. Коммерческие СУБД: Gem Stone, Vbase, Jrion, PDM, IRST. dBase, FoxPro, Access, Paradox, Orache, MS SQL, Server.

12.Основные этапы разработки БД в среде MS Access:-разработка и описание структуры таблицы данных, -разработка схем данных и задание системы взаимосвязей между таблицами, - разработка системы запросов к таблицам БД и при необходимости, их интеграция в систему данных, - разработка экранных форм ввода/вывода данных, - разр-ка системы отчётов по данным. – разр-ка программных расширений для БД.- разр-ка системы защиты.

MS Access явл-ся настольной СУБД реляционного типа, которая имеет все необходимые средства для выполнения след функций: -добавлять в таблицу одну или несколько записей,- удалять из таблицы одну или несколько записей,- обновлять значения, - находить записи, удовлетворяющих заданному условию. Запрос позволяет объединять данные из нескольких таб-ц, выполнять вычисления над данными из др столбцов таблицы, добавлять, изменять, удалять записи. В форма можно отображать инфор-ю из неск-х таб-ц несколько или одну запись в виде некоторого бланка. Отчёт позволяет извлекать необходимые данные, группировать и сортировать их в нужном виде, вычислять итоговые значения по группам и в целом по всем отобранным записям. Ин может быть дополнен рисунком, диаграммами, комментариями.


©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02

1.1. Основные понятия серверов и их классификация. 2

1.2. Аппаратное обеспечение. 9

2. Базы данных. 12

2.1. Понятие базы данных (БД) 12

2.2. Понятие системы управления базами данных (СУБД) 14

2.3. Классификация СУБД.. 17

1.1 Основные понятия серверов и их классификация

Сервер (от англ. server , обслуживающий). В зависимости от предназначения существует несколько определений понятия сервер.

1. Сервер (сеть) - логический или физический узел сети, обслуживающий запросы к одному адресу и/или доменному имени (смежным доменным именам), состоящий из одного или системы аппаратных серверов, на котором выполняются один или система серверных программ

2. Сервер (программное обеспечение) - программное обеспечение принимающее запросы от клиентов (в архитектуре клиент-сервер).

3. Сервер (аппаратное обеспечение) - компьютер (или специальное компьютерное оборудование) выделенный и/или специализированный для выполнения определенных сервисных функций.

3.Сервер в информационных технологиях - программный компонент вычислительной системы, выполняющий сервисные функции по запросу клиента , предоставляя ему доступ к определённым ресурсам.

Взаимосвязь понятий. Серверное приложение (сервер) запускается на компьютере, так же называемом "сервер", при этом при рассмотрении топологии сети, такой узел называют "сервером". В общем случае может быть так, что серверное приложение запущено на обычной рабочей станции, или серверное приложение, запущенное на серверном компьютере в рамках рассматриваемой топологии выступает в роли клиента (т.е. не является сервером с точки зрения сетевой топологии).

Понятия сервер и клиент и закрепленные за ними роли образуют программную концепцию «клиент-сервер ».

Для взаимодействия с клиентом (или клиентами, если поддерживается одновременная работа с несколькими клиентами) сервер выделяет необходимые ресурсы межпроцессного взаимодействия (разделяемая память, пайп, сокет, и т. п.) и ожидает запросы на открытие соединения (или, собственно, запросы на предоставляемый сервис). В зависимости от типа такого ресурса, сервер может обслуживать процессы в пределах одной компьютерной системы или процессы на других машинах через каналы передачи данных (например COM-порт) или сетевые соединения.

Формат запросов клиента и ответов сервера определяется протоколом. Спецификации открытых протоколов описываются открытыми стандартами, например протоколы Интернета определяются в документах RFC.

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

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

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

· inetd от англ. i nternet super- server d aemon демон сервисов IP - стандартное средство UNIX-систем - программа, позволяющая писать серверы TCP/IP (и сетевых протоколов других семейств), работающие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода (stdin и stdout).

· RPC от англ. R emote P rocedure C all удаленный вызов процедур - система интеграции серверов в виде процедур доступных для вызова удаленным пользователем через унифицированный интерфейс. Интерфейс изобретенный Sun Microsystems для своей операционной системы (SunOS, Solaris; Unix-система), в настоящее время используетстся как в большинстве Unix-систем, так и в Windows.

· Прикладные клиент-серверные технологии Windows:

o (D -)COM (англ. ( D istributed) C omponent O bject M odel - модель составных объектов) и др. - Позволяет одним программам выполнять операции над объектами данных используя процедуры других программ. Изначально данная технология предназначена для их «внедрения и связывания объектов» (OLE англ. O bject L inking and E mbedding ), но, в общем, позволяет писать широкий спектр различных прикладных серверов. COM работает только в пределах одного компьютера, DCOM доступна удаленно через RPC.

o Active-X - Расширение COM и DCOM для создания мультимедиа-приложений.

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

Большинство внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).

Сетевые службы обеспечивают функционирование сети, например серверы DHCP и BOOTP обеспечивают стартовую инициализацию серверов и рабочих станций, DNS - трансляцию имен в адреса и наоборот.

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

Серверы AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа.

Информационные службы. К информационным службам можно отнести как простейшие серверы сообщающие информацию о хосте (time, daytime, motd), пользователях (finger, ident), так и серверы для мониторинга, например SNMP. Большинство информационных служб работают через универсальные серверы.

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

Файл-серверы представляют собой серверы для обеспечения доступа к файлам на диске сервера.

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

Другие серверы позволяют монтировать дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют серверы протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC.

Недостатки файл-серверной системы:

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

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

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

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

Серверы доступа к данным обслуживают базу данных и отдают данные по запросам. Один из самых простых серверов подобного типа - LDAP (англ. Lightweight Directory Access Protocol - облегчённый протокол доступа к спискам).

Для доступа к серверам баз данных единого протокола не существует, однако все серверы баз данных объединяет использование единых правил формирования запросов - язык SQL (англ. Structured Query Language - язык структурированных запросов).

Службы обмена сообщениями позволяют пользователю передавать и получать сообщения (обычно - текстовые).

В первую очередь это серверы электронной почты работающие по протоколу SMTP. SMTP-сервер принимает сообщение и доставляет его в локальный почтовый ящик пользователя или на другой SMTP-сервер (сервер назначения или промежуточный). На многопользовательских компьютерах, пользователи работают с почтой прямо на терминале (или веб-интерфейсе). Для работы с почтой на персональном компьютере, почта забирается из почтового ящика через серверы, работающие по протоколам POP3 или IMAP.

Для организации конференций существует серверы новостей, работающие по протоколу NNTP.

Для обмена сообщениями в реальном времени существуют серверы чатов, стандартный чат-сервер работает по протоколу IRC - распределенный чат для интернета. Существует большое количество других чат-протоколов, например ICQ или Jabber.

Серверы удаленного доступа

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

Для обеспечения доступа к командной строке служат серверы telnet, RSH, SSH.

Графический интерфейс для Unix-систем - X Window System, имеет встроенный сервер удаленного доступа, так как с такой возможностью разрабатывался изначально. Иногда возможность удаленного доступа к интерфейсу Х-Window неправильно называют «X-Server» (этим термином в X-Window называется видеодрайвер).

Выполнил Колпаков Анатолий

Архитектура “клиент-сервер”.

Базовый принцип - принцип централизации хранения и обработки данных.

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

Функции сервера БД:

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

хранение и резервное копирование данных,

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

протоколирование операций и ведение журнала транзакций.

Преимущества архитектуры “клиент-сервер”:

1. Снижение сетевого трафика при выполнении запросов.

2. Возможность хранения бизнесправил

3. Снижение требований к рабочим станциям.

Сервисы серверных СУБД:

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

Параллельная обработка данных в многопроцессорных системах

Поддержка OLAP и создания хранилищ данных Распределенные запросы и транзакции Средства проектирования данных

Поддержка собственных и “чужих” средств разработки и генераторов отчетов

Поддержка доступа к данным с помощью Internet

Наиболее популярные серверных СУБД:

Sybase

Informix

DB2

Oracle

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

Microsoft

Первая версия Microsoft SQL Server, совместно разработанная в 1988 году компаниями Microsoft и Sybase, предназначалась для платформы OS/2. Последующие версии этого сервера баз данных предназначались для платформы Windows NT и со временем были тесно интегрированы с этой операционной системой. Для других платформ версии этого сервера не выпускались и не выпускаются.

Sybase Серверные продукты компании Sybase происходят от двух “предков”. Первым из них является одна из ранних версий Microsoft SQL Server, созданная совместно Microsoft и Sybase. Результатом деятельности компании Sybase в этом направлении является продукт под названием Adaptive Server Enterprise.

Еще одна линия серверных продуктов Sybase ведет свое начало от сервера баз данных Watcom SQL Anywhere, отличавшегося компактностью и простотой администрирования Последняя версия этого продукта называется Adaptive Server Anywhere 6.03.

Informix

Ведущий продукт фирмы Informix - Informix Dynamic Server, последняя версия которого называется Informix Dynamic Server 2000 (выпущена в сентябре 1999 года). Данный продукт поддерживает платформы UNIX и Microsoft Windows NT и обеспечивает эффективную работу как на одно-, так и на многопроцессорных системах, а также в кластерах. Сервер построен по архитектуре Dynamic Scalable Architecture (DSA), обеспечивающей мощные средства для параллельной обработки данных.

Представим, что в ваше распоряжение попала какая-либо база данных. Она содержит очень полезные, для вас или кого-то ещё, сведения. Однако вы ничего не сможете с ней сделать!
Можно попытаться открыть её текстовым редактором и извлечь часть данных. Но это будет лишь набор данных в непонятном для вас порядке. Ещё меньше пользы вы получите из БД, если она будет зашифрована. Отсюда возникает вопрос - с помощью чего была создана структура базы данных, и как потом с ней работать?

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


Дадим определение системы управления базами данных.

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

Современная СУБД состоит из:

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

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

Основными функциями СУБД являются

  • Управление данными, хранящимися во внешней памяти
  • Управление данными, загруженными в оперативную память с использованием дискового кэша
  • Журнализация событий и изменений, резервное копирование и восстановление БД после сбоев
  • поддержка языков обращения с БД (язык определения данных, язык манипулирования данными).

Кстати, по этой теме вы можете скачать презентацию в PowerPoint.

Классификации СУБД

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

СУБД по модели данных бывают:

  • Иерархические СУБД
  • Сетевые СУБД
  • Реляционные СУБД
  • Объектно-ориентированные СУБД
  • Объектно-реляционные СУБД

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

СУБД по степени распределённости

  • Локальные (СУБД размещается только на одном компьютере)
  • Распределённые (части СУБД могут размещаться на 2-х и более компьютерах).
Наверняка, вам будет полезным тест по СУБД, который есть на нашем проекте.

По способу доступа к БД

Файл-серверные СУБД

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


Плюсом этой архитектуры можно назвать низкую нагрузку на файловый сервер.


К минусам же: высокая загрузка трафиком локальной сети; сложность или невозможность централизованного управления; нельзя обеспечить такие важные характеристики как надёжность, доступность и безопасность. Файл-серверные СУБД используют в локальных приложениях; в системах с малой интенсивностью обработки данных и небольшими пиковыми нагрузками на базу данных.


Сейчас её при создании крупной информационной системы не используют.


Примеры файл-серверных СУБД:

  • dBase,
  • FoxPro,
  • Microsoft Access,
  • Paradox,
  • Visual FoxPro.
Клиент-серверные СУБД

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


Недостатком такого типа СУБД можно назвать повышенные требования к серверу.


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


Примеры клиент-серверных СУБД:

  • Caché,
  • Firebird,
  • IBM DB2,
  • Informix,
  • Interbase,
  • MS SQL Server,
  • MySQL, Oracle,
  • PostgreSQL,
  • Sybase Adaptive Server Enterprise,
  • ЛИНТЕР.
Встраиваемые СУБД

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


Примеры встраиваемых СУБД:

  • Firebird Embedded,
  • BerkeleyDB,
  • Microsoft SQL Server Compact,
  • OpenEdge,
  • SQLite,
  • ЛИНТЕР.

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

Настольные СУБД

Краткий обзор СУБД

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

К ним относятся dBase III – PLUS (фирма Achton-Tate), Clipper (фирма Nantucket Inc.), FoxPro (фирма Fox Software), FoxBase+ (фирма Fox Software), Visual FoxPro (фирма Microsoft), СУБД PARADOX (фирма Borland International), Microsoft Access (фирма Microsoft).

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

Основными производителями таких систем обработки и хранения данных являются 3 корпорации: Oracle, Microsoft и IBM. Диаграмма соотношения объемов продаж соответствующих систем (источник: IDC Report, Май 2006) приводится на рис. 3.4.

Рис. Продажи ПО систем хранения данных в мире

Наиболее распространенными клиент-серверными системами здесь соответственно являются системы Oracle (разработчик компания Oracle), MS SQL Server (разработчик компания Microsoft), DB2 , Informix Dynamic Server (компания IBM).

Архитектура "файл-сервер" Работа построена следующим образом :

База данных в виде набора файлов находится на жестком диске специально выделœенного компьютера (файлового сервера).

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

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

· Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя всœе сведения о физической структуре БД, расположенной на файловом сервере.

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

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

· Результат СУБД возвращает в приложение.

Архитектура "клиент – сервер". Итак, в результате работа построена следующим образом:

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

· На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к СУБД, расположенной на сервере, на выборку/обновление информации. Для общения используется специальный язык запросов SQL, ᴛ.ᴇ. по сети от клиента к серверу передается лишь текст запроса.

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

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Рассмотрим, как выглядит разграничение функций между сервером и клиентом.

· Функции приложения-клиента:

o Посылка запросов серверу.

o Интерпретация результатов запросов, полученных от сервера.

o Представление результатов пользователю в некоторой форме (интерфейс пользователя).

· Функции серверной части:

o Прием запросов от приложений-клиентов.

o Интерпретация запросов.

o Оптимизация и выполнение запросов к БД.

o Отправка результатов приложению-клиенту.

o Обеспечение системы безопасности и разграничение доступа.

o Управление целостностью БД.

o Реализация стабильности многопользовательского режима работы.

Трехзвенная (многозвенная) архитектура "клиент – сервер". в результате работа построена следующим образом:

· База данных в виде набора файлов находится на жестком диске специально выделœенного компьютера (сервера сети).

· СУБД располагается также на сервере сети.

· Существует специально выделœенный сервер приложений, на котором располагается программное обеспечение (ПО) делового анализа (бизнес-логика) .

· Существует множество клиентских компьютеров, на каждом из которых установлен так называемый "тонкий клиент" – клиентское приложение, реализующее интерфейс пользователя.

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

· Сервер приложений анализирует требования пользователя и формирует запросы к БД. Для общения используется специальный язык запросов SQL, ᴛ.ᴇ. по сети от сервера приложений к серверу БД передается лишь текст запроса.

· СУБД инкапсулирует внутри себя всœе сведения о физической структуре БД, расположенной на сервере.

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

· Сервер приложений возвращает результат в клиентское приложение (пользователю).

· Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.